]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/workspace/WorkspaceTools.java
set default value of PCD from msa file or spd file.
[mirror_edk2.git] / Tools / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / workspace / WorkspaceTools.java
index 46c325e3b3b8d004debbb006baaf2d18d9d40e93..3c575ed3cd437e963d2e6d06260cdd21de124697 100644 (file)
@@ -34,13 +34,16 @@ import org.tianocore.SourceFilesDocument.SourceFiles;
 import org.tianocore.SpdHeaderDocument.SpdHeader;\r
 import org.tianocore.frameworkwizard.common.DataType;\r
 import org.tianocore.frameworkwizard.common.Log;\r
+import org.tianocore.frameworkwizard.common.OpenFile;\r
 import org.tianocore.frameworkwizard.common.SaveFile;\r
+import org.tianocore.frameworkwizard.common.Sort;\r
 import org.tianocore.frameworkwizard.common.Tools;\r
 import org.tianocore.frameworkwizard.common.Identifications.Identification;\r
-import org.tianocore.frameworkwizard.common.Identifications.OpenFile;\r
 import org.tianocore.frameworkwizard.far.FarHeader;\r
 import org.tianocore.frameworkwizard.far.FarIdentification;\r
 import org.tianocore.frameworkwizard.module.Identifications.ModuleIdentification;\r
+import org.tianocore.frameworkwizard.module.Identifications.PcdCoded.PcdIdentification;\r
+import org.tianocore.frameworkwizard.module.Identifications.PcdCoded.PcdVector;\r
 import org.tianocore.frameworkwizard.packaging.PackageIdentification;\r
 import org.tianocore.frameworkwizard.platform.PlatformIdentification;\r
 \r
@@ -104,7 +107,7 @@ public class WorkspaceTools {
         try {\r
             SaveFile.saveDbFile(strFrameworkDbFilePath, fdb);\r
         } catch (Exception e) {\r
-            e.printStackTrace();\r
+            Log.err("Save Database File", e.getMessage());\r
         }\r
     }\r
 \r
@@ -154,7 +157,7 @@ public class WorkspaceTools {
         try {\r
             SaveFile.saveDbFile(strFrameworkDbFilePath, fdb);\r
         } catch (Exception e) {\r
-            e.printStackTrace();\r
+            Log.err("Save Database File", e.getMessage());\r
         }\r
     }\r
 \r
@@ -216,11 +219,11 @@ public class WorkspaceTools {
                 }\r
             }\r
         } catch (IOException e) {\r
-\r
+            Log.err("Get all mdoules of a package " + path, e.getMessage());\r
         } catch (XmlException e) {\r
-\r
+            Log.err("Get all mdoules of a package " + path, e.getMessage());\r
         } catch (Exception e) {\r
-\r
+            Log.err("Get all mdoules of a package " + path, e.getMessage());\r
         }\r
         return modulePath;\r
     }\r
@@ -244,11 +247,11 @@ public class WorkspaceTools {
                 }\r
             }\r
         } catch (IOException e) {\r
-\r
+            Log.err("Get all Industry Std Includes of a package " + path, e.getMessage());\r
         } catch (XmlException e) {\r
-\r
+            Log.err("Get all Industry Std Includes of a package " + path, e.getMessage());\r
         } catch (Exception e) {\r
-\r
+            Log.err("Get all Industry Std Includes of a package " + path, e.getMessage());\r
         }\r
         return includePath;\r
     }\r
@@ -274,16 +277,13 @@ public class WorkspaceTools {
                 vPackageList.addElement(new PackageIdentification(id));\r
             } catch (IOException e) {\r
                 Log.err("Open Package Surface Area " + path, e.getMessage());\r
-\r
             } catch (XmlException e) {\r
                 Log.err("Open Package Surface Area " + path, e.getMessage());\r
-\r
             } catch (Exception e) {\r
                 Log.err("Open Package Surface Area " + path, "Invalid file type");\r
-\r
             }\r
         }\r
-        Tools.sortPackages(vPackageList, DataType.SORT_TYPE_ASCENDING);\r
+        Sort.sortPackages(vPackageList, DataType.SORT_TYPE_ASCENDING);\r
         return vPackageList;\r
     }\r
 \r
