]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Enhance MsaOwner.java
authoralfred <alfred@6f19259b-4bc3-4df7-8a09-765794883524>
Mon, 16 Oct 2006 08:55:58 +0000 (08:55 +0000)
committeralfred <alfred@6f19259b-4bc3-4df7-8a09-765794883524>
Mon, 16 Oct 2006 08:55:58 +0000 (08:55 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1760 6f19259b-4bc3-4df7-8a09-765794883524

Tools/Java/Source/MigrationTools/org/tianocore/migration/Database.java
Tools/Java/Source/MigrationTools/org/tianocore/migration/Guid.java
Tools/Java/Source/MigrationTools/org/tianocore/migration/MigrationTool.java
Tools/Java/Source/MigrationTools/org/tianocore/migration/ModuleInfo.java
Tools/Java/Source/MigrationTools/org/tianocore/migration/MsaOwner.java
Tools/Java/Source/MigrationTools/org/tianocore/migration/SourceFileReplacer.java

index f14184ab61c4b498daad620f85ba60ac4822b395..646158557bc0a910ff8bb43b70b272839a8aac67 100644 (file)
@@ -49,7 +49,6 @@ public final class Database {
        BufferedReader rd = new BufferedReader(new FileReader(DatabasePath + File.separator + filename));\r
         String line;\r
         String[] linecontext;\r
        BufferedReader rd = new BufferedReader(new FileReader(DatabasePath + File.separator + filename));\r
         String line;\r
         String[] linecontext;\r
-        Func lf;\r
         \r
         if (rd.ready()) {\r
             System.out.println("Found " + filename + ", Importing Package Guid Database.");\r
         \r
         if (rd.ready()) {\r
             System.out.println("Found " + filename + ", Importing Package Guid Database.");\r
index e6fd4c3526193156a131ce84bebcc9aa99d8014f..bbf79d8ca6f03645eb9778062ca2397896bf8dbb 100644 (file)
@@ -14,6 +14,8 @@ package org.tianocore.migration;
 \r
 import java.util.regex.*;\r
 \r
 \r
 import java.util.regex.*;\r
 \r
+import org.tianocore.UsageTypes;\r
+\r
 public class Guid {\r
     Guid (String r8, String t, String n, String r9, String gv, String p) {\r
         r8name = r8;\r
 public class Guid {\r
     Guid (String r8, String t, String n, String r9, String gv, String p) {\r
         r8name = r8;\r
@@ -48,11 +50,14 @@ public class Guid {
         if (MigrationTool.db.hasGuid(temp)) {        // only changed guids registered, because both changed and not changed guids are included in database\r
             type = MigrationTool.db.getGuidType(temp);\r
             if (type.matches("Protocol")) {\r
         if (MigrationTool.db.hasGuid(temp)) {        // only changed guids registered, because both changed and not changed guids are included in database\r
             type = MigrationTool.db.getGuidType(temp);\r
             if (type.matches("Protocol")) {\r
-                mi.protocols.add(temp);\r
+               mi.addProtocol(temp, UsageTypes.ALWAYS_CONSUMED);\r
+                //mi.protocols.add(temp);\r
             } else if (type.matches("Ppi")) {\r
             } else if (type.matches("Ppi")) {\r
-                mi.ppis.add(temp);\r
+               mi.addPpi(temp, UsageTypes.ALWAYS_CONSUMED);\r
+                //mi.ppis.add(temp);\r
             } else if (type.matches("Guid")) {\r
             } else if (type.matches("Guid")) {\r
-                mi.guids.add(temp);\r
+               mi.addGuid(temp, UsageTypes.ALWAYS_CONSUMED);\r
+                //mi.guids.add(temp);\r
             }\r
             return temp;\r
         }\r
             }\r
             return temp;\r
         }\r
index 4e6b30c223ef888c2e60c0ae9139b94ba08418eb..1ab5bbffb2f74c8beaa343bde56e610033d421ae 100644 (file)
@@ -51,15 +51,10 @@ public class MigrationTool {
             show(mi.hashnonlocalfunc, "nonlocal : ");\r
             show(mi.hashr8only, "hashr8only : ");\r
         }\r
             show(mi.hashnonlocalfunc, "nonlocal : ");\r
             show(mi.hashr8only, "hashr8only : ");\r
         }\r
-\r
         new MsaWriter(mi).flush();\r
 \r
         new MsaWriter(mi).flush();\r
 \r
-        mi.addProtocol("protocol", UsageTypes.ALWAYS_CONSUMED);\r
-        mi.addGuid("guid", UsageTypes.ALWAYS_CONSUMED);\r
-        mi.addLibraryClass("class", UsageTypes.ALWAYS_CONSUMED);\r
-        mi.addPpi("ppi", UsageTypes.ALWAYS_CONSUMED);\r
-        mi.getMsaOwner().flush(MigrationTool.ModuleInfoMap.get(mi) + File.separator + "Migration_" + mi.modulename + File.separator + mi.modulename + ".___");\r
-        \r
+        //mi.getMsaOwner().flush(MigrationTool.ModuleInfoMap.get(mi) + File.separator + "Migration_" + mi.modulename + File.separator + mi.modulename + ".___");\r
+\r
         if (MigrationTool.doCritic) {\r
             Critic.fireAt(ModuleInfoMap.get(mi) + File.separator + "Migration_" + mi.modulename);\r
         }\r
         if (MigrationTool.doCritic) {\r
             Critic.fireAt(ModuleInfoMap.get(mi) + File.separator + "Migration_" + mi.modulename);\r
         }\r
index 48ecc56e56b88adb062618801456f1809ed2dc86..69862f67a129dc8ba1442d7d96a45c29c37eebca 100644 (file)
@@ -16,6 +16,7 @@ import java.io.*;
 import java.util.*;\r
 \r
 import org.tianocore.UsageTypes;\r
 import java.util.*;\r
 \r
 import org.tianocore.UsageTypes;\r
+import org.tianocore.SupportedArchitectures.Enum;\r
 \r
 /*\r
     Class ModuleInfo is built for scanning the source files, it contains all the needed\r
 \r
 /*\r
     Class ModuleInfo is built for scanning the source files, it contains all the needed\r
@@ -59,24 +60,40 @@ public final class ModuleInfo {
 \r
     //-----------------------------------------------------------------------------------//\r
 \r
 \r
     //-----------------------------------------------------------------------------------//\r
 \r
+    //addModuleType\r
+    //addGuidValue\r
+    //addModuleName\r
+    \r
+    public final boolean addSourceFile (String filename, Enum en) {\r
+       localmodulesources.add(filename);\r
+       return msaowner.addSourceFile(filename, en);\r
+    }\r
+    \r
     public final boolean addProtocol (String proname, UsageTypes.Enum usage) {\r
     public final boolean addProtocol (String proname, UsageTypes.Enum usage) {\r
-        //protocols.add(proname);\r
+        protocols.add(proname);\r
         return msaowner.addProtocol(proname, usage);\r
     }\r
     \r
     public final boolean addPpi (String ppiname, UsageTypes.Enum usage) {\r
         return msaowner.addProtocol(proname, usage);\r
     }\r
     \r
     public final boolean addPpi (String ppiname, UsageTypes.Enum usage) {\r
-        //ppis.add(ppiname);\r
+        ppis.add(ppiname);\r
         return msaowner.addPpi(ppiname, usage);\r
     }\r
     \r
     public final boolean addGuid (String guidname, UsageTypes.Enum usage) {\r
         return msaowner.addPpi(ppiname, usage);\r
     }\r
     \r
     public final boolean addGuid (String guidname, UsageTypes.Enum usage) {\r
-        //guids.add(guidname);\r
+        guids.add(guidname);\r
         return msaowner.addGuid(guidname, usage);\r
     }\r
     \r
     public final boolean addLibraryClass(String name, UsageTypes.Enum usage) {\r
         return msaowner.addGuid(guidname, usage);\r
     }\r
     \r
     public final boolean addLibraryClass(String name, UsageTypes.Enum usage) {\r
-        //hashrequiredr9libs.add(name);\r
-        return msaowner.addLibraryClass(name, usage);\r
+       //\r
+       // This section is only for adding library classes, this functionality should be inside MsaOwner!!!\r
+       //\r
+       //if (!hashrequiredr9libs.contains(name)) {\r
+               msaowner.addLibraryClass(name, usage);\r
+       //}\r
+       //\r
+        hashrequiredr9libs.add(name);\r
+        return true;\r
     }\r
     \r
     //-----------------------------------------------------------------------------------//\r
     }\r
     \r
     //-----------------------------------------------------------------------------------//\r
@@ -93,7 +110,7 @@ public final class ModuleInfo {
         String temp = null;\r
         if (filepath.contains(".c") || filepath.contains(".C") || filepath.contains(".h") || \r
                 filepath.contains(".H") || filepath.contains(".dxs") || filepath.contains(".uni")) {\r
         String temp = null;\r
         if (filepath.contains(".c") || filepath.contains(".C") || filepath.contains(".h") || \r
                 filepath.contains(".H") || filepath.contains(".dxs") || filepath.contains(".uni")) {\r
-            localmodulesources.add(filepath.replace(modulepath + File.separator, ""));\r
+               addSourceFile(filepath.replace(modulepath + File.separator, ""), null);\r
         } else if (filepath.contains(".inf") || filepath.contains(".msa")) {\r
             temp = filepath.replace(modulepath + File.separator, "");\r
             if (!temp.contains(File.separator)) {                            // .inf in subdirectory is not regarded\r
         } else if (filepath.contains(".inf") || filepath.contains(".msa")) {\r
             temp = filepath.replace(modulepath + File.separator, "");\r
             if (!temp.contains(File.separator)) {                            // .inf in subdirectory is not regarded\r
index 5c2eaf0caf97c8bb62cb310da71a2fe87d58195a..7aa90da6ba9b6b3c66550af4518b792ab535ed82 100644 (file)
@@ -61,19 +61,35 @@ public class MsaOwner {
     //-----------------------------msaheader-------------------------------------//\r
 \r
     public final boolean addLibraryClass (String name, UsageTypes.Enum usage) {\r
     //-----------------------------msaheader-------------------------------------//\r
 \r
     public final boolean addLibraryClass (String name, UsageTypes.Enum usage) {\r
-        Iterator<LibraryClassDocument.LibraryClass> classit = libclassdefs.getLibraryClassList().iterator();\r
-        while (classit.hasNext()) {\r
-            if (classit.next().getKeyword() == name) {\r
-                MigrationTool.ui.println ("Warning: Duplicate LibraryClass");\r
-                return false;\r
+       /*\r
+       if (!libclassdefs.getLibraryClassList().contains(name)) {\r
+            LibraryClassDocument.LibraryClass classname;\r
+            classname = libclassdefs.addNewLibraryClass();\r
+            classname.setKeyword(name);\r
+            classname.setUsage(usage);\r
+            return true;\r
+       } else {\r
+               return false;\r
+       }\r
+       */\r
+       if (name == null) {\r
+               return false;\r
+       } else {\r
+            Iterator<LibraryClassDocument.LibraryClass> classit = libclassdefs.getLibraryClassList().iterator();\r
+            while (classit.hasNext()) {\r
+                if (classit.next().getKeyword().matches(name)) {\r
+                    //MigrationTool.ui.println ("Warning: Duplicate LibraryClass");\r
+                    return false;\r
+                }\r
             }\r
             }\r
-        }\r
-        \r
-        LibraryClassDocument.LibraryClass classname;\r
-        classname = libclassdefs.addNewLibraryClass();\r
-        classname.setKeyword(name);\r
-        classname.setUsage(usage);\r
-        return true;\r
+            \r
+            LibraryClassDocument.LibraryClass classname;\r
+            classname = libclassdefs.addNewLibraryClass();\r
+            classname.setKeyword(name);\r
+            classname.setUsage(usage);\r
+            return true;\r
+            \r
+       }\r
     }\r
     \r
     public final boolean addGuid (String guidname, UsageTypes.Enum usage) {\r
     }\r
     \r
     public final boolean addGuid (String guidname, UsageTypes.Enum usage) {\r
@@ -84,7 +100,7 @@ public class MsaOwner {
         Iterator<GuidsDocument.Guids.GuidCNames> guidit = guids.getGuidCNamesList().iterator();\r
         while (guidit.hasNext()) {\r
             if (guidit.next().getGuidCName() == guidname) {\r
         Iterator<GuidsDocument.Guids.GuidCNames> guidit = guids.getGuidCNamesList().iterator();\r
         while (guidit.hasNext()) {\r
             if (guidit.next().getGuidCName() == guidname) {\r
-                MigrationTool.ui.println ("Warning: Duplicate Guid");\r
+                //MigrationTool.ui.println ("Warning: Duplicate Guid");\r
                 return false;\r
             }\r
         }\r
                 return false;\r
             }\r
         }\r
@@ -105,7 +121,7 @@ public class MsaOwner {
         Iterator<PPIsDocument.PPIs.Ppi> ppiit = ppis.getPpiList().iterator();\r
         while (ppiit.hasNext()) {\r
             if (ppiit.next().getPpiCName() == ppiname) {\r
         Iterator<PPIsDocument.PPIs.Ppi> ppiit = ppis.getPpiList().iterator();\r
         while (ppiit.hasNext()) {\r
             if (ppiit.next().getPpiCName() == ppiname) {\r
-                MigrationTool.ui.println ("Warning: Duplicate Ppi");\r
+                //MigrationTool.ui.println ("Warning: Duplicate Ppi");\r
                 return false;\r
             }\r
         }\r
                 return false;\r
             }\r
         }\r
@@ -150,7 +166,7 @@ public class MsaOwner {
         Iterator<ProtocolsDocument.Protocols.Protocol> proit = protocols.getProtocolList().iterator();\r
         while (proit.hasNext()) {\r
             if (proit.next().getProtocolCName() == proname) {\r
         Iterator<ProtocolsDocument.Protocols.Protocol> proit = protocols.getProtocolList().iterator();\r
         while (proit.hasNext()) {\r
             if (proit.next().getProtocolCName() == proname) {\r
-                MigrationTool.ui.println ("Warning: Duplicate Protocol");\r
+                //MigrationTool.ui.println ("Warning: Duplicate Protocol");\r
                 return false;\r
             }\r
         }\r
                 return false;\r
             }\r
         }\r
@@ -375,6 +391,15 @@ public class MsaOwner {
     }\r
     //-----------------------------msaheader-------------------------------------//\r
     \r
     }\r
     //-----------------------------msaheader-------------------------------------//\r
     \r
+    private final void fullfill () throws Exception {\r
+       addCopyRight(null);\r
+       addVersion(null);\r
+       addAbstract(null);\r
+       addDescription(null);\r
+       addLicense(null);\r
+       addSpecification(null);\r
+    }\r
+    \r
     public final void flush(String outputpath) throws Exception {\r
         XmlOptions options = new XmlOptions();\r
 \r
     public final void flush(String outputpath) throws Exception {\r
         XmlOptions options = new XmlOptions();\r
 \r
@@ -384,6 +409,7 @@ public class MsaOwner {
         options.setUseDefaultNamespace();\r
         \r
         BufferedWriter bw = new BufferedWriter(new FileWriter(outputpath));\r
         options.setUseDefaultNamespace();\r
         \r
         BufferedWriter bw = new BufferedWriter(new FileWriter(outputpath));\r
+        fullfill();\r
         msadoc.save(bw, options);\r
         bw.flush();\r
         bw.close();\r
         msadoc.save(bw, options);\r
         bw.flush();\r
         bw.close();\r
index e37f7f46b243ede6a5a45d8634153414ac9616d8..843af37c900ef1c74a02040010df82e5a21303c4 100644 (file)
@@ -17,6 +17,8 @@ import java.util.*;
 import java.util.regex.Matcher;\r
 import java.util.regex.Pattern;\r
 \r
 import java.util.regex.Matcher;\r
 import java.util.regex.Pattern;\r
 \r
+import org.tianocore.UsageTypes;\r
+\r
 public final class SourceFileReplacer implements Common.ForDoAll {\r
     private static final SourceFileReplacer SFReplacer = new SourceFileReplacer();\r
     private ModuleInfo mi;\r
 public final class SourceFileReplacer implements Common.ForDoAll {\r
     private static final SourceFileReplacer SFReplacer = new SourceFileReplacer();\r
     private ModuleInfo mi;\r
@@ -297,7 +299,8 @@ public final class SourceFileReplacer implements Common.ForDoAll {
         it = symbolSet.iterator();\r
         while (it.hasNext()) {\r
             r8thing = it.next();\r
         it = symbolSet.iterator();\r
         while (it.hasNext()) {\r
             r8thing = it.next();\r
-            mi.hashrequiredr9libs.add(MigrationTool.db.getR9Lib(r8thing));                // add a library here\r
+            mi.addLibraryClass(MigrationTool.db.getR9Lib(r8thing), UsageTypes.ALWAYS_CONSUMED);\r
+            //mi.hashrequiredr9libs.add(MigrationTool.db.getR9Lib(r8thing));            // add a library here\r
  \r
             r8tor9 temp;\r
             if ((r9thing = MigrationTool.db.getR9Func(r8thing)) != null) {\r
  \r
             r8tor9 temp;\r
             if ((r9thing = MigrationTool.db.getR9Func(r8thing)) != null) {\r