Search in sources :

Example 1 with DataClusterService

use of org.talend.mdm.repository.core.service.DataClusterService 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);
            }
        }
    }
}
Also used : WSPing(com.amalto.workbench.webservices.WSPing) DataClusterService(org.talend.mdm.repository.core.service.DataClusterService) WebServiceException(javax.xml.ws.WebServiceException) MDMServerObjectItem(org.talend.mdm.repository.model.mdmproperties.MDMServerObjectItem) IDataContentProcess(org.talend.mdm.repository.core.datacontent.IDataContentProcess) MultiStatus(org.eclipse.core.runtime.MultiStatus) TMDMService(com.amalto.workbench.webservices.TMDMService) IRepositoryViewObject(org.talend.core.model.repository.IRepositoryViewObject) SelectServerDefDialog(org.talend.mdm.workbench.serverexplorer.ui.dialogs.SelectServerDefDialog) IRepositoryViewObject(org.talend.core.model.repository.IRepositoryViewObject) FileDialog(org.eclipse.swt.widgets.FileDialog) File(java.io.File) MDMServerDef(org.talend.mdm.repository.model.mdmmetadata.MDMServerDef) XtentisException(com.amalto.workbench.utils.XtentisException)

Example 2 with DataClusterService

use of org.talend.mdm.repository.core.service.DataClusterService 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);
            }
        }
    }
}
Also used : WSPing(com.amalto.workbench.webservices.WSPing) DataClusterService(org.talend.mdm.repository.core.service.DataClusterService) WebServiceException(javax.xml.ws.WebServiceException) IDataContentProcess(org.talend.mdm.repository.core.datacontent.IDataContentProcess) MultiStatusDialog(org.talend.mdm.repository.ui.dialogs.message.MultiStatusDialog) MultiStatus(org.eclipse.core.runtime.MultiStatus) TMDMService(com.amalto.workbench.webservices.TMDMService) SelectServerDefDialog(org.talend.mdm.workbench.serverexplorer.ui.dialogs.SelectServerDefDialog) FileDialog(org.eclipse.swt.widgets.FileDialog) File(java.io.File) MDMServerDef(org.talend.mdm.repository.model.mdmmetadata.MDMServerDef) XtentisException(com.amalto.workbench.utils.XtentisException)

Aggregations

XtentisException (com.amalto.workbench.utils.XtentisException)2 TMDMService (com.amalto.workbench.webservices.TMDMService)2 WSPing (com.amalto.workbench.webservices.WSPing)2 File (java.io.File)2 WebServiceException (javax.xml.ws.WebServiceException)2 MultiStatus (org.eclipse.core.runtime.MultiStatus)2 FileDialog (org.eclipse.swt.widgets.FileDialog)2 IDataContentProcess (org.talend.mdm.repository.core.datacontent.IDataContentProcess)2 DataClusterService (org.talend.mdm.repository.core.service.DataClusterService)2 MDMServerDef (org.talend.mdm.repository.model.mdmmetadata.MDMServerDef)2 SelectServerDefDialog (org.talend.mdm.workbench.serverexplorer.ui.dialogs.SelectServerDefDialog)2 IRepositoryViewObject (org.talend.core.model.repository.IRepositoryViewObject)1 MDMServerObjectItem (org.talend.mdm.repository.model.mdmproperties.MDMServerObjectItem)1 MultiStatusDialog (org.talend.mdm.repository.ui.dialogs.message.MultiStatusDialog)1