@@ -315,13 +315,10 @@ public class WorkspaceTools {
                     v.addElement(new PackageIdentification(id));\r
                 } catch (IOException e) {\r
                     Log.err("Open Package Surface Area " + path, e.getMessage());\r
-                    e.printStackTrace();\r
                 } catch (XmlException e) {\r
                     Log.err("Open Package Surface Area " + path, e.getMessage());\r
-                    e.printStackTrace();\r
                 } catch (Exception e) {\r
                     Log.err("Open Package Surface Area " + path, "Invalid file type");\r
-                    e.printStackTrace();\r
                 }\r
             }\r
         }\r
@@ -344,13 +341,10 @@ public class WorkspaceTools {
                     v.addElement(new PlatformIdentification(id));\r
                 } catch (IOException e) {\r
                     Log.err("Open Platform Surface Area " + path, e.getMessage());\r
-                    e.printStackTrace();\r
                 } catch (XmlException e) {\r
                     Log.err("Open Platform Surface Area " + path, e.getMessage());\r
-                    e.printStackTrace();\r
                 } catch (Exception e) {\r
                     Log.err("Open Platform Surface Area " + path, "Invalid file type");\r
-                    e.printStackTrace();\r
                 }\r
             }\r
         }\r
@@ -375,15 +369,15 @@ public class WorkspaceTools {
                 modulePath = modulePaths.get(index);\r
                 id = getId(modulePath, OpenFile.openMsaFile(modulePath));\r
             } catch (IOException e) {\r
-                Log.log("Error when Open Module Surface Area " + modulePath, e.getMessage());\r
+                Log.err("Open Module Surface Area " + modulePath, e.getMessage());\r
             } catch (XmlException e) {\r
-                Log.log("Error when Open Module Surface Area " + modulePath, e.getMessage());\r
+                Log.err("Open Module Surface Area " + modulePath, e.getMessage());\r
             } catch (Exception e) {\r
-                Log.log("Error when Open Module Surface Area " + modulePath, "Invalid file type " + e.getMessage());\r
+                Log.err("Open Module Surface Area " + modulePath, "Invalid file type " + e.getMessage());\r
             }\r
             v.addElement(new ModuleIdentification(id, pid));\r
         }\r
-        Tools.sortModules(v, DataType.SORT_TYPE_ASCENDING);\r
+        Sort.sortModules(v, DataType.SORT_TYPE_ASCENDING);\r
         return v;\r
 \r
     }\r
@@ -426,7 +420,7 @@ public class WorkspaceTools {
                 }\r
             }\r
         }\r
-        Tools.sortModules(vModuleList, DataType.SORT_TYPE_ASCENDING);\r
+        Sort.sortModules(vModuleList, DataType.SORT_TYPE_ASCENDING);\r
         return vModuleList;\r
     }\r
 \r
@@ -457,7 +451,7 @@ public class WorkspaceTools {
                 Log.err("Open Platform Surface Area " + path, "Invalid file type");\r
             }\r
         }\r
-        Tools.sortPlatforms(vPlatformList, DataType.SORT_TYPE_ASCENDING);\r
+        Sort.sortPlatforms(vPlatformList, DataType.SORT_TYPE_ASCENDING);\r
         return vPlatformList;\r
     }\r
 \r
@@ -475,7 +469,7 @@ public class WorkspaceTools {
                 }\r
             }\r
         }\r
-        Tools.sortVectorString(vector, DataType.SORT_TYPE_ASCENDING);\r
+        Sort.sortVectorString(vector, DataType.SORT_TYPE_ASCENDING);\r
         return vector;\r
     }\r
 \r
@@ -493,7 +487,7 @@ public class WorkspaceTools {
                 }\r
             }\r
         }\r
-        Tools.sortVectorString(vector, DataType.SORT_TYPE_ASCENDING);\r
+        Sort.sortVectorString(vector, DataType.SORT_TYPE_ASCENDING);\r
         return vector;\r
     }\r
 \r
@@ -511,7 +505,7 @@ public class WorkspaceTools {
                 }\r
             }\r
         }\r
