]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/common/Identifications/OpeningPackageList.java
1. Fix EDKT323 (Only dependent packages' ppis can be added to module's ppi section)
[mirror_edk2.git] / Tools / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / common / Identifications / OpeningPackageList.java
index 0b4f9a514458a9d7a9feef893011100b7a6a1719..44ccfa1fb1da243bdf81c59ccbbf7de9c50967d9 100644 (file)
  **/\r
 package org.tianocore.frameworkwizard.common.Identifications;\r
 \r
+import java.util.Set;\r
 import java.util.Vector;\r
 \r
 import javax.swing.tree.TreePath;\r
 \r
 import org.tianocore.PackageSurfaceAreaDocument;\r
+import org.tianocore.frameworkwizard.packaging.PackageIdentification;\r
 \r
 public class OpeningPackageList {\r
     private Vector<OpeningPackageType> vOpeningPackageList = new Vector<OpeningPackageType>();\r
@@ -35,7 +37,7 @@ public class OpeningPackageList {
         vOpeningPackageList = openingPackageList;\r
     }\r
     \r
-    public void insertToOpeningPackageList(Identification id, PackageSurfaceAreaDocument.PackageSurfaceArea xmlMsa) {\r
+    public void insertToOpeningPackageList(PackageIdentification id, PackageSurfaceAreaDocument.PackageSurfaceArea xmlMsa) {\r
         vOpeningPackageList.addElement(new OpeningPackageType(id, xmlMsa));\r
     }\r
     \r
@@ -46,7 +48,7 @@ public class OpeningPackageList {
         return null;\r
     }\r
     \r
-    public OpeningPackageType getOpeningPackageById(Identification id) {\r
+    public OpeningPackageType getOpeningPackageById(PackageIdentification id) {\r
         int index = findIndexOfListById(id);\r
         if (index > -1) {\r
             return vOpeningPackageList.elementAt(index);\r
@@ -54,7 +56,7 @@ public class OpeningPackageList {
         return null;\r
     }\r
     \r
-    public int findIndexOfListById(Identification id) {\r
+    public int findIndexOfListById(PackageIdentification id) {\r
         for (int index = 0; index < vOpeningPackageList.size(); index++) {\r
             if (vOpeningPackageList.elementAt(index).getId().equals(id)) {\r
                 return index;\r
@@ -69,7 +71,7 @@ public class OpeningPackageList {
         }\r
     }\r
     \r
-    public void removeFromOpeningPackageListById(Identification id) {\r
+    public void removeFromOpeningPackageListById(PackageIdentification id) {\r
         int index = findIndexOfListById(id);\r
         if (index > -1) {\r
             vOpeningPackageList.removeElementAt(findIndexOfListById(id));\r
@@ -80,7 +82,7 @@ public class OpeningPackageList {
         vOpeningPackageList.removeAllElements();\r
     }\r
     \r
-    public PackageSurfaceAreaDocument.PackageSurfaceArea getPackageSurfaceAreaFromId(Identification id) {\r
+    public PackageSurfaceAreaDocument.PackageSurfaceArea getPackageSurfaceAreaFromId(PackageIdentification id) {\r
         int index = findIndexOfListById(id);\r
         if (index > -1) {\r
             return vOpeningPackageList.elementAt(index).getXmlSpd();\r
@@ -88,7 +90,7 @@ public class OpeningPackageList {
         return null;\r
     }\r
     \r
-    public boolean existsPackage(Identification id) {\r
+    public boolean existsPackage(PackageIdentification id) {\r
         int index = findIndexOfListById(id);\r
         if (index > -1) {\r
             return true;\r
@@ -96,7 +98,7 @@ public class OpeningPackageList {
         return false;\r
     }\r
     \r
-    public void setPackageSaved(Identification id, boolean isSaved) {\r
+    public void setPackageSaved(PackageIdentification id, boolean isSaved) {\r
         setPackageSaved(findIndexOfListById(id), isSaved);\r
     }\r
     \r
@@ -106,7 +108,7 @@ public class OpeningPackageList {
         }\r
     }\r
     \r
-    public boolean getPackageSaved(Identification id) {\r
+    public boolean getPackageSaved(PackageIdentification id) {\r
         return getPackageSaved(findIndexOfListById(id));\r
     }\r
     \r
@@ -117,14 +119,35 @@ public class OpeningPackageList {
         return true;\r
     }\r
     \r
-    public void setTreePathById(Identification id, TreePath treePath) {\r
+    public void setPackageOpen(PackageIdentification id, boolean isOpem) {\r
+        setPackageOpen(findIndexOfListById(id), isOpem);\r
+    }\r
+    \r
+    public void setPackageOpen(int index, boolean isOpem) {\r
+        if (index > -1) {\r
+            vOpeningPackageList.elementAt(index).setOpen(isOpem);\r
+        }\r
+    }\r
+    \r
+    public boolean getPackageOpen(PackageIdentification id) {\r
+        return getPackageOpen(findIndexOfListById(id));\r
+    }\r
+    \r
+    public boolean getPackageOpen(int index) {\r
+        if (index > -1) {\r
+            return vOpeningPackageList.elementAt(index).isOpen();\r
+        }\r
+        return true;\r
+    }\r
+    \r
+    public void setTreePathById(PackageIdentification id, Set<TreePath> treePath) {\r
         int index = findIndexOfListById(id);\r
         if (index > -1) {\r
             vOpeningPackageList.elementAt(index).setTreePath(treePath);\r
         }\r
     }\r
     \r
-    public TreePath getTreePathById(Identification id) {\r
+    public Set<TreePath> getTreePathById(PackageIdentification id) {\r
         int index = findIndexOfListById(id);\r
         if (index > -1) {\r
             return vOpeningPackageList.elementAt(index).getTreePath();\r
@@ -132,20 +155,51 @@ public class OpeningPackageList {
         return null;\r
     }\r
     \r
-    public TreePath getTreePathByIndex(int index) {\r
+    public Set<TreePath> getTreePathByIndex(int index) {\r
         if (index > -1) {\r
             return vOpeningPackageList.elementAt(index).getTreePath();\r
         }\r
         return null;\r
     }\r
     \r
-    public void setNew(Identification id, boolean isNew) {\r
+    public PackageIdentification getIdByPath(String path) {\r
+        PackageIdentification id = new PackageIdentification(null, null, null, path);\r
+        int index = findIndexOfListById(id);\r
+        if (index > -1) {\r
+            return vOpeningPackageList.elementAt(index).getId();\r
+        }\r
+        return null;\r
+    }\r
+    \r
+    public PackageIdentification getIdByGuidVersion(String guid, String version) {\r
+        for (int index = 0; index < vOpeningPackageList.size(); index++) {\r
+            PackageIdentification id = vOpeningPackageList.elementAt(index).getId();\r
+            if (version != null) {\r
+                if (id.getGuid().equals(guid) && id.getVersion().equals(version)) {\r
+                    return id;\r
+                }\r
+            } else {\r
+                if (id.getGuid().equals(guid)) {\r
+                    return id;\r
+                }\r
+            }\r
+        }\r
+        return null;\r
+    }\r
+    \r
+    public void setNew(PackageIdentification id, boolean isNew) {\r
         int index = findIndexOfListById(id);\r
         if (index > -1) {\r
             vOpeningPackageList.elementAt(index).setNew(isNew);\r
         }\r
     }\r
     \r
+    public void closeAll() {\r
+        for (int index = 0; index < this.size(); index++) {\r
+           this.setPackageOpen(index, false);\r
+        }\r
+    }\r
+    \r
     public int size() {\r
         return vOpeningPackageList.size();\r
     }\r
@@ -159,9 +213,11 @@ public class OpeningPackageList {
         return true;\r
     }\r
     \r
-    public boolean isOpend() {\r
-        if (this.size() > 0 ) {\r
-            return true;\r
+    public boolean isOpen() {\r
+        for (int index = 0; index < this.size(); index++) {\r
+            if (this.getPackageOpen(index)) {\r
+                return true;\r
+            }\r
         }\r
         return false;\r
     }\r