implement MsaOwner.java partly
authoralfred <alfred@6f19259b-4bc3-4df7-8a09-765794883524>
Mon, 25 Sep 2006 08:54:58 +0000 (08:54 +0000)
committeralfred <alfred@6f19259b-4bc3-4df7-8a09-765794883524>
Mon, 25 Sep 2006 08:54:58 +0000 (08:54 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1608 6f19259b-4bc3-4df7-8a09-765794883524

Tools/Source/MigrationTools/org/tianocore/migration/MigrationTool.java
Tools/Source/MigrationTools/org/tianocore/migration/ModuleInfo.java
Tools/Source/MigrationTools/org/tianocore/migration/MsaOwner.java
Tools/Source/MigrationTools/org/tianocore/migration/MsaWriter.java

index cb1e886009211b49e45b3fb5124e5f08336a5fec..ee3b36f8abbdda132061dca24225726005a3cd72 100644 (file)
@@ -32,13 +32,9 @@ public class MigrationTool {
     private static String startpath = null;\r
     \r
     private static final void mainFlow(ModuleInfo mi) throws Exception {\r
-\r
         ModuleReader.aimAt(mi);\r
-        \r
-        //MigrationTool.ui.yesOrNo("go on replace?");\r
         SourceFileReplacer.fireAt(mi);    // some adding library actions are taken here,so it must be put before "MsaWriter"\r
 \r
-        //MigrationTool.ui.yesOrNo("go on show?");\r
         // show result\r
         if (MigrationTool.printModuleInfo) {\r
             MigrationTool.ui.println("\nModule Information : ");\r
@@ -54,9 +50,7 @@ public class MigrationTool {
             show(mi.hashr8only, "hashr8only : ");\r
         }\r
 \r
-        //MigrationTool.ui.yesOrNo("go on msawrite?");\r
         new MsaWriter(mi).flush();\r
-        //MigrationTool.ui.yesOrNo("go on critic?");\r
 \r
         if (MigrationTool.doCritic) {\r
             Critic.fireAt(ModuleInfoMap.get(mi) + File.separator + "Migration_" + mi.modulename);\r
index b6cd6330d4a979fb0f6956bed2b747c9df0560a4..cf42d9c57a4d32bd167f99f3836739ea12f38426 100644 (file)
@@ -15,8 +15,6 @@ package org.tianocore.migration;
 import java.io.*;\r
 import java.util.*;\r
 \r
-import org.tianocore.ModuleSurfaceAreaDocument;\r
-\r
 /*\r
     Class ModuleInfo is built for scanning the source files, it contains all the needed\r
 information and all the temporary data.\r
@@ -30,8 +28,7 @@ public final class ModuleInfo {
     public final String modulepath;\r
     public final String temppath;\r
     \r
-    //private MsaOwner msaowner = new MsaWriter(this);\r
-    //public ModuleSurfaceAreaDocument msadoc = ModuleSurfaceAreaDocument.Factory.newInstance();\r
+    private MsaOwner msaowner = new MsaOwner();\r
     \r
     public String modulename = null;\r
     public String guidvalue = null;\r
index 4cc133e3abb825f6dadfbd36d76da158e91f87a9..f63e8e14129cb69a0ea0d838bff282c0c71fa0a2 100644 (file)
@@ -1,5 +1,169 @@
 package org.tianocore.migration;\r
 \r
-public interface MsaOwner {\r
-       public void addSourceFiles(String filename, int arch);\r
-}\r
+import org.tianocore.*;\r
+\r
+public class MsaOwner {\r
+       public static final String COPYRIGHT = "Copyright (c) 2006, Intel Corporation";\r
+       public static final String VERSION = "1.0";\r
+       public static final String ABSTRACT = "Component name for module ";\r
+       public static final String DESCRIPTION = "FIX ME!";\r
+       public static final String LICENSE = "All rights reserved.\n" +\r
+    "      This software and associated documentation (if any) is furnished\n" +\r
+    "      under a license and may only be used or copied in accordance\n" +\r
+    "      with the terms of the license. Except as permitted by such\n" +\r
+    "      license, no part of this software or documentation may be\n" +\r
+    "      reproduced, stored in a retrieval system, or transmitted in any\n" +\r
+    "      form or by any means without the express written consent of\n" +\r
+    "      Intel Corporation.";\r
+       public static final String SPECIFICATION = "FRAMEWORK_BUILD_PACKAGING_SPECIFICATION   0x00000052";\r
+       \r
+    private ModuleSurfaceAreaDocument msadoc = ModuleSurfaceAreaDocument.Factory.newInstance();\r
+    \r
+    private ModuleSurfaceAreaDocument.ModuleSurfaceArea msa = null;\r
+    private MsaHeaderDocument.MsaHeader msaheader = null;\r
+    private LicenseDocument.License license = null;\r
+    private ModuleDefinitionsDocument.ModuleDefinitions md = null;\r
+    private SourceFilesDocument.SourceFiles sourcefiles = null;    //found local .h files are not written\r
+    private GuidsDocument.Guids guids = null;\r
+    private ProtocolsDocument.Protocols protocols = null;\r
+    private PPIsDocument.PPIs ppis = null;\r
+    private PackageDependenciesDocument.PackageDependencies pd = null;\r
+    private LibraryClassDefinitionsDocument.LibraryClassDefinitions libclassdefs = null;\r
+    private ExternsDocument.Externs externs = null;\r
+\r
+    //-----------------------------msaheader-------------------------------------//\r
+    public final boolean addSpecification (String specification) {\r
+        if (msaheader.getSpecification() == null) {\r
+            if (specification == null) {\r
+               msaheader.setSpecification(SPECIFICATION);\r
+            } else {\r
+               msaheader.setSpecification(specification);\r
+            }\r
+            return true;\r
+        } else {\r
+               MigrationTool.ui.println ("Warning: Duplicate Specification");\r
+               return false;\r
+        }\r
+    }\r
+    \r
+    public final boolean addLicense (String licensecontent) {\r
+        if (msaheader.getLicense() == null) {\r
+               license = msaheader.addNewLicense();\r
+            if (licensecontent == null) {\r
+               license.setStringValue(LICENSE);\r
+            } else {\r
+               license.setStringValue(licensecontent);\r
+            }\r
+            return true;\r
+        } else {\r
+               MigrationTool.ui.println ("Warning: Duplicate License");\r
+               return false;\r
+        }\r
+    }\r
+    \r
+    public final boolean addDescription (String description) {\r
+        if (msaheader.getDescription() == null) {\r
+            if (description == null) {\r
+               msaheader.setDescription(DESCRIPTION);\r
+            } else {\r
+               msaheader.setDescription(description);\r
+            }\r
+            return true;\r
+        } else {\r
+               MigrationTool.ui.println ("Warning: Duplicate Description");\r
+               return false;\r
+        }\r
+    }\r
+    \r
+    public final boolean addAbstract (String abs) {\r
+        if (msaheader.getAbstract() == null) {\r
+            if (abs == null) {\r
+               msaheader.setAbstract(ABSTRACT + msaheader.getModuleName());\r
+            } else {\r
+               msaheader.setVersion(abs);\r
+            }\r
+            return true;\r
+        } else {\r
+               MigrationTool.ui.println ("Warning: Duplicate Abstract");\r
+               return false;\r
+        }\r
+    }\r
+    \r
+    public final boolean addVersion (String version) {\r
+        if (msaheader.getVersion() == null) {\r
+            if (version == null) {\r
+               msaheader.setVersion(VERSION);\r
+            } else {\r
+               msaheader.setVersion(version);\r
+            }\r
+            return true;\r
+        } else {\r
+               MigrationTool.ui.println ("Warning: Duplicate Version");\r
+               return false;\r
+        }\r
+    }\r
+    \r
+    public final boolean addCopyRight (String copyright) {\r
+       if (msaheader.getCopyright() == null) {\r
+               if (copyright == null) {\r
+                msaheader.setCopyright(COPYRIGHT);\r
+               } else {\r
+                       msaheader.setCopyright(copyright);\r
+               }\r
+               return true;\r
+       } else {\r
+               MigrationTool.ui.println ("Warning: Duplicate CopyRight");\r
+               return false;\r
+       }\r
+    }\r
+    \r
+    public final boolean addModuleType (String moduletype) {\r
+       if (msaheader.getModuleType() == null) {\r
+               msaheader.setModuleType(ModuleTypeDef.Enum.forString(moduletype));\r
+               return true;\r
+       } else {\r
+               MigrationTool.ui.println ("Warning: Duplicate ModuleType");\r
+               return false;\r
+       }\r
+    }\r
+    \r
+    public final boolean addGuidValue (String guidvalue) {\r
+       if (msaheader.getGuidValue() == null) {\r
+               msaheader.setGuidValue(guidvalue);\r
+               return true;\r
+       } else  {\r
+               MigrationTool.ui.println ("Warning: Duplicate GuidValue");\r
+               return false;\r
+       }\r
+    }\r
+    \r
+    public final boolean addModuleName (String modulename) {\r
+       if (msaheader.getModuleName() == null) {\r
+               msaheader.setModuleName(modulename);\r
+               return true;\r
+       } else {\r
+               MigrationTool.ui.println ("Warning: Duplicate ModuleName");\r
+               return false;\r
+       }\r
+    }\r
+    //-----------------------------msaheader-------------------------------------//\r
+    \r
+    public final void addSourceFiles (String filename, int arch) {\r
+       \r
+    }\r
+    \r
+    private final MsaOwner init () {\r
+       msa = msadoc.addNewModuleSurfaceArea();\r
+       msaheader = msa.addNewMsaHeader();\r
+       md = msa.addNewModuleDefinitions();\r
+       sourcefiles = msa.addNewSourceFiles();\r
+       pd = msa.addNewPackageDependencies();\r
+       libclassdefs = msa.addNewLibraryClassDefinitions();\r
+       externs = msa.addNewExterns();\r
+       return this;\r
+    }\r
+    \r
+    public static final MsaOwner initNewMsaOwner() {\r
+       return new MsaOwner().init();\r
+    }\r
+}
\ No newline at end of file
index 2da3c98a23d79a659aba97d1ea90cea90e8854ab..5aeca7f95e85b669c9e35b813f8558fbc5355c69 100644 (file)
@@ -19,10 +19,9 @@ import org.tianocore.*;
 import org.tianocore.SupportedArchitectures.Enum;\r
 import org.apache.xmlbeans.*;\r
 \r
-public class MsaWriter implements MsaOwner {\r
+public class MsaWriter {\r
        MsaWriter(ModuleInfo moduleinfo) {\r
                mi = moduleinfo;\r
-               //msadoc = mi.msadoc;\r
        }\r
        \r
     private ModuleInfo mi;\r
@@ -206,15 +205,7 @@ public class MsaWriter implements MsaOwner {
         bw.flush();\r
         bw.close();\r
     }\r
-    \r
-    //---------------------------MsaOwner---------------------------------//\r
-       \r
-       public void addSourceFiles(String filename, int arch) {\r
-               \r
-       }\r
 \r
-    //---------------------------MsaOwner---------------------------------//\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