use of org.eclipse.emf.ecore.EStructuralFeature.Internal in project kie-wb-common by kiegroup.
the class Bpmn2JsonUnmarshaller method applyProcessProperties.
protected void applyProcessProperties(Process process, Map<String, String> properties) {
if (properties.get("processn") != null) {
process.setName(StringEscapeUtils.escapeXml(properties.get("processn")));
} else {
process.setName("");
}
if (properties.get("auditing") != null && !"".equals(properties.get("auditing"))) {
Auditing audit = Bpmn2Factory.eINSTANCE.createAuditing();
audit.getDocumentation().add(createDocumentation(properties.get("auditing")));
process.setAuditing(audit);
}
process.setProcessType(ProcessType.getByName(properties.get("processtype")));
process.setIsClosed(Boolean.parseBoolean(properties.get("isclosed")));
process.setIsExecutable(Boolean.parseBoolean(properties.get("executable")));
// get the drools-specific extension packageName attribute to Process if defined
if (properties.get("package") != null && properties.get("package").length() > 0) {
ExtendedMetaData metadata = ExtendedMetaData.INSTANCE;
EAttributeImpl extensionAttribute = (EAttributeImpl) metadata.demandFeature("http://www.jboss.org/drools", "packageName", false, false);
SimpleFeatureMapEntry extensionEntry = new SimpleFeatureMapEntry(extensionAttribute, properties.get("package"));
process.getAnyAttribute().add(extensionEntry);
}
// add version attrbute to process
if (properties.get("version") != null && properties.get("version").length() > 0) {
ExtendedMetaData metadata = ExtendedMetaData.INSTANCE;
EAttributeImpl extensionAttribute = (EAttributeImpl) metadata.demandFeature("http://www.jboss.org/drools", "version", false, false);
SimpleFeatureMapEntry extensionEntry = new SimpleFeatureMapEntry(extensionAttribute, properties.get("version"));
process.getAnyAttribute().add(extensionEntry);
}
if (properties.get("monitoring") != null && !"".equals(properties.get("monitoring"))) {
Monitoring monitoring = Bpmn2Factory.eINSTANCE.createMonitoring();
monitoring.getDocumentation().add(createDocumentation(properties.get("monitoring")));
process.setMonitoring(monitoring);
}
// import extension elements
if (properties.get("imports") != null && properties.get("imports").length() > 0) {
String[] allImports = properties.get("imports").split(",\\s*");
for (String importStr : allImports) {
String[] importParts = importStr.split("\\|\\s*");
// sample 'com.sample.Myclass|default,location|namespace|wsdl
if (importParts.length == 2 || importParts.length == 3) {
if (importParts[1] != null && importParts[1].equals("default")) {
ImportType importType = DroolsFactory.eINSTANCE.createImportType();
importType.setName(importParts[0]);
if (process.getExtensionValues() == null || process.getExtensionValues().size() < 1) {
ExtensionAttributeValue extensionElement = Bpmn2Factory.eINSTANCE.createExtensionAttributeValue();
process.getExtensionValues().add(extensionElement);
}
FeatureMap.Entry extensionElementEntry = new SimpleFeatureMapEntry((Internal) DroolsPackage.Literals.DOCUMENT_ROOT__IMPORT, importType);
process.getExtensionValues().get(0).getValue().add(extensionElementEntry);
} else {
Import imp = Bpmn2Factory.eINSTANCE.createImport();
imp.setImportType("http://schemas.xmlsoap.org/wsdl/");
imp.setLocation(importParts[0]);
imp.setNamespace(importParts[1]);
_wsdlImports.add(imp);
}
} else {
// just default (support legacy)
ImportType importType = DroolsFactory.eINSTANCE.createImportType();
importType.setName(importStr);
if (process.getExtensionValues() == null || process.getExtensionValues().size() < 1) {
ExtensionAttributeValue extensionElement = Bpmn2Factory.eINSTANCE.createExtensionAttributeValue();
process.getExtensionValues().add(extensionElement);
}
FeatureMap.Entry extensionElementEntry = new SimpleFeatureMapEntry((Internal) DroolsPackage.Literals.DOCUMENT_ROOT__IMPORT, importType);
process.getExtensionValues().get(0).getValue().add(extensionElementEntry);
}
}
}
// globals extension elements
if (properties.get("globals") != null && properties.get("globals").length() > 0) {
String[] allGlobals = properties.get("globals").split(",\\s*");
for (String globalStr : allGlobals) {
// identifier:type
String[] globalParts = globalStr.split(":\\s*");
if (globalParts.length == 2) {
GlobalType globalType = DroolsFactory.eINSTANCE.createGlobalType();
globalType.setIdentifier(globalParts[0]);
globalType.setType(globalParts[1]);
if (process.getExtensionValues() == null || process.getExtensionValues().size() < 1) {
ExtensionAttributeValue extensionElement = Bpmn2Factory.eINSTANCE.createExtensionAttributeValue();
process.getExtensionValues().add(extensionElement);
}
FeatureMap.Entry extensionElementEntry = new SimpleFeatureMapEntry((Internal) DroolsPackage.Literals.DOCUMENT_ROOT__GLOBAL, globalType);
process.getExtensionValues().get(0).getValue().add(extensionElementEntry);
} else if (globalParts.length == 1) {
GlobalType globalType = DroolsFactory.eINSTANCE.createGlobalType();
globalType.setIdentifier(globalParts[0]);
globalType.setType("Object");
if (process.getExtensionValues() == null || process.getExtensionValues().size() < 1) {
ExtensionAttributeValue extensionElement = Bpmn2Factory.eINSTANCE.createExtensionAttributeValue();
process.getExtensionValues().add(extensionElement);
}
FeatureMap.Entry extensionElementEntry = new SimpleFeatureMapEntry((Internal) DroolsPackage.Literals.DOCUMENT_ROOT__GLOBAL, globalType);
process.getExtensionValues().get(0).getValue().add(extensionElementEntry);
}
}
}
// simulation properties
if (properties.get("timeunit") != null && properties.get("timeunit").length() > 0) {
_simulationScenarioParameters.setBaseTimeUnit(TimeUnit.getByName(properties.get("timeunit")));
}
if (properties.get("currency") != null && properties.get("currency").length() > 0) {
_simulationScenarioParameters.setBaseCurrencyUnit(properties.get("currency"));
}
}
Aggregations