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

Revision 814, 3.6 KB checked in by gosiaw, 12 years ago (diff)

A minor change connected with default output file name

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_SORT_TRANSFORMATION_FILE_NAME = "src/test/DEBBTranslator/xml/DCWoRMSELementsSorter.xsl";
23       
24        private static HashMap<String, String> computingResourceClasses;
25        private static HashMap<String, String> resourceUnitClasses;
26
27        /**
28         *
29         */
30        public PLMXMLTranslator() {
31                // TODO Auto-generated constructor stub
32        }
33
34        /**
35         * @param args
36         */
37        public static void main(String[] args) {
38                String inputFileName = DEFAULT_INPUT_FILE_NAME;
39                String outputFileName = DEFAULT_OUTPUT_FILE_NAME;
40                String debbTransformationFileName = DEFAULT_PLMXML_TRANSFORMATION_FILE_NAME;
41               
42                if (args != null && args.length > 0) {
43                        inputFileName = args[0];
44                        if (inputFileName == null
45                                        || (inputFileName != null && inputFileName.isEmpty() == true)) {
46                                inputFileName = DEFAULT_INPUT_FILE_NAME;
47                        }
48
49                        if (args.length > 1) {
50                                outputFileName = args[1];
51                                if (outputFileName == null
52                                                || (outputFileName != null && outputFileName.isEmpty() == true)) {
53                                        outputFileName = DEFAULT_OUTPUT_FILE_NAME;
54                                       
55                                }
56                        }
57                }
58               
59                // TODO: Check it this is correct!
60                // TODO: Move it to configuration file         
61                computingResourceClasses = new HashMap<String, String>();
62                computingResourceClasses.put("ComputeBox2", "ComputeBox2");
63                computingResourceClasses.put("ComputeBox1", "ComputeBox1");
64                computingResourceClasses.put("NodeGroup", "NodeGroup");
65                computingResourceClasses.put("Node", "Node");
66                computingResourceClasses.put("Processor", "Processor");
67
68                resourceUnitClasses = new HashMap<String, String>();
69                resourceUnitClasses.put("Sensor", "Sensor");
70                resourceUnitClasses.put("Memory", "Memory");
71                resourceUnitClasses.put("Baseboard", "Baseboard");
72                resourceUnitClasses.put("CoolingDevice", "CoolingDevice");
73                resourceUnitClasses.put("Storage", "Storage");
74               
75                try {
76                        TransformerFactory tFactory = TransformerFactory.newInstance();
77                                               
78                        Transformer transformer = tFactory
79                                        .newTransformer(new javax.xml.transform.stream.StreamSource(
80                                                        debbTransformationFileName));
81                        transformer.setParameter("computingResourceClasses", computingResourceClasses);
82                        transformer.setParameter("resourceUnitClasses", resourceUnitClasses);
83
84                        transformer.transform(new javax.xml.transform.stream.StreamSource(
85                                        inputFileName),
86                                        new javax.xml.transform.stream.StreamResult(
87                                                        new FileOutputStream(outputFileName)));
88                        System.out.println("File " + inputFileName + " transformed into " + outputFileName + " file");
89                       
90                        String debbSortTransformationFileName = DEFAULT_SORT_TRANSFORMATION_FILE_NAME;
91                       
92                        Transformer sortTransformer = tFactory.newTransformer(new javax.xml.transform.stream.StreamSource(
93                                                        debbSortTransformationFileName ));
94                        sortTransformer.transform(new javax.xml.transform.stream.StreamSource(outputFileName), 
95                                        new javax.xml.transform.stream.StreamResult(outputFileName));
96                        System.out.println("File " + outputFileName + " transformed (sorted) into " + outputFileName + " file");
97                } catch (Exception e) {
98                        e.printStackTrace();
99                }
100        }
101}
Note: See TracBrowser for help on using the repository browser.