source: DCWoRMS/trunk/src/test/DEBBTranslator/src/PLMXMLTranslator.java @ 915

Revision 915, 3.9 KB checked in by gosiaw, 12 years ago (diff)

Information about schedulers and estimators added

Line 
1/**
2 *
3 */
4package test.DEBBTranslator.src;
5
6import java.io.FileOutputStream;
7import java.util.HashMap;
8
9import javax.xml.transform.Transformer;
10import javax.xml.transform.TransformerFactory;
11
12/**
13 * @author gosiaw
14 *
15 */
16public class PLMXMLTranslator {
17        private static final String DEFAULT_INPUT_FILE_NAME = "src/test/DEBBTranslator/xml/PLMXML_PSNC_RECS_3.xml";
18        private static final String DEFAULT_OUTPUT_FILE_NAME = DEFAULT_INPUT_FILE_NAME.replace("PLMXML", "DCWORMS");
19
20//      private static final String DEFAULT_INPUT_FILE_NAME = "src/test/DEBBTranslator/xml/PLMXML_PSNCRECS.xml";
21        private static final String DEFAULT_PLMXML_TRANSFORMATION_FILE_NAME = "src/test/DEBBTranslator/xml/PLMXMLTranslator.xsl";
22        private static final String DEFAULT_UPDATE_TRANSFORMATION_FILE_NAME = "src/test/DEBBTranslator/xml/DCWoRMSDEBBUpdater.xsl";
23        private static final String DEFAULT_SCHEDULERS_AND_ESTIMATORS_FILE_NAME = "../../debb2dcworms/example/example1.xml";
24       
25        private static HashMap<String, String> computingResourceClasses;
26        private static HashMap<String, String> resourceUnitClasses;
27
28        /**
29         *
30         */
31        public PLMXMLTranslator() {
32                // TODO Auto-generated constructor stub
33        }
34
35        /**
36         * @param args
37         */
38        public static void main(String[] args) {
39                String inputFileName = DEFAULT_INPUT_FILE_NAME;
40                String outputFileName = DEFAULT_OUTPUT_FILE_NAME;
41                String debbTransformationFileName = DEFAULT_PLMXML_TRANSFORMATION_FILE_NAME;
42               
43                if (args != null && args.length > 0) {
44                        inputFileName = args[0];
45                        if (inputFileName == null
46                                        || (inputFileName != null && inputFileName.isEmpty() == true)) {
47                                inputFileName = DEFAULT_INPUT_FILE_NAME;
48                        }
49
50                        if (args.length > 1) {
51                                outputFileName = args[1];
52                                if (outputFileName == null
53                                                || (outputFileName != null && outputFileName.isEmpty() == true)) {
54                                        outputFileName = DEFAULT_OUTPUT_FILE_NAME;
55                                       
56                                }
57                        }
58                }
59               
60                // TODO: Check it this is correct!
61                // TODO: Move it to configuration file         
62                computingResourceClasses = new HashMap<String, String>();
63                computingResourceClasses.put("ComputeBox2", "ComputeBox2");
64                computingResourceClasses.put("ComputeBox1", "ComputeBox1");
65                computingResourceClasses.put("NodeGroup", "NodeGroup");
66                computingResourceClasses.put("Node", "Node");
67                computingResourceClasses.put("Processor", "Processor");
68
69                resourceUnitClasses = new HashMap<String, String>();
70                resourceUnitClasses.put("Sensor", "Sensor");
71                resourceUnitClasses.put("Memory", "Memory");
72                resourceUnitClasses.put("Baseboard", "Baseboard");
73                resourceUnitClasses.put("CoolingDevice", "CoolingDevice");
74                resourceUnitClasses.put("Storage", "Storage");
75               
76                try {
77                        TransformerFactory tFactory = TransformerFactory.newInstance();
78                                               
79                        Transformer transformer = tFactory
80                                        .newTransformer(new javax.xml.transform.stream.StreamSource(
81                                                        debbTransformationFileName));
82                        transformer.setParameter("computingResourceClasses", computingResourceClasses);
83                        transformer.setParameter("resourceUnitClasses", resourceUnitClasses);
84
85                        transformer.transform(new javax.xml.transform.stream.StreamSource(
86                                        inputFileName),
87                                        new javax.xml.transform.stream.StreamResult(
88                                                        new FileOutputStream(outputFileName)));
89                        System.out.println("File " + inputFileName + " transformed into " + outputFileName + " file");
90                       
91                        String debbUpdateTransformationFileName = DEFAULT_UPDATE_TRANSFORMATION_FILE_NAME;
92                       
93                        Transformer updateTransformer = tFactory.newTransformer(new javax.xml.transform.stream.StreamSource(
94                                                        debbUpdateTransformationFileName ));
95                        updateTransformer.setParameter("additionalInformationFileName", DEFAULT_SCHEDULERS_AND_ESTIMATORS_FILE_NAME);
96                        updateTransformer.transform(new javax.xml.transform.stream.StreamSource(outputFileName), 
97                                        new javax.xml.transform.stream.StreamResult(outputFileName));
98                        System.out.println("File " + outputFileName + " transformed (sorted and updated) into " + outputFileName + " file");
99                } catch (Exception e) {
100                        e.printStackTrace();
101                }
102        }
103}
Note: See TracBrowser for help on using the repository browser.