Search in sources :

Example 11 with AttributeVO

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

the class PackageConfigurationSection method updatePackageMetaContent.

private void updatePackageMetaContent() throws XmlException, JSONException, IOException {
    if (!workflowPackage.getProject().isOldNamespaces()) {
        if (workflowPackage.getMetaContent() != null && workflowPackage.getMetaContent().trim().startsWith("{")) {
            PackageVO metaPkg = new PackageVO(new JSONObject(workflowPackage.getMetaContent()));
            List<AttributeVO> attributes = null;
            if (propertyGroups != null) {
                attributes = new ArrayList<>();
                for (PropertyGroup propGroup : propertyGroups) {
                    String group = propGroup.getName();
                    for (Property prop : propGroup.getPropertyList()) {
                        AttributeVO attribute = new AttributeVO(prop.getName(), prop.getStringValue());
                        if (group != null)
                            attribute.setAttributeGroup(group);
                        attributes.add(attribute);
                    }
                }
            }
            metaPkg.setAttributes(attributes);
            workflowPackage.setMetaContent(metaPkg.getJson(false).toString(2));
        } else if (workflowPackage.getSchemaVersion() >= DataAccess.schemaVersion61) {
            List<AttributeVO> attributes = null;
            Yaml yaml = new Yaml();
            Map<String, Object> map = (Map<String, Object>) yaml.load(workflowPackage.getMetaContent());
            PackageVO metaPkg = new PackageVO(map);
            if (propertyGroups != null) {
                attributes = new ArrayList<>();
                for (PropertyGroup propGroup : propertyGroups) {
                    String group = propGroup.getName();
                    for (Property prop : propGroup.getPropertyList()) {
                        AttributeVO attribute = new AttributeVO(prop.getName(), prop.getStringValue());
                        if (group != null)
                            attribute.setAttributeGroup(group);
                        attributes.add(attribute);
                    }
                }
            }
            metaPkg.setAttributes(attributes);
            workflowPackage.setMetaContent(metaPkg.getJson(false).toString(2));
        } else {
            PackageDocument pkgDefDoc = null;
            if (workflowPackage.getMetaContent() == null || workflowPackage.getMetaContent().isEmpty()) {
                pkgDefDoc = PackageDocument.Factory.newInstance();
            } else {
                if (workflowPackage.getMetaContent().startsWith("<bpm:package") || workflowPackage.getMetaContent().startsWith("<package")) {
                    pkgDefDoc = PackageDocument.Factory.parse(workflowPackage.getMetaContent());
                } else {
                    pkgDefDoc = PackageDocument.Factory.newInstance();
                }
            }
            if (pkgDefDoc.getPackage() == null)
                pkgDefDoc.addNewPackage();
            if (pkgDefDoc.getPackage().getApplicationProperties() == null)
                pkgDefDoc.getPackage().addNewApplicationProperties();
            pkgDefDoc.getPackage().getApplicationProperties().setPropertyGroupArray(propertyGroups.toArray(new PropertyGroup[0]));
            String procDefStr = pkgDefDoc.xmlText(new XmlOptions().setSavePrettyPrint().setSavePrettyPrintIndent(2));
            workflowPackage.setMetaContent(procDefStr);
        }
    } else {
        ProcessDefinitionDocument procDefDoc;
        if (workflowPackage.getMetaContent() == null || workflowPackage.getMetaContent().isEmpty())
            procDefDoc = ProcessDefinitionDocument.Factory.newInstance();
        else
            procDefDoc = ProcessDefinitionDocument.Factory.parse(workflowPackage.getMetaContent(), Compatibility.namespaceOptions());
        if (procDefDoc.getProcessDefinition() == null)
            procDefDoc.addNewProcessDefinition();
        if (procDefDoc.getProcessDefinition().getApplicationProperties() == null)
            procDefDoc.getProcessDefinition().addNewApplicationProperties();
        procDefDoc.getProcessDefinition().getApplicationProperties().setPropertyGroupArray(propertyGroups.toArray(new PropertyGroup[0]));
        String procDefStr = DesignerCompatibility.getInstance().getOldProcessDefinition(procDefDoc);
        workflowPackage.setMetaContent(procDefStr);
    }
}
Also used : PropertyGroup(com.centurylink.mdw.bpm.PropertyGroupDocument.PropertyGroup) PackageVO(com.centurylink.mdw.model.value.process.PackageVO) AttributeVO(com.centurylink.mdw.model.value.attribute.AttributeVO) XmlOptions(org.apache.xmlbeans.XmlOptions) ArrayList(java.util.ArrayList) Yaml(org.yaml.snakeyaml.Yaml) PackageDocument(com.centurylink.mdw.bpm.PackageDocument) JSONObject(org.json.JSONObject) List(java.util.List) ArrayList(java.util.ArrayList) JSONObject(org.json.JSONObject) ProcessDefinitionDocument(com.centurylink.mdw.bpm.ProcessDefinitionDocument) Property(com.centurylink.mdw.bpm.PropertyDocument.Property) Map(java.util.Map) LinkedHashMap(java.util.LinkedHashMap)

Example 12 with AttributeVO

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