-        Tools.sortVectorString(vector, DataType.SORT_TYPE_ASCENDING);\r
+        Sort.sortVectorString(vector, DataType.SORT_TYPE_ASCENDING);\r
         return vector;\r
     }\r
 \r
@@ -529,7 +523,7 @@ public class WorkspaceTools {
                 }\r
             }\r
         }\r
-        Tools.sortVectorString(vector, DataType.SORT_TYPE_ASCENDING);\r
+        Sort.sortVectorString(vector, DataType.SORT_TYPE_ASCENDING);\r
         return vector;\r
     }\r
 \r
@@ -538,16 +532,22 @@ public class WorkspaceTools {
      \r
      @return Vector\r
      **/\r
-    public Vector<String> getAllPcdDeclarationsFromPackage(PackageSurfaceArea spd) {\r
-        Vector<String> vector = new Vector<String>();\r
+    public PcdVector getAllPcdDeclarationsFromPackage(PackageSurfaceArea spd) {\r
+        PcdVector vector = new PcdVector();\r
         if (spd.getPcdDeclarations() != null) {\r
             if (spd.getPcdDeclarations().getPcdEntryList().size() > 0) {\r
                 for (int index = 0; index < spd.getPcdDeclarations().getPcdEntryList().size(); index++) {\r
-                    vector.addElement(spd.getPcdDeclarations().getPcdEntryList().get(index).getCName());\r
+                    String name = spd.getPcdDeclarations().getPcdEntryList().get(index).getCName();\r
+                    String guidCName = spd.getPcdDeclarations().getPcdEntryList().get(index).getTokenSpaceGuidCName();\r
+                    String help = spd.getPcdDeclarations().getPcdEntryList().get(index).getHelpText();\r
+                    Vector<String> type = Tools.convertListToVector(spd.getPcdDeclarations().getPcdEntryList()\r
+                                                                       .get(index).getValidUsage());\r
+\r
+                    vector.addPcd(new PcdIdentification(name, guidCName, help, type));\r
                 }\r
             }\r
         }\r
-        Tools.sortVectorString(vector, DataType.SORT_TYPE_ASCENDING);\r
+        Sort.sortPcds(vector, DataType.SORT_TYPE_ASCENDING);\r
         return vector;\r
     }\r
 \r
@@ -568,14 +568,14 @@ public class WorkspaceTools {
                     vector.addAll(v);\r
                 }\r
             } catch (IOException e) {\r
-                // TODO Auto-generated catch block\r
+                Log.err("getAllLibraryClassDefinitionsFromWorkspace ", e.getMessage());\r
             } catch (XmlException e) {\r
-                // TODO Auto-generated catch block\r
+                Log.err("getAllLibraryClassDefinitionsFromWorkspace ", e.getMessage());\r
             } catch (Exception e) {\r
-                // TODO Auto-generated catch block\r
+                Log.err("getAllLibraryClassDefinitionsFromWorkspace ", e.getMessage());\r
             }\r
         }\r
-        Tools.sortVectorString(vector, DataType.SORT_TYPE_ASCENDING);\r
+        Sort.sortVectorString(vector, DataType.SORT_TYPE_ASCENDING);\r
         return vector;\r
     }\r
 \r
@@ -594,14 +594,14 @@ public class WorkspaceTools {
                     vector.addAll(v);\r
                 }\r
             } catch (IOException e) {\r
-                // TODO Auto-generated catch block\r
+                Log.err("getAllProtocolDeclarationsFromPackage", e.getMessage());\r
             } catch (XmlException e) {\r
-                // TODO Auto-generated catch block\r
+                Log.err("getAllProtocolDeclarationsFromPackage", e.getMessage());\r
             } catch (Exception e) {\r
-                // TODO Auto-generated catch block\r
+                Log.err("getAllProtocolDeclarationsFromPackage", e.getMessage());\r
             }\r
         }\r
-        Tools.sortVectorString(vector, DataType.SORT_TYPE_ASCENDING);\r
+        Sort.sortVectorString(vector, DataType.SORT_TYPE_ASCENDING);\r
         return vector;\r
     }\r
 \r
