Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZakir Meer2018-04-27 14:03:01 +0000
committerZakir Meer2018-04-27 14:03:01 +0000
commit2357eb5138d6b8c329c6f44610803a9bdf77c7a4 (patch)
tree23ea4ad6fb64bdf4a91de6a227d0816af19e35e9
parentc54ee19a675e4ffd5867df2eadcb4b0bd9279b8d (diff)
downloadorg.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.java50
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");

Back to the top