]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Java/Source/MigrationTools/org/tianocore/migration/MsaWriter.java
Coding Style
[mirror_edk2.git] / Tools / Java / Source / MigrationTools / org / tianocore / migration / MsaWriter.java
index a8e26c573f590814dbfd06a0639dd4e768ddcf76..0c2c9bcb730cab39ee5de8fe41ded3e1d5cefbee 100644 (file)
  **/\r
 package org.tianocore.migration;\r
 \r
  **/\r
 package org.tianocore.migration;\r
 \r
-import java.io.*;\r
-import java.util.*;\r
+import java.io.BufferedReader;\r
+import java.io.BufferedWriter;\r
+import java.io.File;\r
+import java.io.FileWriter;\r
+import java.io.InputStreamReader;\r
+import java.util.ArrayList;\r
+import java.util.Iterator;\r
+import java.util.List;\r
+import java.util.UUID;\r
 \r
 \r
-import org.tianocore.*;\r
+import org.apache.xmlbeans.XmlCursor;\r
+import org.apache.xmlbeans.XmlOptions;\r
+import org.tianocore.ExternsDocument;\r
+import org.tianocore.FilenameDocument;\r
+import org.tianocore.GuidsDocument;\r
+import org.tianocore.LibraryClassDefinitionsDocument;\r
+import org.tianocore.LibraryClassDocument;\r
+import org.tianocore.ModuleDefinitionsDocument;\r
+import org.tianocore.ModuleSurfaceAreaDocument;\r
+import org.tianocore.ModuleTypeDef;\r
+import org.tianocore.MsaHeaderDocument;\r
+import org.tianocore.PPIsDocument;\r
+import org.tianocore.PackageDependenciesDocument;\r
+import org.tianocore.ProtocolsDocument;\r
+import org.tianocore.SourceFilesDocument;\r
+import org.tianocore.SupportedArchitectures;\r
+import org.tianocore.UsageTypes;\r
 import org.tianocore.SupportedArchitectures.Enum;\r
 import org.tianocore.SupportedArchitectures.Enum;\r
