Changeset 568 for DCWoRMS/trunk/src/test


Ignore:
Timestamp:
11/07/12 13:07:09 (12 years ago)
Author:
gosiaw
Message:

Handling resources started

File:
1 edited

Legend:

Unmodified
Added
Removed
  • DCWoRMS/trunk/src/test/DEBBTranslator/src/DEBB2DCWoRMSTranslator.java

    r567 r568  
    2525import org.w3c.dom.Element; 
    2626import org.w3c.dom.Node; 
     27import org.w3c.dom.NodeList; 
    2728import org.xml.sax.SAXException; 
    2829 
     
    5152 
    5253        private static HashMap<String, String> computingResourceClasses = null; 
     54        private static HashMap<String, String> resourceUnitClasses; 
    5355 
    5456        /** 
     
    164166                computingResourceClasses.put("NodeGroup", "NodeGroup"); 
    165167                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"); 
    166176 
    167177        } 
     
    419429                        // Read data from DEBBComponent file(s) 
    420430                        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                        } 
    421554 
    422555                        // Find component 
Note: See TracChangeset for help on using the changeset viewer.