]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/MigrationTools/org/tianocore/migration/MsaWriter.java
fix logfile.close(), trim \n
[mirror_edk2.git] / Tools / Source / MigrationTools / org / tianocore / migration / MsaWriter.java
index f79843337c4a32fab4822708a3ec3ac584d962b7..97f6c8c9fa148b0727cb2812bdc38eb027082248 100644 (file)
@@ -20,14 +20,10 @@ import org.tianocore.SupportedArchitectures.Enum;
 import org.apache.xmlbeans.*;\r
 \r
 public class MsaWriter {\r
-       MsaWriter(String path, String outpath, ModuleInfo moduleinfo) {\r
-               modulepath = path;\r
-               outputpath = outpath;\r
+       MsaWriter(ModuleInfo moduleinfo) {\r
                mi = moduleinfo;\r
        }\r
 \r
-       private String modulepath;\r
-       private String outputpath;\r
        private ModuleInfo mi;\r
        \r
        private ModuleSurfaceAreaDocument msadoc = ModuleSurfaceAreaDocument.Factory.newInstance();\r
@@ -91,11 +87,14 @@ public class MsaWriter {
                        msaheader.setGuidValue(mi.guidvalue = Query("Guid Value Not Found!  Please Input Guid Value"));\r
                }\r
                if (mi.moduletype != null) {\r
+                       msaheader.setModuleType(ModuleTypeDef.Enum.forString(mi.getModuleType()));\r
+                       /*\r
                        if (mi.moduletype.contains("PEI")) {\r
                                msaheader.setModuleType(ModuleTypeDef.Enum.forString("PEIM"));\r
                        } else {\r
                                msaheader.setModuleType(ModuleTypeDef.Enum.forString("DXE_DRIVER"));\r
                        }\r
+                       */\r
                } else {\r
                        msaheader.setModuleType(ModuleTypeDef.Enum.forString(mi.moduletype = Query("Guid Value Not Found!  Please Input Guid Value")));\r
                }\r
@@ -185,10 +184,29 @@ public class MsaWriter {
         options.setSavePrettyPrintIndent(2);\r
         options.setUseDefaultNamespace();\r
         \r
-               BufferedWriter bw = new BufferedWriter(new FileWriter(outputpath + File.separator + "Migration_" + mi.modulename + File.separator + mi.modulename + ".msa"));\r
+               BufferedWriter bw = new BufferedWriter(new FileWriter(MigrationTool.ModuleInfoMap.get(mi) + File.separator + "Migration_" + mi.modulename + File.separator + mi.modulename + ".msa"));\r
                fulfillMsadoc().save(bw, options);\r
                //MsaTreeEditor.init(mi, ui, msadoc);\r
                bw.flush();\r
                bw.close();\r
        }\r
+\r
+       private static void flush(String path, ModuleSurfaceAreaDocument msadoc) throws Exception {\r
+        XmlOptions options = new XmlOptions();\r
+\r
+        options.setCharacterEncoding("UTF-8");\r
+        options.setSavePrettyPrint();\r
+        options.setSavePrettyPrintIndent(2);\r
+        options.setUseDefaultNamespace();\r
+\r
+               BufferedWriter bw = new BufferedWriter(new FileWriter(path));\r
+               msadoc.save(bw, options);\r
+               bw.flush();\r
+               bw.close();\r
+       }\r
+       \r
+       public static final void parse(String msafile) throws Exception {\r
+               ModuleSurfaceAreaDocument msadoc = ModuleSurfaceAreaDocument.Factory.parse(msafile);\r
+               flush("c:\\temp.msa", msadoc);\r
+       }\r
 }\r