the class PackageConfigurationSection method getPropertyGroups.

private List<PropertyGroup> getPropertyGroups() {
    if (// empty
    workflowPackage.getMetaContent() == null && !workflowPackage.isDefaultPackage()) // string
    // signifies
    // already
    // loaded
    {
        try {
            PackageVO packageVO = workflowPackage.getProject().getDesignerProxy().getDesignerDataAccess().loadPackage(workflowPackage.getId(), false);
            workflowPackage.setMetaContent(packageVO.getMetaContent() == null ? "" : packageVO.getMetaContent());
        } catch (Exception ex) {
            PluginMessages.uiError(getShell(), ex, "Package Config", workflowPackage.getProject());
        }
    }
    if (workflowPackage.getMetaContent() == null || workflowPackage.getMetaContent().trim().length() == 0) {
        return new ArrayList<>();
    } else {
        ApplicationProperties appProps = null;
        try {
            if (workflowPackage.getMetaContent().trim().startsWith("{")) {
                List<PropertyGroup> propGroups = new ArrayList<>();
                PackageVO metaPkg = new PackageVO(new JSONObject(workflowPackage.getMetaContent()));
                if (metaPkg.getAttributes() != null) {
                    Map<String, List<AttributeVO>> groupedAttrs = metaPkg.getAttributesByGroup();
                    for (Map.Entry<String, List<AttributeVO>> group : groupedAttrs.entrySet()) {
                        PropertyGroup propGroup = PropertyGroup.Factory.newInstance();
                        if (group.getKey() != null)
                            propGroup.setName(group.getKey());
                        for (AttributeVO groupAttr : group.getValue()) {
                            Property prop = propGroup.addNewProperty();
                            prop.setName(groupAttr.getAttributeName());
                            prop.setStringValue(groupAttr.getAttributeValue());
                        }
                        propGroups.add(propGroup);
                    }
                }
                return propGroups;
            } else if (workflowPackage.getSchemaVersion() >= DataAccess.schemaVersion61) {
                List<PropertyGroup> propGroups = new ArrayList<>();
                Yaml yaml = new Yaml();
                Map<String, Object> map = (Map<String, Object>) yaml.load(workflowPackage.getMetaContent());
                PackageVO metaPkg = new PackageVO(map);
                if (metaPkg.getAttributes() != null) {
                    Map<String, List<AttributeVO>> groupedAttrs = metaPkg.getAttributesByGroup();
                    for (Map.Entry<String, List<AttributeVO>> group : groupedAttrs.entrySet()) {
                        PropertyGroup propGroup = PropertyGroup.Factory.newInstance();
                        if (group.getKey() != null)
                            propGroup.setName(group.getKey());
                        for (AttributeVO groupAttr : group.getValue()) {
                            Property prop = propGroup.addNewProperty();
                            prop.setName(groupAttr.getAttributeName());
                            prop.setStringValue(groupAttr.getAttributeValue());
                        }
                        propGroups.add(propGroup);
                    }
                }
                return propGroups;
            } else if (workflowPackage.getMetaContent().startsWith("<bpm:package") || workflowPackage.getMetaContent().startsWith("<package")) {
                PackageDocument pkgDoc = PackageDocument.Factory.parse(workflowPackage.getMetaContent());
                appProps = pkgDoc.getPackage().getApplicationProperties();
            } else {
                ProcessDefinitionDocument procDefDoc = ProcessDefinitionDocument.Factory.parse(workflowPackage.getMetaContent(), Compatibility.namespaceOptions());
                appProps = procDefDoc.getProcessDefinition().getApplicationProperties();
            }
        } catch (Exception ex) {
            PluginMessages.uiError(getShell(), ex, "Package Config", workflowPackage.getProject());
        }
        if (appProps != null && appProps.getPropertyGroupList() != null)
            return appProps.getPropertyGroupList();
        // not found or can't parse
        return new ArrayList<>();
    }
}
Also used : PropertyGroup(com.centurylink.mdw.bpm.PropertyGroupDocument.PropertyGroup) PackageVO(com.centurylink.mdw.model.value.process.PackageVO) AttributeVO(com.centurylink.mdw.model.value.attribute.AttributeVO) ArrayList(java.util.ArrayList) JSONException(org.json.JSONException) IOException(java.io.IOException) XmlException(org.apache.xmlbeans.XmlException) Yaml(org.yaml.snakeyaml.Yaml) PackageDocument(com.centurylink.mdw.bpm.PackageDocument) JSONObject(org.json.JSONObject) ApplicationProperties(com.centurylink.mdw.bpm.ApplicationPropertiesDocument.ApplicationProperties) List(java.util.List) ArrayList(java.util.ArrayList) JSONObject(org.json.JSONObject) ProcessDefinitionDocument(com.centurylink.mdw.bpm.ProcessDefinitionDocument) Map(java.util.Map) LinkedHashMap(java.util.LinkedHashMap) Property(com.centurylink.mdw.bpm.PropertyDocument.Property)

Example 13 with AttributeVO

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

the class AttributesTableContainer method createTableEditor.

