use of net.heartsome.cat.common.bean.DatabaseModelBean in project translationstudio8 by heartsome.
the class TermDbManagerDialog method updateServer.
/**
* 更新当前操作的服务器配置信息到配置文件中
* @param currServer
* 需要处理的服务器配置信息
* @param currDbTypeServers
* 当前数据库类型下的所有服务器,用于显示在界面上;
*/
private void updateServer(DatabaseModelBean currServer, List<DatabaseModelBean> currDbTypeServers) {
MetaData metaDataWithCheck = dbMetaDataMap.get(currServer.getDbType());
DatabaseModelBean hasChanged = configIsChanged(currDbTypeServers, currServer, metaDataWithCheck);
if (hasChanged != null) {
currServer.copyToOtherIntance(hasChanged);
configer.updateServerConfigById(hasChanged.getId(), hasChanged);
}
setLastSelectedServer(currServer.getId());
}
use of net.heartsome.cat.common.bean.DatabaseModelBean in project translationstudio8 by heartsome.
the class TermDbManagerDialog method createPageContainer.
/**
* 创建右侧页面内容
* @param parent
* 页面容器
* @return ;
*/
protected Composite createPageContainer(Composite parent) {
Composite outer = new Composite(parent, SWT.NONE);
GridData outerData = new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL);
outerData.horizontalIndent = IDialogConstants.HORIZONTAL_MARGIN;
outer.setLayout(new GridLayout());
outer.setLayoutData(outerData);
// Create an outer composite for spacing
ScrolledComposite scrolled = new ScrolledComposite(outer, SWT.V_SCROLL | SWT.H_SCROLL);
// always show the focus control
scrolled.setShowFocusedControl(true);
scrolled.setExpandHorizontal(true);
scrolled.setExpandVertical(true);
scrolled.setLayoutData(new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL));
GridLayout gld = new GridLayout(1, false);
gld.marginWidth = 0;
gld.marginHeight = 0;
scrolled.setLayout(gld);
Composite result = new Composite(scrolled, SWT.NONE);
GridData resultData = new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL);
result.setLayoutData(resultData);
GridLayout gl_result = new GridLayout(1, false);
gl_result.marginWidth = 0;
gl_result.marginHeight = 0;
result.setLayout(gl_result);
Group parameterGroup = new Group(result, SWT.NONE);
parameterGroup.setText(Messages.getString("dialog.TermDbManagerDialog.parameterGroup"));
GridLayout parameterLayout = new GridLayout(4, false);
parameterGroup.setLayout(parameterLayout);
GridData parameterGridData = new GridData(GridData.FILL_HORIZONTAL);
parameterGroup.setLayoutData(parameterGridData);
Label label = new Label(parameterGroup, SWT.RIGHT);
label.setText(Messages.getString("dialog.TermDbManagerDialog.lblHost"));
GridDataFactory.swtDefaults().align(SWT.RIGHT, SWT.CENTER).applyTo(label);
hostText = new Text(parameterGroup, SWT.BORDER);
hostText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
label = new Label(parameterGroup, SWT.RIGHT);
label.setText(Messages.getString("dialog.TermDbManagerDialog.lblPort"));
GridDataFactory.swtDefaults().align(SWT.RIGHT, SWT.CENTER).applyTo(label);
portText = new Text(parameterGroup, SWT.BORDER);
label = new Label(parameterGroup, SWT.RIGHT);
label.setText(Messages.getString("dialog.TermDbManagerDialog.lblInstance"));
GridDataFactory.swtDefaults().align(SWT.RIGHT, SWT.CENTER).applyTo(label);
instanceText = new Text(parameterGroup, SWT.BORDER);
instanceText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
new Label(parameterGroup, SWT.NONE);
new Label(parameterGroup, SWT.NONE);
label = new Label(parameterGroup, SWT.RIGHT);
label.setText(Messages.getString("dialog.TermDbManagerDialog.lblLocation"));
GridDataFactory.swtDefaults().align(SWT.RIGHT, SWT.CENTER).applyTo(label);
locationText = new Text(parameterGroup, SWT.BORDER);
locationText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
borwserBtn = new Button(parameterGroup, SWT.NONE);
borwserBtn.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, false, 2, 1));
borwserBtn.setText(Messages.getString("dialog.TermDbManagerDialog.borwserBtn"));
borwserBtn.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent event) {
DirectoryDialog dlg = new DirectoryDialog(getShell());
String path = dlg.open();
if (path != null) {
locationText.setText(path);
}
}
});
label = new Label(parameterGroup, SWT.RIGHT);
label.setText(Messages.getString("dialog.TermDbManagerDialog.lblUsername"));
GridDataFactory.swtDefaults().align(SWT.RIGHT, SWT.CENTER).applyTo(label);
usernameText = new Text(parameterGroup, SWT.BORDER);
usernameText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
label = new Label(parameterGroup, SWT.RIGHT);
label.setText(Messages.getString("dialog.TermDbManagerDialog.lblPwd"));
GridDataFactory.swtDefaults().align(SWT.RIGHT, SWT.CENTER).applyTo(label);
passwordText = new Text(parameterGroup, SWT.BORDER | SWT.PASSWORD);
passwordText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
Composite btnComposite = new Composite(parameterGroup, SWT.NONE);
btnComposite.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 4, 1));
GridLayout btnCompositeLayout = new GridLayout(1, false);
btnCompositeLayout.marginHeight = 0;
btnCompositeLayout.marginWidth = 0;
btnComposite.setLayout(btnCompositeLayout);
// remenmberBtn = new Button(btnComposite, SWT.CHECK|SWT.BORDER);
// remenmberBtn.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1));
// remenmberBtn.setText("将本次连接信息添加到数据库类型的快捷连接方式(&R)");
// remenmberBtn.setSelection(true);
searchBtn = new Button(btnComposite, SWT.NONE);
searchBtn.setText(Messages.getString("dialog.TermDbManagerDialog.searchBtn"));
searchBtn.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
BusyIndicator.showWhile(getShell().getDisplay(), new Runnable() {
public void run() {
// 输入合法性检查
IStatus status = validator();
if (status.getSeverity() != IStatus.OK) {
MessageDialog.openInformation(getShell(), Messages.getString("dialog.TermDbManagerDialog.msgTitle"), status.getMessage());
return;
}
SystemDBOperator sysDbOp = getCurrSysDbOp();
if (sysDbOp == null) {
return;
}
// 连接检查
if (!sysDbOp.checkDbConnection()) {
MessageDialog.openInformation(getShell(), Messages.getString("dialog.TermDbManagerDialog.msgTitle"), Messages.getString("dialog.TermDbManagerDialog.msg1"));
return;
}
// if (remenmberBtn.getSelection() == true) {
// 当前数据库类型下的所有服务器
List<DatabaseModelBean> currDbTypeServers = treeInputMap.get(getCurrDbType());
if (currServer.getId().equals("")) {
addServerWithExistCheck(currServer, currDbTypeServers);
getTreeViewer().refresh();
// 在树上选择当前操作的节点
selectSaveItem();
}
// ISelection selection = getTreeViewer().getSelection();
// if (selection.isEmpty()) {
// return;
// }
// } else { // 不记住信息
executeSearch(sysDbOp);
// }
}
});
}
});
Group tableComposite = new Group(result, SWT.NONE);
tableComposite.setText(Messages.getString("dialog.TermDbManagerDialog.tableComposite"));
tableComposite.setLayout(new GridLayout(1, false));
tableComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
dbTableViewer = new TableViewer(tableComposite, SWT.BORDER | SWT.FULL_SELECTION | SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL);
Table table = dbTableViewer.getTable();
table.setLinesVisible(true);
table.setHeaderVisible(true);
GridData tableGd = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1);
tableGd.heightHint = 180;
table.setLayoutData(tableGd);
createColumn(dbTableViewer);
if (getDialogUseFor() == TYPE_DBSELECTED) {
dbTableViewer.addDoubleClickListener(new IDoubleClickListener() {
public void doubleClick(DoubleClickEvent event) {
okPressed();
}
});
}
dbTableViewer.setContentProvider(new ArrayContentProvider());
currServerdbListInput = new WritableList(currServerdbList, DatabaseManagerDbListBean.class);
dbTableViewer.setInput(currServerdbListInput);
Composite composite = new Composite(tableComposite, SWT.NONE);
GridLayout gl_composite = new GridLayout(3, false);
gl_composite.marginHeight = 0;
gl_composite.marginWidth = 0;
composite.setLayout(gl_composite);
composite.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
Button btnc = new Button(composite, SWT.NONE);
btnc.setText(Messages.getString("dialog.TermDbManagerDialog.btnc"));
btnc.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
createNewDatabase();
}
});
Button btnd_1 = new Button(composite, SWT.NONE);
btnd_1.setText(Messages.getString("dialog.TermDbManagerDialog.btnd_1"));
btnd_1.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
BusyIndicator.showWhile(getShell().getDisplay(), new Runnable() {
public void run() {
ISelection selection = getDbTableViewer().getSelection();
if (selection.isEmpty()) {
return;
}
if (MessageDialog.openConfirm(getShell(), Messages.getString("dialog.TermDbManagerDialog.msgTitle"), Messages.getString("dialog.TermDbManagerDialog.msg2"))) {
IStructuredSelection structuredSelection = (IStructuredSelection) selection;
@SuppressWarnings("unchecked") List<DatabaseManagerDbListBean> needDeletes = structuredSelection.toList();
SystemDBOperator dbop = getCurrSysDbOp();
for (int i = 0; i < needDeletes.size(); i++) {
try {
String dbName = needDeletes.get(i).getDbName();
dbop.dropDb(dbName);
dbop.removeSysDb(dbName);
} catch (Exception e1) {
logger.error(Messages.getString("dialog.TermDbManagerDialog.logger1"), e1);
MessageDialog.openError(getShell(), Messages.getString("dialog.TermDbManagerDialog.msgTitle"), Messages.getString("dialog.TermDbManagerDialog.msg3") + e1.getMessage());
break;
}
currServerdbListInput.remove(needDeletes.get(i));
}
}
}
});
}
});
Button importBtn = new Button(composite, SWT.NONE);
importBtn.setText(Messages.getString("dialog.TermDbManagerDialog.importBtn"));
importBtn.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
ISelection selection = getDbTableViewer().getSelection();
if (selection.isEmpty()) {
MessageDialog.openInformation(getShell(), Messages.getString("dialog.TermDbManagerDialog.msgTitle"), Messages.getString("dialog.TermDbManagerDialog.msg4"));
return;
}
IStructuredSelection stcSel = (IStructuredSelection) selection;
DatabaseManagerDbListBean dbBean = (DatabaseManagerDbListBean) stcSel.getFirstElement();
DatabaseModelBean dbModelBean = new DatabaseModelBean();
currServer.copyToOtherIntance(dbModelBean);
dbModelBean.setDbName(dbBean.getDbName());
TbxImportWizard wizard = new TbxImportWizard(dbModelBean);
TermDbManagerImportWizardDialog dlg = new TermDbManagerImportWizardDialog(getShell(), wizard);
if (dlg.open() == 0) {
// 重新加载内容
executeSearch(getCurrSysDbOp());
}
}
});
Point searchPoint = searchBtn.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
Point createPoint = btnc.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
Point remPoint = btnd_1.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
Point importPoint = importBtn.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
int width = Math.max(importPoint.x, Math.max(remPoint.x, Math.max(searchPoint.x, createPoint.x)));
GridData btnData = new GridData();
btnData.widthHint = width + 10;
btnc.setLayoutData(btnData);
btnd_1.setLayoutData(btnData);
importBtn.setLayoutData(btnData);
searchBtn.getLayoutData();
GridData searchData = new GridData(SWT.RIGHT, SWT.CENTER, true, true, 4, 1);
searchData.widthHint = width + 10;
searchBtn.setLayoutData(searchData);
scrolled.setContent(result);
scrolled.setMinSize(getShell().computeSize(SWT.DEFAULT, SWT.DEFAULT));
return result;
}
use of net.heartsome.cat.common.bean.DatabaseModelBean in project translationstudio8 by heartsome.
the class TermDbManagerDialog method selectSaveItem.
/**
* 选择当前选中的内容 ;
*/
private void selectSaveItem() {
if (getCurrDbType() != null) {
boolean expanded = getTreeViewer().getExpandedState(getCurrDbType());
if (!expanded) {
getTreeViewer().setExpandedState(getCurrDbType(), !expanded);
}
DatabaseModelBean lastSelectItem = findServerBean(getCurrDbType(), getLastSelectedServer());
if (lastSelectItem != null) {
getTreeViewer().setSelection(new StructuredSelection(lastSelectItem), true);
getTreeViewer().getControl().setFocus();
} else {
getTreeViewer().setSelection(new StructuredSelection(getCurrDbType()), true);
getTreeViewer().getControl().setFocus();
}
}
}
use of net.heartsome.cat.common.bean.DatabaseModelBean in project translationstudio8 by heartsome.
the class TermDbManagerDialog method addListeners.
/**
* Add Selection Listener to tree viewer
* @param viewer
* ;
*/
private void addListeners(final TreeViewer viewer) {
// 选择事件
viewer.addPostSelectionChangedListener(new ISelectionChangedListener() {
public void selectionChanged(SelectionChangedEvent event) {
ISelection selection = event.getSelection();
if (selection.isEmpty()) {
return;
}
IStructuredSelection structuredSelection = (IStructuredSelection) selection;
Object obj = structuredSelection.getFirstElement();
if (obj instanceof DatabaseModelBean) {
DatabaseModelBean bean = (DatabaseModelBean) obj;
setCurrDbType(bean.getDbType());
bean.copyToOtherIntance(currServer);
SystemDBOperator dbop = getCurrSysDbOp();
if (dbop != null) {
executeSearch(dbop);
}
// 当数据库类型发生改变时重新初始化界面
initUI(false);
} else if (obj instanceof String) {
setCurrDbType((String) obj);
resetInputValue();
currServerdbListInput.clear();
initUI(true);
}
}
});
// 双击展开事件
((Tree) viewer.getControl()).addSelectionListener(new SelectionAdapter() {
public void widgetDefaultSelected(final SelectionEvent event) {
ISelection selection = viewer.getSelection();
if (selection.isEmpty()) {
return;
}
IStructuredSelection structuredSelection = (IStructuredSelection) selection;
Object obj = structuredSelection.getFirstElement();
if (obj instanceof String) {
String type = (String) obj;
boolean expanded = viewer.getExpandedState(type);
viewer.setExpandedState(type, !expanded);
}
}
});
// 右键菜单事件,判断何时出现右键菜单
viewer.getControl().addMenuDetectListener(new MenuDetectListener() {
public void menuDetected(MenuDetectEvent e) {
ISelection selection = viewer.getSelection();
if (selection.isEmpty()) {
return;
}
IStructuredSelection structuredSelection = (IStructuredSelection) selection;
Object obj = structuredSelection.getFirstElement();
Tree tree = treeViewer.getTree();
if (obj instanceof DatabaseModelBean) {
// 将菜单挂到树上
tree.setMenu(treePopMenu);
} else {
tree.setMenu(null);
}
}
});
}
use of net.heartsome.cat.common.bean.DatabaseModelBean in project translationstudio8 by heartsome.
the class ConcordanceSearchDialog method initGroupIdAndSearch.
public void initGroupIdAndSearch() {
updateHistory(cmbSearch, lstSearchHistory);
updateHistory(cmbFilter, lstFilterHistory);
String searchText = cmbSearch.getText();
if (searchText == null || searchText.trim().equals("")) {
txtPage.setText("");
MessageDialog.openInformation(getShell(), Messages.getString("dialog.ConcordanceSearchDialog.msgTitle"), Messages.getString("dialog.ConcordanceSearchDialog.msg2"));
return;
}
StringBuffer searchTextBf = new StringBuffer(searchText);
TreeMap<String, InnerTagBean> tags = InnerTagUtil.parseXmlToDisplayValue(searchTextBf, TagStyle.getDefault(false));
searchText = InnerTagUtil.resolveTag(searchTextBf.toString());
searchText = InnerTagUtil.escapeTag(searchText);
searchText = InnerTagUtil.parseDisplayToXmlValue(tags, searchText);
clearTable();
mapGroupId.clear();
curPageNum = 1;
String[] arrFilter = null;
String strFilter = cmbFilter.getText();
if (cmpExpandableFilter.isExpanded() && strFilter != null && !strFilter.equals("")) {
String srcOrTgt = (String) cmbSrcOrTgt.getData(cmbSrcOrTgt.getText());
String contain = (String) cmbContain.getData(cmbContain.getText());
arrFilter = new String[] { srcOrTgt, contain, strFilter };
}
ArrayList<String> lstSelLangs = new ArrayList<String>();
for (MenuItem item : menu.getItems()) {
if (item.getSelection()) {
lstSelLangs.add(item.getText());
}
}
List<MetaData> lstMetaData = new ArrayList<MetaData>();
if (cmbDatabase.getSelectionIndex() == 0) {
for (DatabaseModelBean model : lstDatabase) {
lstMetaData.add(model.toDbMetaData());
}
} else {
DatabaseModelBean model = lstDatabase.get(cmbDatabase.getSelectionIndex() - 1);
MetaData metaData = model.toDbMetaData();
lstMetaData.add(metaData);
}
size = 0;
for (MetaData metaData : lstMetaData) {
DBOperator dbOp = DatabaseService.getDBOperator(metaData);
if (null == dbOp) {
continue;
}
try {
dbOp.start();
ArrayList<Integer> lstGroupId = dbOp.getConcordanceGroupId(searchText, btnIsCaseSensitive.getSelection(), btnApplyRegularExpression.getSelection(), btnIsIgnoreMark.getSelection(), strSrcLang, arrFilter, lstSelLangs);
if (lstGroupId.size() != 0) {
mapGroupId.put(metaData, lstGroupId);
}
size += lstGroupId.size();
} catch (SQLException e1) {
LOGGER.error(Messages.getString("dialog.ConcordanceSearchDialog.logger2"), e1);
} catch (ClassNotFoundException e1) {
LOGGER.error(Messages.getString("dialog.ConcordanceSearchDialog.logger3"), e1);
} finally {
try {
if (dbOp != null) {
dbOp.end();
}
} catch (SQLException e) {
LOGGER.error("", e);
}
}
}
if (size == 0) {
clearTable();
txtPage.setText("");
MessageDialog.openInformation(getShell(), Messages.getString("dialog.ConcordanceSearchDialog.msgTitle"), Messages.getString("dialog.ConcordanceSearchDialog.msg1"));
return;
}
amountPage = size / rowNumPerPage;
if (size % rowNumPerPage != 0) {
amountPage += 1;
}
if (search()) {
refreshPageNumText();
}
}
Aggregations