X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=Tools%2FSource%2FGenBuild%2Forg%2Ftianocore%2Fbuild%2Fglobal%2FSurfaceAreaQuery.java;h=ba27de2f0ad7662298e04cfb7e74dec861f36208;hb=a84091c4be5c230e662d0ee5960720287cd7dae6;hp=39384c45ba1d58cd9212eeca6c0d797b9048f0b3;hpb=8031d48db372d6af87de8dbd96586709674b04d6;p=mirror_edk2.git diff --git a/Tools/Source/GenBuild/org/tianocore/build/global/SurfaceAreaQuery.java b/Tools/Source/GenBuild/org/tianocore/build/global/SurfaceAreaQuery.java index 39384c45ba..ba27de2f0a 100644 --- a/Tools/Source/GenBuild/org/tianocore/build/global/SurfaceAreaQuery.java +++ b/Tools/Source/GenBuild/org/tianocore/build/global/SurfaceAreaQuery.java @@ -23,7 +23,6 @@ import java.util.Stack; import java.util.regex.Matcher; import java.util.regex.Pattern; -import org.apache.xmlbeans.XmlCursor; import org.apache.xmlbeans.XmlObject; import org.apache.xmlbeans.XmlString; import org.tianocore.BuildOptionsDocument; @@ -568,7 +567,11 @@ public class SurfaceAreaQuery { if (returns == null) { return new PackageIdentification[0]; } - PackageIdentification[] packageIdList = new PackageIdentification[returns.length]; + + // + // Get packageIdentification + // + List packageIdList = new ArrayList(); for (int i = 0; i < returns.length; i++) { PackageDependenciesDocument.PackageDependencies.Package item = (PackageDependenciesDocument.PackageDependencies.Package) returns[i]; @SuppressWarnings("unchecked") @@ -576,11 +579,19 @@ public class SurfaceAreaQuery { if (arch == null || archList == null || archList.contains(arch)) { packageGuid = item.getPackageGuid(); packageVersion = item.getPackageVersion(); - packageIdList[i] = (new PackageIdentification(null, packageGuid, + packageIdList.add(new PackageIdentification(null, packageGuid, packageVersion)); } } - return packageIdList; + + // + // transfer packageIdentification list to array. + // + PackageIdentification[] packageIdArray = new PackageIdentification[packageIdList.size()]; + for (int i = 0; i < packageIdList.size(); i++) { + packageIdArray[i] = new PackageIdentification(null, packageIdList.get(i).getGuid(),packageIdList.get(i).getVersion()); + } + return packageIdArray; } /** @@ -1379,10 +1390,10 @@ public class SurfaceAreaQuery { } public static Node getFpdUserExtension() { - String[] xPath = new String[] { "/UserExtensions" }; + String[] xPath = new String[] { "/UserExtensions[@UserID='TianoCore']" }; Object[] queryResult = get("PlatformSurfaceArea", xPath); - if (queryResult == null && queryResult.length == 0) { + if (queryResult == null || queryResult.length == 0) { return null; } UserExtensionsDocument.UserExtensions a = (UserExtensionsDocument.UserExtensions)queryResult[0];