Changeset 568 for DCWoRMS/trunk/src/test/DEBBTranslator
- Timestamp:
- 11/07/12 13:07:09 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
DCWoRMS/trunk/src/test/DEBBTranslator/src/DEBB2DCWoRMSTranslator.java
r567 r568 25 25 import org.w3c.dom.Element; 26 26 import org.w3c.dom.Node; 27 import org.w3c.dom.NodeList; 27 28 import org.xml.sax.SAXException; 28 29 … … 51 52 52 53 private static HashMap<String, String> computingResourceClasses = null; 54 private static HashMap<String, String> resourceUnitClasses; 53 55 54 56 /** … … 164 166 computingResourceClasses.put("NodeGroup", "NodeGroup"); 165 167 computingResourceClasses.put("Node", "Node"); 168 computingResourceClasses.put("Processor", "Processor"); 169 170 resourceUnitClasses = new HashMap<String, String>(); 171 resourceUnitClasses.put("Sensor", "Sensor"); 172 resourceUnitClasses.put("Memory", "Memory"); 173 resourceUnitClasses.put("Baseboard", "Baseboard"); 174 resourceUnitClasses.put("CoolingDevice", "CoolingDevice"); 175 resourceUnitClasses.put("Storage", "Storage"); 166 176 167 177 } … … 419 429 // Read data from DEBBComponent file(s) 420 430 Document debbComponentDocument = readDEBBComponentInputFile(debbComponentFileName); 431 System.out.println(debbComponentIdNode.getNodeValue()); 432 expr = xpath.compile("//*[ComponentId='" 433 + debbComponentIdNode.getNodeValue() + "']"); 434 result = expr.evaluate(debbComponentDocument, XPathConstants.NODE); 435 Node debbComponentNode = (Node) result; 436 if (debbComponentNode != null) { 437 System.out.println("id=" + debbComponentNode.getNodeName()); 438 439 // Get all baseboards 440 expr = xpath.compile("Baseboard"); 441 result = expr.evaluate(debbComponentNode, 442 XPathConstants.NODESET); 443 NodeList baseboardNodeList = (NodeList) result; 444 if (baseboardNodeList != null) { 445 for (int i = 0; i < baseboardNodeList.getLength(); i++) { 446 Node baseboardNode = baseboardNodeList.item(i); 447 448 Element resourceUnitElement = dcwormsDocument 449 .createElement("resourceUnit"); 450 Attr baseboardClassAttribute = dcwormsDocument.createAttribute("class"); 451 baseboardClassAttribute.setValue(resourceUnitClasses.get(baseboardNode.getNodeName())); 452 resourceUnitElement.setAttributeNode(baseboardClassAttribute); 453 computingResourceElement 454 .appendChild(resourceUnitElement); 455 } 456 } 457 458 // Get all memory units 459 expr = xpath.compile("Memory"); 460 result = expr.evaluate(debbComponentNode, 461 XPathConstants.NODESET); 462 NodeList memoryNodeList = (NodeList) result; 463 if (memoryNodeList != null) { 464 for (int i = 0; i < memoryNodeList.getLength(); i++) { 465 Node memoryNode = memoryNodeList.item(i); 466 467 Element resourceUnitElement = dcwormsDocument 468 .createElement("resourceUnit"); 469 Attr memoryClassAttribute = dcwormsDocument.createAttribute("class"); 470 memoryClassAttribute.setValue(resourceUnitClasses.get(memoryNode.getNodeName())); 471 resourceUnitElement.setAttributeNode(memoryClassAttribute); 472 computingResourceElement 473 .appendChild(resourceUnitElement); 474 } 475 } 476 477 // Get all storages 478 expr = xpath.compile("Storage"); 479 result = expr.evaluate(debbComponentNode, 480 XPathConstants.NODESET); 481 NodeList storageNodeList = (NodeList) result; 482 if (storageNodeList != null) { 483 for (int i = 0; i < storageNodeList.getLength(); i++) { 484 Node storageNode = storageNodeList.item(i); 485 486 Element resourceUnitElement = dcwormsDocument 487 .createElement("resourceUnit"); 488 Attr storageClassAttribute = dcwormsDocument.createAttribute("class"); 489 storageClassAttribute.setValue(resourceUnitClasses.get(storageNode.getNodeName())); 490 resourceUnitElement.setAttributeNode(storageClassAttribute); 491 computingResourceElement 492 .appendChild(resourceUnitElement); 493 } 494 } 495 496 // Get all sensors 497 expr = xpath.compile("Sensor"); 498 result = expr.evaluate(debbComponentNode, 499 XPathConstants.NODESET); 500 NodeList sensorsNodeList = (NodeList) result; 501 if (sensorsNodeList != null) { 502 for (int i = 0; i < sensorsNodeList.getLength(); i++) { 503 Node sensorNode = sensorsNodeList.item(i); 504 505 Element resourceUnitElement = dcwormsDocument 506 .createElement("resourceUnit"); 507 Attr sensorClassAttribute = dcwormsDocument.createAttribute("class"); 508 sensorClassAttribute.setValue(resourceUnitClasses.get(sensorNode.getNodeName())); 509 resourceUnitElement.setAttributeNode(sensorClassAttribute); 510 computingResourceElement 511 .appendChild(resourceUnitElement); 512 } 513 } 514 515 // Get all cooling devices 516 expr = xpath.compile("CoolingDevice"); 517 result = expr.evaluate(debbComponentNode, 518 XPathConstants.NODESET); 519 NodeList coolingDeviceNodeList = (NodeList) result; 520 if (coolingDeviceNodeList != null) { 521 for (int i = 0; i < coolingDeviceNodeList.getLength(); i++) { 522 Node coolingDeviceNode = coolingDeviceNodeList.item(i); 523 524 Element resourceUnitElement = dcwormsDocument 525 .createElement("resourceUnit"); 526 Attr coolingDeviceClassAttribute = dcwormsDocument.createAttribute("class"); 527 coolingDeviceClassAttribute.setValue(resourceUnitClasses.get(coolingDeviceNode.getNodeName())); 528 resourceUnitElement.setAttributeNode(coolingDeviceClassAttribute); 529 computingResourceElement 530 .appendChild(resourceUnitElement); 531 } 532 } 533 534 // Get all processors 535 expr = xpath.compile("Processor"); 536 result = expr.evaluate(debbComponentNode, 537 XPathConstants.NODESET); 538 NodeList processorNodeList = (NodeList) result; 539 if (processorNodeList != null) { 540 for (int i = 0; i < processorNodeList.getLength(); i++) { 541 Node processorNode = processorNodeList.item(i); 542 543 Element processorElement = dcwormsDocument 544 .createElement("computingResource"); 545 Attr processorClassAttribute = dcwormsDocument.createAttribute("class"); 546 processorClassAttribute.setValue(computingResourceClasses.get(processorNode.getNodeName())); 547 processorElement.setAttributeNode(processorClassAttribute); 548 computingResourceElement 549 .appendChild(processorElement); 550 } 551 } 552 553 } 421 554 422 555 // Find component
Note: See TracChangeset
for help on using the changeset viewer.