-import org.apache.xmlbeans.*;\r
 \r
 public class MsaWriter {\r
 \r
 public class MsaWriter {\r
-    MsaWriter(ModuleInfo moduleinfo) {\r
-        mi = moduleinfo;\r
-    }\r
-    \r
-    private ModuleInfo mi;\r
-    private ModuleSurfaceAreaDocument msadoc = ModuleSurfaceAreaDocument.Factory.newInstance();\r
-    \r
-    private ModuleSurfaceAreaDocument.ModuleSurfaceArea msa = msadoc.addNewModuleSurfaceArea();\r
-    private MsaHeaderDocument.MsaHeader msaheader = msa.addNewMsaHeader();\r
-    private ModuleDefinitionsDocument.ModuleDefinitions md = msa.addNewModuleDefinitions();\r
-    private SourceFilesDocument.SourceFiles sourcefiles = msa.addNewSourceFiles();    //found local .h files are not written\r
-    private GuidsDocument.Guids guids;\r
-    private ProtocolsDocument.Protocols protocols;\r
-    private PPIsDocument.PPIs ppis;\r
-    private PackageDependenciesDocument.PackageDependencies pd = msa.addNewPackageDependencies();\r
-    private LibraryClassDefinitionsDocument.LibraryClassDefinitions libclassdefs = msa.addNewLibraryClassDefinitions();\r
-    private ExternsDocument.Externs externs = msa.addNewExterns();\r
-    \r
-    private String Query (String requirement) throws Exception {\r
-        String answer;\r
-        BufferedReader rd = new BufferedReader(new InputStreamReader(System.in));\r
-        System.out.println(requirement);\r
-        while ((answer = rd.readLine()).length() == 0) ;\r
-        return answer;\r
-    }\r
-    \r
-    private void addSourceFiles (String name) {                        // furthur modification needed\r
-        List<Enum> arch = new ArrayList<Enum>();\r
-        FilenameDocument.Filename filename;\r
-        filename = sourcefiles.addNewFilename();\r
-        filename.setStringValue(name);\r
-        \r
-        if (name.contains("x64" + File.separator)) {                // filename ???\r
-            arch.add(SupportedArchitectures.X_64);\r
-            System.out.println("x64" + File.separator);\r
-            filename.setSupArchList(arch);\r
-        } else if (name.contains("Ia32" + File.separator)) {        // filename ???\r
-            arch.add(SupportedArchitectures.IA_32);\r
-            System.out.println("Ia32" + File.separator);\r
-            filename.setSupArchList(arch);\r
-        } else if (name.contains("Ipf" + File.separator)) {            // filename ???\r
-            arch.add(SupportedArchitectures.IPF);\r
-            System.out.println("Ipf" + File.separator);\r
-            filename.setSupArchList(arch);\r
-        } else if (name.contains("Ebc" + File.separator)) {            // filename ???\r
-            arch.add(SupportedArchitectures.EBC);\r
-            System.out.println("Ebc" + File.separator);\r
-            filename.setSupArchList(arch);\r
-        }\r
-    }\r
-    private void addWrapper() {\r
-        XmlCursor cursor = msa.newCursor();\r
-        String uri = "http://www.TianoCore.org/2006/Edk2.0";\r
-        cursor.push();\r
-        cursor.toNextToken();\r
-        cursor.insertNamespace("", uri);\r
-        cursor.insertNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance");\r
-        cursor.pop();\r
-        msa = (ModuleSurfaceAreaDocument.ModuleSurfaceArea)cursor.getObject();\r
-    }\r
-    private ModuleSurfaceAreaDocument fulfillMsadoc() throws Exception {\r
-        Iterator<String> it;\r
-        String temp;\r
-       \r
-        if (mi.modulename != null) {\r
-            msaheader.setModuleName(mi.modulename);\r
-        } else {\r
-            msaheader.setModuleName(mi.modulename = Query("Module Name Not Found!  Please Input ModuleName"));\r
-        }\r
-        if (mi.guidvalue == null) {\r
-          mi.guidvalue = UUID.randomUUID().toString();\r
-          MigrationTool.ui.println ("Guid value can not be retrieved from inf file. Generate " + mi.guidvalue + " at random!"); \r
-        } \r
-        msaheader.setGuidValue(mi.guidvalue);\r
-        if (mi.moduletype != null) {\r
-            msaheader.setModuleType(ModuleTypeDef.Enum.forString(mi.getModuleType()));\r
-        } else {\r
-            msaheader.setModuleType(ModuleTypeDef.Enum.forString(mi.moduletype = Query("Guid Value Not Found!  Please Input Guid Value")));\r
-        }\r
-\r
-        msaheader.setCopyright("Copyright (c) 2006, Intel Corporation. All right reserved.");\r
-        msaheader.setVersion("1.0");\r
-        msaheader.setAbstract("Component name for module " + mi.modulename);\r
-        msaheader.setDescription("FIX ME!");\r
-\r
-        if (mi.license == null) {\r
-            mi.license = "FIX ME!";\r
-            MigrationTool.ui.println ("Fail to extract license info in inf file"); \r
-        }\r
-        msaheader.addNewLicense().setStringValue(mi.license);\r
-        msaheader.setSpecification("FRAMEWORK_BUILD_PACKAGING_SPECIFICATION   0x00000052");\r
-        \r
-        List<Enum> arch = new ArrayList<Enum>();\r
-        arch.add(SupportedArchitectures.IA_32);\r
-        arch.add(SupportedArchitectures.X_64);\r
-        arch.add(SupportedArchitectures.IPF);\r
-        arch.add(SupportedArchitectures.EBC);\r
-        md.setSupportedArchitectures(arch);\r
-        md.setBinaryModule(false);\r
-        md.setOutputFileBasename(mi.modulename);\r
-        //\r
-        // For now, simply add all package guids in the database. \r
-        // \r
-        it = MigrationTool.db.dumpAllPkgGuid();\r
-        while (it.hasNext()) {\r
-            pd.addNewPackage().setPackageGuid(it.next());\r
-        }\r
-        externs.addNewSpecification().setStringValue("EFI_SPECIFICATION_VERSION 0x00020000");\r
-        externs.addNewSpecification().setStringValue("EDK_RELEASE_VERSION 0x00020000");\r
-        if (mi.entrypoint != null) {\r
-            externs.addNewExtern().setModuleEntryPoint(mi.entrypoint);\r
-            org.tianocore.ModuleTypeDef.Enum moduleType = msaheader.getModuleType();\r
-            if (moduleType == ModuleTypeDef.PEIM) {\r
-                mi.hashrequiredr9libs.add("PeimEntryPoint");\r
-            } else {\r
-                mi.hashrequiredr9libs.add("UefiDriverEntryPoint");\r
-            }\r
-        }\r
-       \r
-        it = mi.localmodulesources.iterator();\r
-        while (it.hasNext()) {\r
-            addSourceFiles(it.next());\r
-        }\r
-        if (!mi.protocols.isEmpty()) {\r
-            protocols = msa.addNewProtocols();\r
-            it = mi.protocols.iterator();\r
-            while (it.hasNext()) {\r
-                if ((temp = it.next()) != null) {\r
-                    ProtocolsDocument.Protocols.Protocol pr = protocols.addNewProtocol();\r
-                    pr.setProtocolCName(temp);\r
-                    pr.setUsage(UsageTypes.ALWAYS_CONSUMED);\r
-                }\r
-            }\r
-        }\r
-        if (!mi.ppis.isEmpty()) {\r
-            ppis = msa.addNewPPIs();\r
-            it = mi.ppis.iterator();\r
-            while (it.hasNext()) {\r
-                if ((temp = it.next()) != null) {\r
-                    PPIsDocument.PPIs.Ppi pp = ppis.addNewPpi();\r
-                    pp.setPpiCName(temp);\r
-                    pp.setUsage(UsageTypes.ALWAYS_CONSUMED);\r
-                }\r
-            }\r
-        }\r
-        if (!mi.guids.isEmpty()) {\r
-            guids = msa.addNewGuids();\r
-            it = mi.guids.iterator();\r
-            while (it.hasNext()) {\r
-                if ((temp = it.next()) != null) {\r
-                    GuidsDocument.Guids.GuidCNames gcn = guids.addNewGuidCNames();\r
-                    gcn.setGuidCName(temp);\r
-                    gcn.setUsage(UsageTypes.ALWAYS_CONSUMED);\r
-                }\r
-            }\r
-        }\r
-        it = mi.hashrequiredr9libs.iterator();\r
-        while (it.hasNext()) {\r
-            if ((temp = it.next()) != null && !temp.matches("%") && !temp.matches("n/a")) {\r
-                LibraryClassDocument.LibraryClass lc = libclassdefs.addNewLibraryClass();\r
-                lc.setKeyword(temp);\r
-                lc.setUsage(UsageTypes.ALWAYS_CONSUMED);\r
-            }\r
-        }\r
-        addWrapper();\r
-        msadoc.setModuleSurfaceArea(msa);\r
-        return msadoc;\r
-    }\r
-    \r
-    public void flush() 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(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
+       MsaWriter(ModuleInfo moduleinfo) {\r
+               mi = moduleinfo;\r
+       }\r
+\r
+       private ModuleInfo mi;\r
+\r
+       private ModuleSurfaceAreaDocument msadoc = ModuleSurfaceAreaDocument.Factory\r
+                       .newInstance();\r
+\r
+       private ModuleSurfaceAreaDocument.ModuleSurfaceArea msa = msadoc\r
+                       .addNewModuleSurfaceArea();\r
+\r
+       private MsaHeaderDocument.MsaHeader msaheader = msa.addNewMsaHeader();\r
+\r
+       private ModuleDefinitionsDocument.ModuleDefinitions md = msa\r
+                       .addNewModuleDefinitions();\r
+\r
+       private SourceFilesDocument.SourceFiles sourcefiles = msa\r
+                       .addNewSourceFiles(); // found local .h files are not written\r
+\r
+       private GuidsDocument.Guids guids;\r
+\r
+       private ProtocolsDocument.Protocols protocols;\r
+\r
+       private PPIsDocument.PPIs ppis;\r
+\r
+       private PackageDependenciesDocument.PackageDependencies pd = msa\r
+                       .addNewPackageDependencies();\r
+\r
+       private LibraryClassDefinitionsDocument.LibraryClassDefinitions libclassdefs = msa\r
+                       .addNewLibraryClassDefinitions();\r
+\r
+       private ExternsDocument.Externs externs = msa.addNewExterns();\r
+\r
+       private String Query(String requirement) throws Exception {\r
+               String answer;\r
+               BufferedReader rd = new BufferedReader(new InputStreamReader(System.in));\r
+               System.out.println(requirement);\r
+               while ((answer = rd.readLine()).length() == 0)\r
+                       ;\r
+               return answer;\r
+       }\r
+\r
+       private void addSourceFiles(String name) { // furthur modification needed\r
+               List<Enum> arch = new ArrayList<Enum>();\r
+               FilenameDocument.Filename filename;\r
+               filename = sourcefiles.addNewFilename();\r
+               filename.setStringValue(name);\r
+\r
+               if (name.contains("x64" + File.separator)) { // filename ???\r
+                       arch.add(SupportedArchitectures.X_64);\r
+                       System.out.println("x64" + File.separator);\r
+                       filename.setSupArchList(arch);\r
+               } else if (name.contains("Ia32" + File.separator)) { // filename ???\r
+                       arch.add(SupportedArchitectures.IA_32);\r
+                       System.out.println("Ia32" + File.separator);\r
+                       filename.setSupArchList(arch);\r
+               } else if (name.contains("Ipf" + File.separator)) { // filename ???\r
+                       arch.add(SupportedArchitectures.IPF);\r
+                       System.out.println("Ipf" + File.separator);\r
+                       filename.setSupArchList(arch);\r
+               } else if (name.contains("Ebc" + File.separator)) { // filename ???\r
+                       arch.add(SupportedArchitectures.EBC);\r
+                       System.out.println("Ebc" + File.separator);\r
+                       filename.setSupArchList(arch);\r
+               }\r
+       }\r
+\r
+       private void addWrapper() {\r
+               XmlCursor cursor = msa.newCursor();\r
+               String uri = "http://www.TianoCore.org/2006/Edk2.0";\r
+               cursor.push();\r
+               cursor.toNextToken();\r
+               cursor.insertNamespace("", uri);\r
+               cursor.insertNamespace("xsi",\r
+                               "http://www.w3.org/2001/XMLSchema-instance");\r
+               cursor.pop();\r
+               msa = (ModuleSurfaceAreaDocument.ModuleSurfaceArea) cursor.getObject();\r
+       }\r
+\r
+       private ModuleSurfaceAreaDocument fulfillMsadoc() throws Exception {\r
+               Iterator<String> it;\r
+               String temp;\r
+\r
+               if (mi.modulename != null) {\r
+                       msaheader.setModuleName(mi.modulename);\r
+               } else {\r
+                       msaheader\r
+                                       .setModuleName(mi.modulename = Query("Module Name Not Found!  Please Input ModuleName"));\r
+               }\r
+               if (mi.guidvalue == null) {\r
+                       mi.guidvalue = UUID.randomUUID().toString();\r
+                       MigrationTool.ui\r
+                                       .println("Guid value can not be retrieved from inf file. Generate "\r
+                                                       + mi.guidvalue + " at random!");\r
+               }\r
+               msaheader.setGuidValue(mi.guidvalue);\r
+               if (mi.moduletype != null) {\r
+                       msaheader.setModuleType(ModuleTypeDef.Enum.forString(mi\r
+                                       .getModuleType()));\r
+               } else {\r
+                       msaheader\r
+                                       .setModuleType(ModuleTypeDef.Enum\r
+                                                       .forString(mi.moduletype = Query("Guid Value Not Found!  Please Input Guid Value")));\r
+               }\r
+\r
+               msaheader\r
+                               .setCopyright("Copyright (c) 2006, Intel Corporation. All right reserved.");\r
+               msaheader.setVersion("1.0");\r
+               msaheader.setAbstract("Component name for module " + mi.modulename);\r
+               msaheader.setDescription("FIX ME!");\r
+\r
+               if (mi.license == null) {\r
+                       mi.license = "FIX ME!";\r
+                       MigrationTool.ui\r
+                                       .println("Fail to extract license info in inf file");\r
+               }\r
+               msaheader.addNewLicense().setStringValue(mi.license);\r
+               msaheader\r
+                               .setSpecification("FRAMEWORK_BUILD_PACKAGING_SPECIFICATION   0x00000052");\r
+\r
+               List<Enum> arch = new ArrayList<Enum>();\r
+               arch.add(SupportedArchitectures.IA_32);\r
+               arch.add(SupportedArchitectures.X_64);\r
+               arch.add(SupportedArchitectures.IPF);\r
+               arch.add(SupportedArchitectures.EBC);\r
+               md.setSupportedArchitectures(arch);\r
+               md.setBinaryModule(false);\r
+               md.setOutputFileBasename(mi.modulename);\r
+               //\r
+               // For now, simply add all package guids in the database.\r
+               // \r
+               it = MigrationTool.db.dumpAllPkgGuid();\r
+               while (it.hasNext()) {\r
+                       pd.addNewPackage().setPackageGuid(it.next());\r
+               }\r
+               externs.addNewSpecification().setStringValue(\r
+                               "EFI_SPECIFICATION_VERSION 0x00020000");\r
+               externs.addNewSpecification().setStringValue(\r
+                               "EDK_RELEASE_VERSION 0x00020000");\r
+               if (mi.entrypoint != null) {\r
+                       externs.addNewExtern().setModuleEntryPoint(mi.entrypoint);\r
+                       org.tianocore.ModuleTypeDef.Enum moduleType = msaheader\r
+                                       .getModuleType();\r
+                       if (moduleType == ModuleTypeDef.PEIM) {\r
+                               mi.hashrequiredr9libs.add("PeimEntryPoint");\r
+                       } else {\r
+                               mi.hashrequiredr9libs.add("UefiDriverEntryPoint");\r
+                       }\r
+               }\r
+\r
+               it = mi.localmodulesources.iterator();\r
+               while (it.hasNext()) {\r
+                       addSourceFiles(it.next());\r
+               }\r
+               if (!mi.protocols.isEmpty()) {\r
+                       protocols = msa.addNewProtocols();\r
+                       it = mi.protocols.iterator();\r
+                       while (it.hasNext()) {\r
+                               if ((temp = it.next()) != null) {\r
+                                       ProtocolsDocument.Protocols.Protocol pr = protocols\r
+                                                       .addNewProtocol();\r
+                                       pr.setProtocolCName(temp);\r
+                                       pr.setUsage(UsageTypes.ALWAYS_CONSUMED);\r
+                               }\r
+                       }\r
+               }\r
+               if (!mi.ppis.isEmpty()) {\r
+                       ppis = msa.addNewPPIs();\r
+                       it = mi.ppis.iterator();\r
+                       while (it.hasNext()) {\r
+                               if ((temp = it.next()) != null) {\r
+                                       PPIsDocument.PPIs.Ppi pp = ppis.addNewPpi();\r
+                                       pp.setPpiCName(temp);\r
+                                       pp.setUsage(UsageTypes.ALWAYS_CONSUMED);\r
+                               }\r
+                       }\r
+               }\r
+               if (!mi.guids.isEmpty()) {\r
+                       guids = msa.addNewGuids();\r
+                       it = mi.guids.iterator();\r
+                       while (it.hasNext()) {\r
+                               if ((temp = it.next()) != null) {\r
+                                       GuidsDocument.Guids.GuidCNames gcn = guids\r
+                                                       .addNewGuidCNames();\r
+                                       gcn.setGuidCName(temp);\r
+                                       gcn.setUsage(UsageTypes.ALWAYS_CONSUMED);\r
+                               }\r
+                       }\r
+               }\r
+               it = mi.hashrequiredr9libs.iterator();\r
+               while (it.hasNext()) {\r
+                       if ((temp = it.next()) != null && !temp.matches("%")\r
+                                       && !temp.matches("n/a")) {\r
+                               LibraryClassDocument.LibraryClass lc = libclassdefs\r
+                                               .addNewLibraryClass();\r
+                               lc.setKeyword(temp);\r
+                               lc.setUsage(UsageTypes.ALWAYS_CONSUMED);\r
+                       }\r
+               }\r
+               addWrapper();\r
+               msadoc.setModuleSurfaceArea(msa);\r
+               return msadoc;\r
+       }\r
+\r
+       public void flush() 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(\r
+                               MigrationTool.ModuleInfoMap.get(mi) + File.separator\r
+                                               + "Migration_" + mi.modulename + File.separator\r
+                                               + 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)\r
+                       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\r
+                               .parse(msafile);\r
+               flush("c:\\temp.msa", msadoc);\r
+       }\r
 }\r
 }\r