use of org.talend.mdm.repository.core.datacontent.IDataContentProcess in project tmdm-studio-se by Talend.
the class ExportDataClusterAction method doRun.
@Override
protected void doRun() {
List<Object> selectedObject = getSelectedObject();
if (!selectedObject.isEmpty()) {
IRepositoryViewObject viewObj = (IRepositoryViewObject) selectedObject.get(0);
SelectServerDefDialog dialog = new SelectServerDefDialog(getShell());
if (dialog.open() == IDialogConstants.OK_ID) {
MDMServerDef serverDef = dialog.getSelectedServerDef();
MDMServerObjectItem item = (MDMServerObjectItem) viewObj.getProperty().getItem();
String dName = item.getMDMServerObject().getName();
try {
FileDialog fd = new FileDialog(getShell(), SWT.SAVE);
// $NON-NLS-1$
fd.setFilterExtensions(new String[] { "*.zip" });
String fPath = fd.open();
if (fPath != null) {
TMDMService service = RepositoryWebServiceAdapter.getMDMService(serverDef);
service.ping(new WSPing(Messages.ExportDataClusterAction_exportContent));
DataClusterService dataClusterService = DataClusterService.getIntance();
if (dataClusterService.isExistDataCluster(service, dName)) {
File tempFolder = IOUtil.getTempFolder();
String tempFolderPath = tempFolder.getAbsolutePath();
dataClusterService.storeIndexFile(tempFolderPath, dName);
//
IDataContentProcess process = dataClusterService.getNewExportContentProcess(service, tempFolderPath, dName, fPath);
try {
process.run();
} catch (InterruptedException e) {
// do nothing
return;
}
MultiStatus status = process.getResult();
if (status != null && status.getChildren().length > 0) {
MessageDialog.openError(getShell(), Messages._Error, Messages.bind(Messages.ExportDataClusterAction_failedExportContent, dName));
} else {
MessageDialog.openInformation(getShell(), Messages.ExportDataClusterAction_exportContent, Messages.bind(Messages.ExportDataClusterAction_successExport, dName));
}
} else {
MessageDialog.openInformation(getShell(), Messages.Common_Warning, Messages.bind(Messages.ExportDataClusterAction_noContainerFound, dName));
}
}
} catch (XtentisException e) {
log.error(e.getMessage(), e);
} catch (WebServiceException e) {
MessageDialog.openError(getShell(), Messages.ExportDataClusterAction_exportContent, Messages.AbstractDataClusterAction_ConnectFailed);
}
}
}
}
use of org.talend.mdm.repository.core.datacontent.IDataContentProcess in project tmdm-studio-se by Talend.
the class ImportDataClusterAction method doRun.
@Override
protected void doRun() {
FileDialog fd = new FileDialog(getShell(), SWT.OPEN);
// $NON-NLS-1$
fd.setFilterExtensions(new String[] { "*.zip" });
String fPath = fd.open();
if (fPath != null) {
DataClusterService dataClusterService = DataClusterService.getIntance();
File tempFolder = IOUtil.getTempFolder();
String tempFolderPath = tempFolder.getAbsolutePath();
dataClusterService.unZipFile(fPath, tempFolderPath);
String dName = dataClusterService.loadIndexFile(tempFolderPath);
if (dName == null) {
MessageDialog.openError(getShell(), Messages.Common_Error, Messages.ImportDataClusterAction_errorFormat);
return;
}
tempFolderPath += File.separator + dName;
//
SelectServerDefDialog dialog = new SelectServerDefDialog(getShell());
if (dialog.open() == IDialogConstants.OK_ID) {
MDMServerDef serverDef = dialog.getSelectedServerDef();
try {
TMDMService service = RepositoryWebServiceAdapter.getMDMService(serverDef);
service.ping(new WSPing(Messages.ImportDataClusterAction_importTitle));
if (!dataClusterService.isExistDataCluster(service, dName)) {
if (MessageDialog.openQuestion(getShell(), Messages.ImportDataClusterAction_createDataClusterTitle, Messages.bind(Messages.ImportDataClusterAction_createConfirm, dName))) {
dataClusterService.createDataCluster(service, dName);
} else {
return;
}
}
IDataContentProcess process = dataClusterService.getNewImportContentProcess(serverDef, dName, tempFolderPath);
try {
process.run();
} catch (InterruptedException e) {
// do nothing
return;
}
MultiStatus multiStatus = process.getResult();
if (multiStatus != null && multiStatus.getChildren().length > 0) {
MultiStatusDialog statusDialog = new MultiStatusDialog(getShell(), multiStatus.getMessage(), multiStatus);
statusDialog.open();
} else {
// show success info
MessageDialog.openInformation(getShell(), Messages.ImportDataClusterAction_importTitle, Messages.bind(Messages.ImportDataClusterAction_successImport, dName));
}
} catch (XtentisException e) {
log.error(e.getMessage(), e);
} catch (WebServiceException e) {
MessageDialog.openError(getShell(), Messages.ImportDataClusterAction_importTitle, Messages.AbstractDataClusterAction_ConnectFailed);
} finally {
IOUtil.cleanFolder(tempFolder);
}
}
}
}
Aggregations