@@ -620,14 +620,14 @@ public class WorkspaceTools {
                     vector.addAll(v);\r
                 }\r
             } catch (IOException e) {\r
-                // TODO Auto-generated catch block\r
+                Log.err("getAllPpiDeclarationsFromWorkspace", e.getMessage());\r
             } catch (XmlException e) {\r
-                // TODO Auto-generated catch block\r
+                Log.err("getAllPpiDeclarationsFromWorkspace", e.getMessage());\r
             } catch (Exception e) {\r
-                // TODO Auto-generated catch block\r
+                Log.err("getAllPpiDeclarationsFromWorkspace", e.getMessage());\r
             }\r
         }\r
-        Tools.sortVectorString(vector, DataType.SORT_TYPE_ASCENDING);\r
+        Sort.sortVectorString(vector, DataType.SORT_TYPE_ASCENDING);\r
         return vector;\r
     }\r
 \r
@@ -646,40 +646,39 @@ public class WorkspaceTools {
                     vector.addAll(v);\r
                 }\r
             } catch (IOException e) {\r
-                // TODO Auto-generated catch block\r
+                Log.err("getAllGuidDeclarationsFromWorkspace", e.getMessage());\r
             } catch (XmlException e) {\r
-                // TODO Auto-generated catch block\r
+                Log.err("getAllGuidDeclarationsFromWorkspace", e.getMessage());\r
             } catch (Exception e) {\r
-                // TODO Auto-generated catch block\r
+                Log.err("getAllGuidDeclarationsFromWorkspace", e.getMessage());\r
             }\r
         }\r
-        Tools.sortVectorString(vector, DataType.SORT_TYPE_ASCENDING);\r
+        Sort.sortVectorString(vector, DataType.SORT_TYPE_ASCENDING);\r
         return vector;\r
     }\r
 \r
-    public Vector<String> getAllPcdDeclarationsFromWorkspace() {\r
+    public PcdVector getAllPcdDeclarationsFromWorkspace() {\r
         //\r
         // First get all packages\r
         //\r
         this.getAllPackages();\r
 \r
-        Vector<String> vector = new Vector<String>();\r
+        PcdVector vector = new PcdVector();\r
         for (int index = 0; index < this.vPackageList.size(); index++) {\r
             try {\r
-                Vector<String> v = getAllPcdDeclarationsFromPackage(OpenFile.openSpdFile(vPackageList.get(index)\r
-                                                                                                     .getPath()));\r
+                PcdVector v = getAllPcdDeclarationsFromPackage(OpenFile.openSpdFile(vPackageList.get(index).getPath()));\r
                 if (v != null && v.size() > 0) {\r
                     vector.addAll(v);\r
                 }\r
             } catch (IOException e) {\r
-                // TODO Auto-generated catch block\r
+                Log.err("getAllPcdDeclarationsFromWorkspace", e.getMessage());\r
             } catch (XmlException e) {\r
-                // TODO Auto-generated catch block\r
+                Log.err("getAllPcdDeclarationsFromWorkspace", e.getMessage());\r
             } catch (Exception e) {\r
-                // TODO Auto-generated catch block\r
+                Log.err("getAllPcdDeclarationsFromWorkspace", e.getMessage());\r
             }\r
         }\r
-        Tools.sortVectorString(vector, DataType.SORT_TYPE_ASCENDING);\r
+        Sort.sortPcds(vector, DataType.SORT_TYPE_ASCENDING);\r
         return vector;\r
     }\r
 \r
@@ -714,11 +713,11 @@ public class WorkspaceTools {
                         return vPackageList.elementAt(indexI);\r
                     }\r
                 } catch (IOException e) {\r
-\r
+                    Log.err("getPackageIdByModuleId " + id.getPath(), e.getMessage());\r
                 } catch (XmlException e) {\r
-\r
+                    Log.err("getPackageIdByModuleId " + id.getPath(), e.getMessage());\r
                 } catch (Exception e) {\r
-\r
+                    Log.err("getPackageIdByModuleId " + id.getPath(), e.getMessage());\r
                 }\r
             }\r
         }\r