diff options
author | Zakir Meer | 2018-04-27 14:03:01 +0000 |
---|---|---|
committer | Zakir Meer | 2018-04-27 14:03:01 +0000 |
commit | 2357eb5138d6b8c329c6f44610803a9bdf77c7a4 (patch) | |
tree | 23ea4ad6fb64bdf4a91de6a227d0816af19e35e9 | |
parent | c54ee19a675e4ffd5867df2eadcb4b0bd9279b8d (diff) | |
download | org.eclipse.app4mc-2357eb5138d6b8c329c6f44610803a9bdf77c7a4.tar.gz org.eclipse.app4mc-2357eb5138d6b8c329c6f44610803a9bdf77c7a4.tar.xz org.eclipse.app4mc-2357eb5138d6b8c329c6f44610803a9bdf77c7a4.zip |
migrated CPUPercentageRequirementLimit, so that only ProcessingUnit element is supported as a part of hardwareContext
-rw-r--r-- | plugins/org.eclipse.app4mc.amalthea.converters.090/src/org/eclipse/app4mc/amalthea/converters090/impl/HwReferencesConverter.java | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/plugins/org.eclipse.app4mc.amalthea.converters.090/src/org/eclipse/app4mc/amalthea/converters090/impl/HwReferencesConverter.java b/plugins/org.eclipse.app4mc.amalthea.converters.090/src/org/eclipse/app4mc/amalthea/converters090/impl/HwReferencesConverter.java index 7682f00d3..f185a1cd3 100644 --- a/plugins/org.eclipse.app4mc.amalthea.converters.090/src/org/eclipse/app4mc/amalthea/converters090/impl/HwReferencesConverter.java +++ b/plugins/org.eclipse.app4mc.amalthea.converters.090/src/org/eclipse/app4mc/amalthea/converters090/impl/HwReferencesConverter.java @@ -92,6 +92,8 @@ public class HwReferencesConverter extends AbstractConverter { migrateTaskAllocation(rootElement); migrateRunnableInstructionsEntry(rootElement); + + migrateCPUPercentageRequirementLimit(rootElement); } @@ -466,6 +468,54 @@ public class HwReferencesConverter extends AbstractConverter { } + private void migrateCPUPercentageRequirementLimit(Element rootElement) { + Element constraintsModel = rootElement.getChild("constraintsModel"); + + if(constraintsModel!=null) { + List<Element> requirements = constraintsModel.getChildren("requirements"); + + for (Element requirement : requirements) { + + + List<Element> limitElements = requirement.getChildren("limit"); + + for (Element limitElement : limitElements) { + String limitElementType = limitElement.getAttributeValue("type", this.helper.getGenericNS("xsi")); + if(limitElementType!=null && limitElementType.equals("am:CPUPercentageRequirementLimit")) { + + Map<String, String> complexNodesMap = this.helper.getMultipleElementsNameandTypeFromAttributeOrChildeElement("hardwareContext", limitElement); + + limitElement.removeChildren("hardwareContext"); + limitElement.removeAttribute("hardwareContext"); + + for(String complexNodeName:complexNodesMap.keySet()) { + + String complexNodeType=complexNodesMap.get(complexNodeName); + + if(complexNodeType!=null && complexNodeType.equals("Core")) { + Element puElement=new Element("hardwareContext"); + puElement.setAttribute("href", "amlt:/#"+complexNodeName+"?type=ProcessingUnit"); + limitElement.addContent(puElement); + }else { + this.helper.logger.warn("As per 0.9.0 : Only ProcessingUnit element can be referred inside CPUPercentageRequirementLimit as a hardwareContext.\r\n Reference of : "+complexNodeName+" of type :" +complexNodeType+" is removed : as it is not valid as per 0.9.0"); + } + + + } + + } + } + + + + } + + + } + } + + + private void migrateTargetMemory(Element rootElement) { Element constraintsModel = rootElement.getChild("constraintsModel"); |