X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=Tools%2FJava%2FSource%2FFrameworkWizard%2Fsrc%2Forg%2Ftianocore%2Fframeworkwizard%2Fworkspace%2FWorkspaceTools.java;h=1969d07503f12e215ae13791c8d9b3be982fba5b;hp=c27b81eea0c029dd5a1d402f2f48396150dcb400;hb=419558bbaddf451d0829325400930b4aad2192d4;hpb=aa23173f1a03129b030957f96a1ebdbd17d955f7 diff --git a/Tools/Java/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/workspace/WorkspaceTools.java b/Tools/Java/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/workspace/WorkspaceTools.java index c27b81eea0..1969d07503 100644 --- a/Tools/Java/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/workspace/WorkspaceTools.java +++ b/Tools/Java/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/workspace/WorkspaceTools.java @@ -471,7 +471,7 @@ public class WorkspaceTools { if (type.elementAt(indexOfType).equals(DataType.PCD_ITEM_TYPE_DYNAMIC)) { hasDYNAMIC = true; } - if(type.elementAt(indexOfType).equals(DataType.PCD_ITEM_TYPE_FEATURE_FLAG)) { + if (type.elementAt(indexOfType).equals(DataType.PCD_ITEM_TYPE_FEATURE_FLAG)) { hasFEATURE_FLAG = true; } } @@ -666,10 +666,11 @@ public class WorkspaceTools { // // Check id // - if (mid.equals(id)) { - return GlobalData.vPackageList.elementAt(indexI); + if (mid != null) { + if (mid.equals(id)) { + return GlobalData.vPackageList.elementAt(indexI); + } } - } } @@ -809,19 +810,10 @@ public class WorkspaceTools { // PackageIdentification pid = GlobalData.openingModuleList.getIdByPath(path).getPackageId(); PackageSurfaceArea spd = GlobalData.openingPackageList.getPackageSurfaceAreaFromId(pid); - if (spd != null) { - if (spd.getLibraryClassDeclarations() != null) { - LibraryClassDeclarations lcdl = spd.getLibraryClassDeclarations(); - for (int indexOfLibOfSpd = 0; indexOfLibOfSpd < lcdl.sizeOfLibraryClassArray(); indexOfLibOfSpd++) { - if (lcdl.getLibraryClassList().get(indexOfLibOfSpd).getName().equals(name)) { - v.addElement(Tools.convertPathToCurrentOsType(Tools.getFilePathOnly(pid.getPath()) - + DataType.FILE_SEPARATOR - + lcdl.getLibraryClassList() - .get(indexOfLibOfSpd) - .getIncludeHeader())); - } - } - } + String headerFile = getHeaderFileFromPackageByLibraryClassName(spd, name); + if (!Tools.isEmpty(headerFile)) { + v.addElement(Tools.convertPathToCurrentOsType(Tools.getFilePathOnly(pid.getPath()) + + DataType.FILE_SEPARATOR + headerFile)); } } } @@ -920,4 +912,20 @@ public class WorkspaceTools { } return v; } + + public String getHeaderFileFromPackageByLibraryClassName(PackageSurfaceArea spd, String name) { + String headerFile = ""; + if (spd != null) { + if (spd.getLibraryClassDeclarations() != null) { + LibraryClassDeclarations lcdl = spd.getLibraryClassDeclarations(); + for (int indexOfLibOfSpd = 0; indexOfLibOfSpd < lcdl.sizeOfLibraryClassArray(); indexOfLibOfSpd++) { + if (lcdl.getLibraryClassList().get(indexOfLibOfSpd).getName().equals(name)) { + return lcdl.getLibraryClassList().get(indexOfLibOfSpd).getIncludeHeader(); + } + } + } + } + + return headerFile; + } }