summaryrefslogtreecommitdiff
path: root/Tools/Source/FrameworkWizard
diff options
context:
space:
mode:
authorjlin16 <jlin16@6f19259b-4bc3-4df7-8a09-765794883524>2006-08-17 03:11:55 +0000
committerjlin16 <jlin16@6f19259b-4bc3-4df7-8a09-765794883524>2006-08-17 03:11:55 +0000
commitdaa4663bdd6c65b7e4423bd7b9f8b2cc72ee9bab (patch)
tree2e7d1498c987db8dd2662b47dccbed73780299b3 /Tools/Source/FrameworkWizard
parent739c6b04fd86cb47de673b1038bea336a7f3499c (diff)
downloadedk2-daa4663bdd6c65b7e4423bd7b9f8b2cc72ee9bab.zip
edk2-daa4663bdd6c65b7e4423bd7b9f8b2cc72ee9bab.tar.gz
edk2-daa4663bdd6c65b7e4423bd7b9f8b2cc72ee9bab.tar.bz2
Fix EDKT191.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1301 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'Tools/Source/FrameworkWizard')
-rw-r--r--Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdLibClassDecls.java6
-rw-r--r--Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdFileContents.java6
-rw-r--r--Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdFrameworkModules.java2
-rw-r--r--Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdModuleSA.java57
-rw-r--r--Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/global/SurfaceAreaQuery.java59
5 files changed, 64 insertions, 66 deletions
diff --git a/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdLibClassDecls.java b/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdLibClassDecls.java
index 0ed5768..d1363f7 100644
--- a/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdLibClassDecls.java
+++ b/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdLibClassDecls.java
@@ -934,9 +934,9 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
ModuleIdentification mi = (ModuleIdentification) ismi.next();
Map<String, XmlObject> m = GlobalData.getNativeMsa(mi);
SurfaceAreaQuery.setDoc(m);
- String[] classProduced = SurfaceAreaQuery.getLibraryClasses("ALWAYS_PRODUCED");
- for (int i = 0; i < classProduced.length; ++i) {
- if (classProduced[i].equals(libClass)) {
+ Vector<String> classProduced = SurfaceAreaQuery.getLibraryClasses("ALWAYS_PRODUCED", mi);
+ for (int i = 0; i < classProduced.size(); ++i) {
+ if (classProduced.get(i).equals(libClass)) {
libNameGuidMap.put(mi.getName(), mi.getGuid());
}
}
diff --git a/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdFileContents.java b/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdFileContents.java
index 3d3e8f3..2b1cffe 100644
--- a/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdFileContents.java
+++ b/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdFileContents.java
@@ -379,7 +379,7 @@ public class FpdFileContents {
Map<String, XmlObject> m = new HashMap<String, XmlObject>();
m.put("ModuleSurfaceArea", msa);
SurfaceAreaQuery.setDoc(m);
- PackageIdentification[] depPkgs = SurfaceAreaQuery.getDependencePkg(null);
+ PackageIdentification[] depPkgs = SurfaceAreaQuery.getDependencePkg(null, vMi.get(i));
PcdDeclarationsDocument.PcdDeclarations.PcdEntry spdPcd = LookupPcdDeclaration(msaPcd, depPkgs);
if (spdPcd == null) {
//
@@ -541,7 +541,7 @@ public class FpdFileContents {
Map<String, XmlObject> m = new HashMap<String, XmlObject>();
m.put("ModuleSurfaceArea", msa);
SurfaceAreaQuery.setDoc(m);
- PackageIdentification[] depPkgs = SurfaceAreaQuery.getDependencePkg(null);
+ PackageIdentification[] depPkgs = SurfaceAreaQuery.getDependencePkg(null, mi);
//
// First look through MSA pcd entries.
//
@@ -896,7 +896,7 @@ public class FpdFileContents {
Map<String, XmlObject> m = new HashMap<String, XmlObject>();
m.put("ModuleSurfaceArea", msa);
SurfaceAreaQuery.setDoc(m);
- PackageIdentification[] depPkgs = SurfaceAreaQuery.getDependencePkg(null);
+ PackageIdentification[] depPkgs = SurfaceAreaQuery.getDependencePkg(null, mi);
//
// Implementing InitializePlatformPcdBuildDefinitions
//
diff --git a/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdFrameworkModules.java b/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdFrameworkModules.java
index 440e421..06d0d0d 100644
--- a/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdFrameworkModules.java
+++ b/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdFrameworkModules.java
@@ -579,6 +579,7 @@ public class FpdFrameworkModules extends IInternalFrame {
if (selectedRow < 0) {
return;
}
+ docConsole.setSaved(false);
TableSorter sorter = (TableSorter) jTableFpdModules.getModel();
selectedRow = sorter.modelIndex(selectedRow);
@@ -606,7 +607,6 @@ public class FpdFrameworkModules extends IInternalFrame {
}
}
- docConsole.setSaved(false);
ffc.removeModuleSA(selectedRow);
}
});
diff --git a/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdModuleSA.java b/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdModuleSA.java
index 27533b4..a34fa5a 100644
--- a/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdModuleSA.java
+++ b/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdModuleSA.java
@@ -23,7 +23,6 @@ import javax.swing.event.TableModelListener;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
-import org.apache.xmlbeans.XmlObject;
import org.tianocore.frameworkwizard.common.DataValidation;
import org.tianocore.frameworkwizard.common.Identifications.OpeningPlatformType;
import org.tianocore.frameworkwizard.platform.ui.global.GlobalData;
@@ -38,7 +37,6 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.ListIterator;
-import java.util.Map;
import java.util.Set;
import java.util.Vector;
@@ -226,37 +224,35 @@ public class FpdModuleSA extends JDialog implements ActionListener {
ModuleIdentification mi = GlobalData.getModuleId(key);
PackageIdentification[] depPkgList = null;
try{
- Map<String, XmlObject> m = GlobalData.getNativeMsa(mi);
- SurfaceAreaQuery.setDoc(m);
//
// Get dependency pkg list into which we will search lib instances.
//
- depPkgList = SurfaceAreaQuery.getDependencePkg(null);
+ depPkgList = SurfaceAreaQuery.getDependencePkg(null, mi);
//
// Get the lib class consumed, produced by this module itself.
//
- String[] classConsumed = SurfaceAreaQuery.getLibraryClasses("ALWAYS_CONSUMED");
+ Vector<String> vClassConsumed = SurfaceAreaQuery.getLibraryClasses("ALWAYS_CONSUMED", mi);
if (this.classConsumed == null) {
this.classConsumed = new HashMap<String, ArrayList<String>>();
}
- for(int i = 0; i < classConsumed.length; ++i){
- ArrayList<String> consumedBy = this.classConsumed.get(classConsumed[i]);
+ for(int i = 0; i < vClassConsumed.size(); ++i){
+ ArrayList<String> consumedBy = this.classConsumed.get(vClassConsumed.get(i));
if (consumedBy == null) {
consumedBy = new ArrayList<String>();
}
consumedBy.add(key);
- this.classConsumed.put(classConsumed[i], consumedBy);
+ this.classConsumed.put(vClassConsumed.get(i), consumedBy);
}
- String[] classProduced = SurfaceAreaQuery.getLibraryClasses("ALWAYS_PRODUCED");
+ Vector<String> vClassProduced = SurfaceAreaQuery.getLibraryClasses("ALWAYS_PRODUCED", mi);
if (this.classProduced == null) {
this.classProduced = new ArrayList<String>();
}
- for(int i = 0; i < classProduced.length; ++i){
- if (!this.classProduced.contains(classProduced[i])){
- this.classProduced.add(classProduced[i]);
+ for(int i = 0; i < vClassProduced.size(); ++i){
+ if (!this.classProduced.contains(vClassProduced.get(i))){
+ this.classProduced.add(vClassProduced.get(i));
}
}
@@ -362,10 +358,12 @@ public class FpdModuleSA extends JDialog implements ActionListener {
private String[] getClassProduced(ModuleIdentification mi){
try{
- Map<String, XmlObject> m = GlobalData.getNativeMsa(mi);
- SurfaceAreaQuery.setDoc(m);
- String[] clsProduced = SurfaceAreaQuery.getLibraryClasses("ALWAYS_PRODUCED");
- return clsProduced;
+ Vector<String> clsProduced = SurfaceAreaQuery.getLibraryClasses("ALWAYS_PRODUCED", mi);
+ String[] sClassProduced = new String[clsProduced.size()];
+ for (int i = 0; i < clsProduced.size(); ++i) {
+ sClassProduced[i] = clsProduced.get(i);
+ }
+ return sClassProduced;
}catch (Exception e) {
e.printStackTrace();
@@ -376,16 +374,17 @@ public class FpdModuleSA extends JDialog implements ActionListener {
private String[] getClassConsumed(ModuleIdentification mi){
- String[] clsConsumed = null;
try{
- Map<String, XmlObject> m = GlobalData.getNativeMsa(mi);
- SurfaceAreaQuery.setDoc(m);
- clsConsumed = SurfaceAreaQuery.getLibraryClasses("ALWAYS_CONSUMED");
-
+ Vector<String> clsConsumed = SurfaceAreaQuery.getLibraryClasses("ALWAYS_CONSUMED", mi);
+ String[] sClassConsumed = new String[clsConsumed.size()];
+ for (int i = 0; i < clsConsumed.size(); ++i) {
+ sClassConsumed[i] = clsConsumed.get(i);
+ }
+ return sClassConsumed;
}catch (Exception e) {
e.printStackTrace();
}
- return clsConsumed;
+ return new String[0];
}
private void showClassToResolved(){
@@ -397,12 +396,12 @@ public class FpdModuleSA extends JDialog implements ActionListener {
while(li.hasNext()){
String[] s = {li.next()};
- if (classConsumed.get(s[0]) == null) {
- continue;
- }
- if (classConsumed.get(s[0]).size() == 0) {
- continue;
- }
+// if (classConsumed.get(s[0]) == null) {
+// continue;
+// }
+// if (classConsumed.get(s[0]).size() == 0) {
+// continue;
+// }
if (!classProduced.contains(s[0])){
libClassTableModel.addRow(s);
}
diff --git a/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/global/SurfaceAreaQuery.java b/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/global/SurfaceAreaQuery.java
index 11a2783..7e70970 100644
--- a/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/global/SurfaceAreaQuery.java
+++ b/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/global/SurfaceAreaQuery.java
@@ -21,6 +21,7 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.Stack;
+import java.util.Vector;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -37,6 +38,7 @@ import org.tianocore.LibrariesDocument;
import org.tianocore.LibraryClassDeclarationsDocument;
import org.tianocore.LibraryClassDocument;
import org.tianocore.ModuleSADocument;
+import org.tianocore.ModuleSurfaceAreaDocument;
import org.tianocore.ModuleTypeDef;
import org.tianocore.MsaFilesDocument;
import org.tianocore.MsaHeaderDocument;
@@ -341,22 +343,22 @@ public class SurfaceAreaQuery {
* @returns package name list if elements are found at the known xpath
* @returns null if nothing is there
*/
- public static PackageIdentification[] getDependencePkg(String arch) {
- String[] xPath;
+
+ public static PackageIdentification[] getDependencePkg(String arch, ModuleIdentification mi) throws Exception{
+
String packageGuid = null;
String packageVersion = null;
- if (arch == null || arch.equals("")) {
- xPath = new String[] { "/PackageDependencies/Package" };
- } else {
- xPath = new String[] { "/PackageDependencies/Package[not(@SupArchList) or @SupArchList='"
- + arch + "']" };
- }
+ ModuleSurfaceAreaDocument.ModuleSurfaceArea msa = (ModuleSurfaceAreaDocument.ModuleSurfaceArea) GlobalData.getModuleXmlObject(mi);
+ if (msa.getPackageDependencies() == null) {
+ return new PackageIdentification[0];
+ }
+ int size = msa.getPackageDependencies().getPackageList().size();
+ XmlObject[] returns = new XmlObject[size];
+ for (int i = 0; i < size; ++i) {
+ returns[i] = msa.getPackageDependencies().getPackageList().get(i);
+ }
- XmlObject[] returns = get("ModuleSurfaceArea", xPath);
- if (returns == null) {
- return new PackageIdentification[0];
- }
PackageIdentification[] packageIdList = new PackageIdentification[returns.length];
for (int i = 0; i < returns.length; i++) {
PackageDependenciesDocument.PackageDependencies.Package item = (PackageDependenciesDocument.PackageDependencies.Package) returns[i];
@@ -401,25 +403,22 @@ public class SurfaceAreaQuery {
* xpath
* @returns null if nothing is there
*/
- public static String[] getLibraryClasses(String usage) {
- String[] xPath;
-
- if (usage == null || usage.equals("")) {
- xPath = new String[] { "/LibraryClass" };
- } else {
- xPath = new String[] { "/LibraryClass[@Usage='" + usage + "']" };
- }
-
- XmlObject[] returns = get("LibraryClassDefinitions", xPath);
- if (returns == null || returns.length == 0) {
- return new String[0];
- }
-
- LibraryClassDocument.LibraryClass[] libraryClassList = (LibraryClassDocument.LibraryClass[]) returns;
- String[] libraryClassName = new String[libraryClassList.length];
- for (int i = 0; i < libraryClassList.length; i++) {
- libraryClassName[i] = libraryClassList[i].getKeyword();
+ public static Vector<String> getLibraryClasses(String usage, ModuleIdentification mi) throws Exception{
+ ModuleSurfaceAreaDocument.ModuleSurfaceArea msa = (ModuleSurfaceAreaDocument.ModuleSurfaceArea)GlobalData.getModuleXmlObject(mi);
+ Vector<String> libraryClassName = new Vector<String>();
+ if (msa.getLibraryClassDefinitions() == null) {
+ return libraryClassName;
+ }
+
+ int size = msa.getLibraryClassDefinitions().getLibraryClassList().size();
+
+ for (int i = 0; i < size; i++) {
+ LibraryClassDocument.LibraryClass libClass = msa.getLibraryClassDefinitions().getLibraryClassList().get(i);
+ if (usage.equals(libClass.getUsage().toString())) {
+ libraryClassName.add(libClass.getKeyword());
+ }
}
+
return libraryClassName;
}