private void createTableEditor(Composite parent) {
    FormatXml fmter = new FormatXml();
    MbengDocument mbengDocument = new MbengDocumentClass();
    try {
        fmter.load(mbengDocument, pageletTable.xmlText());
    } catch (Exception ex) {
        ex.printStackTrace();
    }
    tableEditor = new TableEditor(null, mbengDocument.getRootNode());
    // label was already rendered
    tableEditor.setLabel(null);
    tableEditor.setModelUpdater(new TableModelUpdater() {

        public Object create() {
            int i = 1;
            String attrName = "New Field";
            while (getAttribute(attrName) != null) attrName = "New Field (" + i++ + ")";
            return new AttributeVO(attrName, null);
        }

        @SuppressWarnings("rawtypes")
        public void updateModelValue(List tableValue) {
            fireDirtyStateChange(true);
        }
    });
    tableEditor.setCellModifier(new AttributeCellModifier());
    tableEditor.setContentProvider(new AttributeContentProvider());
    tableEditor.setLabelProvider(new AttributeLabelProvider());
    tableEditor.addValueChangeListener(new ValueChangeListener() {

        public void propertyValueChanged(Object newValue) {
        // value changed
        }
    });
    tableEditor.render(parent, true);
}
Also used : AttributeVO(com.centurylink.mdw.model.value.attribute.AttributeVO) TableModelUpdater(com.centurylink.mdw.plugin.designer.properties.editor.TableEditor.TableModelUpdater) FormatXml(com.qwest.mbeng.FormatXml) MbengDocument(com.qwest.mbeng.MbengDocument) ArrayList(java.util.ArrayList) List(java.util.List) MbengDocumentClass(com.qwest.mbeng.MbengDocumentClass)

Example 14 with AttributeVO

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

the class SimulationSection method getResponses.

public List<SimulationResponseVO> getResponses() {
    List<AttributeVO> attrs = activity.getAttributes();
    List<SimulationResponseVO> responses = new ArrayList<SimulationResponseVO>();
    for (int i = 0; i < attrs.size(); i++) {
        AttributeVO att = attrs.get(i);
        String name = att.getAttributeName();
        String value = att.getAttributeValue();
        if (name.startsWith(WorkAttributeConstant.SIMULATION_RESPONSE)) {
            SimulationResponseVO srVO = new SimulationResponseVO();
            srVO.setAttributeName(name);
            srVO.setAttributeValue(value);
            srVO.parseAttrValues(value);
            responses.add(srVO);
            String respNo = name.substring(14);
            int biggestResp = Integer.parseInt(respNo);
            if (biggestResp > responseNo)
                responseNo = biggestResp;
        }
    }
    return responses;
}
Also used : AttributeVO(com.centurylink.mdw.model.value.attribute.AttributeVO) ArrayList(java.util.ArrayList)

Example 15 with AttributeVO

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

the class WorkflowPackage method setAttribute.

public void setAttribute(String name, String value) {
    if (packageVO.getAttributes() == null)
        packageVO.setAttributes(new ArrayList<AttributeVO>());
    AttributeVO attr = null;
    for (AttributeVO attribute : packageVO.getAttributes()) {
        if (attribute.getAttributeName().equals(name)) {
            attr = attribute;
            break;
        }
    }
    if (attr == null) {
        attr = new AttributeVO(name, value);
        packageVO.getAttributes().add(attr);
    } else {
        attr.setAttributeValue(value);
    }
}
Also used : AttributeVO(com.centurylink.mdw.model.value.attribute.AttributeVO) ArrayList(java.util.ArrayList)

Aggregations

AttributeVO (com.centurylink.mdw.model.value.attribute.AttributeVO)24 ArrayList (java.util.ArrayList)15 PackageVO (com.centurylink.mdw.model.value.process.PackageVO)5 ActivityVO (com.centurylink.mdw.model.value.activity.ActivityVO)4 WorkTransitionVO (com.centurylink.mdw.model.value.work.WorkTransitionVO)4 MbengNode (com.qwest.mbeng.MbengNode)4 List (java.util.List)4 PackageDocument (com.centurylink.mdw.bpm.PackageDocument)3 ActivityImplementorVO (com.centurylink.mdw.model.value.activity.ActivityImplementorVO)3 CustomAttributeVO (com.centurylink.mdw.model.value.attribute.CustomAttributeVO)3 ProcessVO (com.centurylink.mdw.model.value.process.ProcessVO)3 ProcessDefinitionDocument (com.centurylink.mdw.bpm.ProcessDefinitionDocument)2 Property (com.centurylink.mdw.bpm.PropertyDocument.Property)2 PropertyGroup (com.centurylink.mdw.bpm.PropertyGroupDocument.PropertyGroup)2 ExternalEventVO (com.centurylink.mdw.model.value.event.ExternalEventVO)2 VariableVO (com.centurylink.mdw.model.value.variable.VariableVO)2 AttributeDialog (com.centurylink.mdw.plugin.designer.dialogs.AttributeDialog)2 LinkedHashMap (java.util.LinkedHashMap)2 Map (java.util.Map)2 XmlOptions (org.apache.xmlbeans.XmlOptions)2