use of org.eclipse.emf.ecore.util.ExtendedMetaData in project archi by archimatetool.
the class ArchimateResourceFactory method createResource.
/**
* Creates an instance of the resource.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated NOT
*/
@Override
public Resource createResource(URI uri) {
ArchimateResource resource = new ArchimateResource(uri);
// Ensure we have ExtendedMetaData for both Saving and Loading
ExtendedMetaData ext = new ConverterExtendedMetadata();
resource.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, ext);
resource.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, ext);
// $NON-NLS-1$
resource.getDefaultSaveOptions().put(XMLResource.OPTION_ENCODING, "UTF-8");
// $NON-NLS-1$
resource.getDefaultLoadOptions().put(XMLResource.OPTION_ENCODING, "UTF-8");
resource.getDefaultLoadOptions().put(XMLResource.OPTION_DEFER_IDREF_RESOLUTION, Boolean.TRUE);
resource.setIntrinsicIDToEObjectMap(new HashMap<String, EObject>());
return resource;
}
use of org.eclipse.emf.ecore.util.ExtendedMetaData 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"));
}
}
use of org.eclipse.emf.ecore.util.ExtendedMetaData in project kie-wb-common by kiegroup.
the class Bpmn2JsonUnmarshaller method applyServiceTaskProperties.
public void applyServiceTaskProperties(ServiceTask serviceTask, Map<String, String> properties) {
if (properties.get("serviceimplementation") != null && properties.get("serviceimplementation").length() > 0) {
serviceTask.setImplementation(properties.get("serviceimplementation"));
ExtendedMetaData metadata = ExtendedMetaData.INSTANCE;
EAttributeImpl extensionAttribute = (EAttributeImpl) metadata.demandFeature("http://www.jboss.org/drools", "serviceimplementation", false, false);
SimpleFeatureMapEntry extensionEntry = new SimpleFeatureMapEntry(extensionAttribute, properties.get("serviceimplementation"));
serviceTask.getAnyAttribute().add(extensionEntry);
}
if (properties.get("serviceoperation") != null && properties.get("serviceoperation").length() > 0) {
ExtendedMetaData metadata = ExtendedMetaData.INSTANCE;
EAttributeImpl extensionAttribute = (EAttributeImpl) metadata.demandFeature("http://www.jboss.org/drools", "serviceoperation", false, false);
SimpleFeatureMapEntry extensionEntry = new SimpleFeatureMapEntry(extensionAttribute, properties.get("serviceoperation"));
serviceTask.getAnyAttribute().add(extensionEntry);
}
if (properties.get("serviceinterface") != null && properties.get("serviceinterface").length() > 0) {
ExtendedMetaData metadata = ExtendedMetaData.INSTANCE;
EAttributeImpl extensionAttribute = (EAttributeImpl) metadata.demandFeature("http://www.jboss.org/drools", "serviceinterface", false, false);
SimpleFeatureMapEntry extensionEntry = new SimpleFeatureMapEntry(extensionAttribute, properties.get("serviceinterface"));
serviceTask.getAnyAttribute().add(extensionEntry);
}
}
use of org.eclipse.emf.ecore.util.ExtendedMetaData in project kie-wb-common by kiegroup.
the class Bpmn2JsonUnmarshaller method applyDataObjectProperties.
protected void applyDataObjectProperties(DataObject da, Map<String, String> properties) {
if (properties.get("name") != null && properties.get("name").length() > 0) {
da.setName(StringEscapeUtils.escapeXml(properties.get("name")).replaceAll("\\r\\n|\\r|\\n", " "));
// add unescaped and untouched name value as extension element as well
Utils.setMetaDataExtensionValue(da, "elementname", wrapInCDATABlock(properties.get("name").replaceAll("\\\\n", "\n")));
} else {
// we need a name, use id instead
da.setName(da.getId());
}
boolean haveCustomType = false;
if (properties.get("customtype") != null && properties.get("customtype").length() > 0) {
ExtendedMetaData metadata = ExtendedMetaData.INSTANCE;
EAttributeImpl extensionAttribute = (EAttributeImpl) metadata.demandFeature("http://www.jboss.org/drools", "datype", false, false);
SimpleFeatureMapEntry extensionEntry = new SimpleFeatureMapEntry(extensionAttribute, properties.get("customtype"));
da.getAnyAttribute().add(extensionEntry);
haveCustomType = true;
}
if (properties.get("standardtype") != null && properties.get("standardtype").length() > 0 && !haveCustomType) {
ExtendedMetaData metadata = ExtendedMetaData.INSTANCE;
EAttributeImpl extensionAttribute = (EAttributeImpl) metadata.demandFeature("http://www.jboss.org/drools", "datype", false, false);
SimpleFeatureMapEntry extensionEntry = new SimpleFeatureMapEntry(extensionAttribute, properties.get("standardtype"));
da.getAnyAttribute().add(extensionEntry);
}
}
use of org.eclipse.emf.ecore.util.ExtendedMetaData in project kie-wb-common by kiegroup.
the class Bpmn2JsonUnmarshaller method updateEdgeColors.
public void updateEdgeColors(BPMNEdge edge) {
List<String> eleColorsForEdge = _elementColors.get(edge.getBpmnElement().getId());
if (eleColorsForEdge != null) {
String backgroundColor = "";
String borderColor = "";
String fontColor = "";
for (String edgeColor : eleColorsForEdge) {
String[] shapeColorParts = edgeColor.split(":");
if (shapeColorParts[0].equals("bgcolor")) {
backgroundColor = shapeColorParts[1];
}
if (shapeColorParts[0].equals("bordercolor")) {
borderColor = shapeColorParts[1];
}
if (shapeColorParts[0].equals("fontcolor")) {
fontColor = shapeColorParts[1];
}
}
ExtendedMetaData metadata = ExtendedMetaData.INSTANCE;
EAttributeImpl extensionAttributeBgColor = (EAttributeImpl) metadata.demandFeature("http://www.omg.org/spec/BPMN/non-normative/color", "background-color", false, false);
SimpleFeatureMapEntry extensionEntryBgColor = new SimpleFeatureMapEntry(extensionAttributeBgColor, backgroundColor);
edge.getBpmnElement().getAnyAttribute().add(extensionEntryBgColor);
EAttributeImpl extensionAttributeBorderColor = (EAttributeImpl) metadata.demandFeature("http://www.omg.org/spec/BPMN/non-normative/color", "border-color", false, false);
SimpleFeatureMapEntry extensionEntryBorderColor = new SimpleFeatureMapEntry(extensionAttributeBorderColor, borderColor);
edge.getBpmnElement().getAnyAttribute().add(extensionEntryBorderColor);
EAttributeImpl extensionAttributeColor = (EAttributeImpl) metadata.demandFeature("http://www.omg.org/spec/BPMN/non-normative/color", "color", false, false);
SimpleFeatureMapEntry extensionEntryColor = new SimpleFeatureMapEntry(extensionAttributeColor, fontColor);
edge.getBpmnElement().getAnyAttribute().add(extensionEntryColor);
} else {
_logger.debug("Unable to find color information for shape: " + edge.getBpmnElement().getId());
}
}
Aggregations