Search in sources :

Example 6 with CustomAttributeVO

use of com.centurylink.mdw.model.value.attribute.CustomAttributeVO in project mdw-designer by CenturyLinkCloud.

the class DesignerDataAccess method exportPackages.

public String exportPackages(List<PackageVO> packages, int schemaVersion, boolean exportJson, boolean includeTaskTemplates, ProgressMonitor monitor) throws DataAccessException, ActionCancelledException, JSONException, XmlException {
    if (monitor != null)
        monitor.subTask("Loading package(s)...");
    List<PackageVO> loadedPackages = new ArrayList<>();
    for (PackageVO pkg : packages) {
        if (monitor != null)
            monitor.subTask("Loading " + pkg.getLabel() + "...");
        PackageVO packageVO = loadPackage(pkg.getId(), true);
        if (monitor != null)
            monitor.progress(30 / packages.size());
        if (monitor != null) {
            if (monitor.isCanceled())
                throw new ActionCancelledException();
            else
                monitor.subTask("Sorting processes and implementors");
        }
        if (packageVO.getRuleSets() != null) {
            Map<String, CustomAttributeVO> customAttrs = new HashMap<>();
            for (RuleSetVO ruleSet : packageVO.getRuleSets()) {
                if (ruleSet.getLanguage() != null && !customAttrs.containsKey(ruleSet.getLanguage())) {
                    CustomAttributeVO custAttrVO = getCustomAttribute("RULE_SET", ruleSet.getLanguage());
                    if (custAttrVO != null)
                        customAttrs.put(ruleSet.getLanguage(), custAttrVO);
                }
            }
            List<CustomAttributeVO> customAttributes = new ArrayList<>();
            for (CustomAttributeVO customAttr : customAttrs.values()) customAttributes.add(customAttr);
            packageVO.setCustomAttributes(customAttributes);
        }
        loadedPackages.add(packageVO);
    }
    if (monitor != null && monitor.isCanceled())
        throw new ActionCancelledException();
    if (monitor != null)
        monitor.progress(5);
    if (monitor != null)
        monitor.subTask(EXPORTXML);
    String export;
    if (exportJson) {
        ImporterExporterJson exporter = new ImporterExporterJson();
        export = exporter.exportPackages(loadedPackages);
    } else {
        ProcessExporter exporter = DataAccess.getProcessExporter(schemaVersion, oldNamespaces ? DesignerCompatibility.getInstance() : null);
        export = exporter.exportPackages(loadedPackages, includeTaskTemplates);
    }
    if (monitor != null)
        monitor.progress(25);
    for (PackageVO packageVO : loadedPackages) {
        packageVO.setExported(true);
        persister.persistPackage(packageVO, PersistType.UPDATE);
    }
    if (monitor != null)
        monitor.progress(15);
    return export;
}
Also used : PackageVO(com.centurylink.mdw.model.value.process.PackageVO) HashMap(java.util.HashMap) ActionCancelledException(com.centurylink.mdw.common.utilities.timer.ActionCancelledException) CustomAttributeVO(com.centurylink.mdw.model.value.attribute.CustomAttributeVO) ArrayList(java.util.ArrayList) ProcessExporter(com.centurylink.mdw.dataaccess.ProcessExporter) ImporterExporterJson(com.centurylink.mdw.dataaccess.file.ImporterExporterJson) RuleSetVO(com.centurylink.mdw.model.value.attribute.RuleSetVO)

Example 7 with CustomAttributeVO

use of com.centurylink.mdw.model.value.attribute.CustomAttributeVO in project mdw-designer by CenturyLinkCloud.

the class DesignerDataAccess method exportPackage.

public String exportPackage(Long packageId, int schemaVersion, boolean includeTaskTemplates, ProgressMonitor monitor) throws DataAccessException, ActionCancelledException, XmlException {
    if (monitor != null)
        monitor.subTask("Loading package...");
    PackageVO packageVO = loadPackage(packageId, true);
    if (monitor != null)
        monitor.progress(30);
    if (monitor != null) {
        if (monitor.isCanceled())
            throw new ActionCancelledException();
        else
            monitor.subTask("Sorting processes and implementors");
    }
    // adding same logic as in PopupHandler export to get same result
    for (ProcessVO processVO : packageVO.getProcesses()) new ProcessWorker().convert_to_designer(processVO);
    if (packageVO.getRuleSets() != null) {
        Map<String, CustomAttributeVO> customAttrs = new HashMap<>();
        for (RuleSetVO ruleSet : packageVO.getRuleSets()) {
            if (ruleSet.getLanguage() != null && !customAttrs.containsKey(ruleSet.getLanguage())) {
                CustomAttributeVO custAttrVO = getCustomAttribute("RULE_SET", ruleSet.getLanguage());
                if (custAttrVO != null)
                    customAttrs.put(ruleSet.getLanguage(), custAttrVO);
            }
        }
        List<CustomAttributeVO> customAttributes = new ArrayList<>();
        for (CustomAttributeVO customAttr : customAttrs.values()) customAttributes.add(customAttr);
        packageVO.setCustomAttributes(customAttributes);
    }
    if (monitor != null && monitor.isCanceled())
        throw new ActionCancelledException();
    if (monitor != null)
        monitor.progress(5);
    if (monitor != null)
        monitor.subTask(EXPORTXML);
    ProcessExporter exporter = DataAccess.getProcessExporter(schemaVersion, oldNamespaces ? DesignerCompatibility.getInstance() : null);
    String xml = exporter.exportPackage(packageVO, includeTaskTemplates);
    if (monitor != null)
        monitor.progress(25);
    packageVO.setExported(true);
    persister.persistPackage(packageVO, PersistType.UPDATE);
    if (monitor != null)
        monitor.progress(15);
    return xml;
}
Also used : PackageVO(com.centurylink.mdw.model.value.process.PackageVO) ProcessWorker(com.centurylink.mdw.designer.utils.ProcessWorker) HashMap(java.util.HashMap) ActionCancelledException(com.centurylink.mdw.common.utilities.timer.ActionCancelledException) CustomAttributeVO(com.centurylink.mdw.model.value.attribute.CustomAttributeVO) ArrayList(java.util.ArrayList) ProcessVO(com.centurylink.mdw.model.value.process.ProcessVO) ProcessExporter(com.centurylink.mdw.dataaccess.ProcessExporter) RuleSetVO(com.centurylink.mdw.model.value.attribute.RuleSetVO)

Aggregations

CustomAttributeVO (com.centurylink.mdw.model.value.attribute.CustomAttributeVO)7 RuleSetVO (com.centurylink.mdw.model.value.attribute.RuleSetVO)3 PropertyEditor (com.centurylink.mdw.plugin.designer.properties.editor.PropertyEditor)3 ActionCancelledException (com.centurylink.mdw.common.utilities.timer.ActionCancelledException)2 ProcessExporter (com.centurylink.mdw.dataaccess.ProcessExporter)2 PackageVO (com.centurylink.mdw.model.value.process.PackageVO)2 WorkflowAsset (com.centurylink.mdw.plugin.designer.model.WorkflowAsset)2 PropertyEditorList (com.centurylink.mdw.plugin.designer.properties.editor.PropertyEditorList)2 ValueChangeListener (com.centurylink.mdw.plugin.designer.properties.editor.ValueChangeListener)2 ArrayList (java.util.ArrayList)2 HashMap (java.util.HashMap)2 ImporterExporterJson (com.centurylink.mdw.dataaccess.file.ImporterExporterJson)1 ProcessWorker (com.centurylink.mdw.designer.utils.ProcessWorker)1 ProcessVO (com.centurylink.mdw.model.value.process.ProcessVO)1 PluginDataAccess (com.centurylink.mdw.plugin.designer.PluginDataAccess)1 ListConverter (com.centurylink.mdw.plugin.designer.properties.convert.ListConverter)1 AssetLocator (com.centurylink.mdw.plugin.designer.properties.editor.AssetLocator)1 WorkflowAssetEditor (com.centurylink.mdw.plugin.designer.properties.editor.WorkflowAssetEditor)1 GridData (org.eclipse.swt.layout.GridData)1 Label (org.eclipse.swt.widgets.Label)1