From ce3b85747a9cdfdb9ec939e6de1740973abe4395 Mon Sep 17 00:00:00 2001 From: jlin16 Date: Sat, 19 Aug 2006 01:35:21 +0000 Subject: [PATCH 1/1] delete unused file. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1327 6f19259b-4bc3-4df7-8a09-765794883524 --- .../platform/ui/global/GlobalData.java | 508 ------------------ 1 file changed, 508 deletions(-) delete mode 100644 Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/global/GlobalData.java diff --git a/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/global/GlobalData.java b/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/global/GlobalData.java deleted file mode 100644 index 457208b4e3..0000000000 --- a/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/global/GlobalData.java +++ /dev/null @@ -1,508 +0,0 @@ -/** @file - GlobalData class. - - GlobalData provide initializing, instoring, querying and update global data. - It is a bridge to intercommunicate between multiple component, such as AutoGen, - PCD and so on. - -Copyright (c) 2006, Intel Corporation -All rights reserved. This program and the accompanying materials -are licensed and made available under the terms and conditions of the BSD License -which accompanies this distribution. The full text of the license may be found at -http://opensource.org/licenses/bsd-license.php - -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -**/ -package org.tianocore.frameworkwizard.platform.ui.global; - -import org.apache.xmlbeans.XmlObject; -import org.tianocore.DbPathAndFilename; -import org.tianocore.FrameworkDatabaseDocument; -import org.tianocore.ModuleSurfaceAreaDocument; -import org.tianocore.PcdCodedDocument; -import org.tianocore.ModuleSurfaceAreaDocument.ModuleSurfaceArea; -import org.tianocore.frameworkwizard.platform.ui.id.FpdModuleIdentification; -import org.tianocore.frameworkwizard.platform.ui.id.ModuleIdentification; -import org.tianocore.frameworkwizard.platform.ui.id.PackageIdentification; -import org.tianocore.frameworkwizard.platform.ui.id.PlatformIdentification; - -import java.io.File; -import java.util.Comparator; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.ListIterator; -import java.util.Map; -import java.util.Set; -import java.util.Vector; -import java.util.logging.Logger; - -/** - GlobalData provide initializing, instoring, querying and update global data. - It is a bridge to intercommunicate between multiple component, such as AutoGen, - PCD and so on. - -

Note that all global information are initialized incrementally. All data will - parse and record only of necessary during build time.

- - @since GenBuild 1.0 -**/ -public class GlobalData { - - - public static Logger log = Logger.getAnonymousLogger(); - public static KeyComparator comparator = new KeyComparator(); - /// - /// Record current WORKSPACE Directory - /// - private static String workspaceDir = ""; - - /// - /// Be used to ensure Global data will be initialized only once. - /// -// private static boolean globalFlag = false; - - /// - /// Framework Database information: package list and platform list - /// - private static Set packageList = new HashSet(); - - private static Set platformList = new HashSet(); - - /// - /// Every detail SPD informations: Module list, Library class definition, - /// Package header file, GUID/PPI/Protocol definitions - /// - private static final Map spdTable = new HashMap(); - - /// - /// Build informations are divided into three parts: - /// 1. From MSA 2. From FPD 3. From FPD' ModuleSA - /// - private static Map> nativeMsa = new HashMap>(); - - private static Map> fpdModuleSA= new HashMap>(); - - private static XmlObject fpdBuildOptions; - - private static XmlObject fpdDynamicPcds; - - /// - /// Parsed modules list - /// - private static Map> parsedModules = new HashMap>(); - - /// - /// built modules list with ARCH, TARGET, TOOLCHAIN - /// - private static Set builtModules = new HashSet(); - - /** - Parse framework database (DB) and all SPD files listed in DB to initialize - the environment for next build. This method will only be executed only once - in the whole build process. - - @param workspaceDatabaseFile the file name of framework database - @param workspaceDir current workspace directory path - @throws Exception - Framework Dababase or SPD or MSA file is not valid - **/ - public synchronized static void initInfo(String workspaceDatabaseFile, String workspaceDir) throws Exception { - - // - // Backup workspace directory. It will be used by other method - // - GlobalData.workspaceDir = workspaceDir.replaceAll("(\\\\)", "/"); - File dbFile = new File(workspaceDir + File.separatorChar + workspaceDatabaseFile); - try { - FrameworkDatabaseDocument db = (FrameworkDatabaseDocument) XmlObject.Factory.parse(dbFile); - // - // validate FrameworkDatabaseFile - // -// if (! db.validate()) { -// throw new Exception("Framework Database file [" + dbFile.getPath() + "] is invalid."); -// } - // - // Get package list - // - packageList.clear(); - List packages = db.getFrameworkDatabase().getPackageList().getFilenameList(); - - Iterator iter = packages.iterator(); - while (iter.hasNext()) { - DbPathAndFilename dbPath = (DbPathAndFilename)iter.next(); - String fileName = dbPath.getStringValue(); - Spd spd = new Spd(new File(workspaceDir + File.separatorChar + fileName)); - packageList.add(spd.getPackageId()); - spdTable.put(spd.getPackageId(), spd); - } - - - } catch (Exception e) { - e.printStackTrace(); - throw new Exception("Parse workspace Database [" + dbFile.getPath() + "] Error.\n" + e.getMessage()); - } - } - - /** - Get the current WORKSPACE Directory. - - @return current workspace directory - **/ - public synchronized static String getWorkspacePath() { - return workspaceDir; - } - - - /** - Get the MSA file name with absolute path - */ - public synchronized static File getMsaFile(ModuleIdentification moduleId) throws Exception { - File msaFile = null; - // - // TBD. Do only when package is null. - // - Iterator iter = packageList.iterator(); - while (iter.hasNext()) { - PackageIdentification packageId = (PackageIdentification)iter.next(); - Spd spd = spdTable.get(packageId); - msaFile = spd.getModuleFile(moduleId); - if (msaFile != null ) { - break ; - } - } - if (msaFile == null){ - throw new Exception("Can't find Module [" + moduleId.getName() + "] in all packages. "); - } - else { - return msaFile; - } - } - - public synchronized static PackageIdentification getPackageForModule(ModuleIdentification moduleId) { - // - // If package already defined in module - // - if (moduleId.getPackage() != null) { - return moduleId.getPackage(); - } - - PackageIdentification packageId = null; - Iterator iter = packageList.iterator(); - while (iter.hasNext()) { - packageId = (PackageIdentification)iter.next(); - - Spd spd = spdTable.get(packageId); - if (spd.getModuleFile(moduleId) != null ) { - moduleId.setPackage(packageId); - break ; - } - } - if (packageId == null){ - return null; - } - else { - return packageId; - } - } - - /** - Difference between build and parse: ToolChain and Target - **/ - public synchronized static boolean isModuleBuilt(FpdModuleIdentification moduleId) { - return builtModules.contains(moduleId); - } - - public synchronized static void registerBuiltModule(FpdModuleIdentification fpdModuleId) { - builtModules.add(fpdModuleId); - } - - - public synchronized static void registerFpdModuleSA(FpdModuleIdentification fpdModuleId, Map doc) throws Exception{ - Map result = new HashMap(); - Set keySet = doc.keySet(); - Iterator iter = keySet.iterator(); - while (iter.hasNext()){ - String key = (String)iter.next(); - XmlObject item = cloneXmlObject(doc.get(key), true); - result.put(key, item); - } - fpdModuleSA.put(fpdModuleId, result); - } - - /** - Query overrided module surface area information. If current is Package - or Platform build, also include the information from FPD file. - -

Note that surface area parsing is incremental. That means the method will - only parse the MSA and MBD files if necessary.

- - @param moduleName the base name of the module - @return the overrided module surface area information - @throws Exception - MSA or MBD is not valid - **/ - public synchronized static Map getDoc(FpdModuleIdentification fpdModuleId) throws Exception { - if (parsedModules.containsKey(fpdModuleId)) { - return parsedModules.get(fpdModuleId); - } - Map doc = new HashMap(); - ModuleIdentification moduleId = fpdModuleId.getModule(); - // - // First part: get the MSA files info - // - doc = getNativeMsa(moduleId); - - // - // Second part: put build options - // - doc.put("BuildOptions", fpdBuildOptions); - - // - // Third part: get Module info from FPD, such as Library instances, PCDs - // - if (fpdModuleSA.containsKey(fpdModuleId)){ - // - // merge module info in FPD to final Doc - // For Library Module, do nothing here - // - doc.putAll(fpdModuleSA.get(fpdModuleId)); - } - parsedModules.put(fpdModuleId, doc); - return doc; - } - - public synchronized static Map getDoc(ModuleIdentification moduleId, String arch) throws Exception { - FpdModuleIdentification fpdModuleId = new FpdModuleIdentification(moduleId, arch); - return getDoc(fpdModuleId); - } - /** - Query the native MSA information with module base name. - -

Note that MSA parsing is incremental. That means the method will - only to parse the MSA files when never parsed before.

- - @param moduleName the base name of the module - @return the native MSA information - @throws Exception - MSA file is not valid - **/ - public synchronized static Map getNativeMsa(ModuleIdentification moduleId) throws Exception { - if (nativeMsa.containsKey(moduleId)) { - return nativeMsa.get(moduleId); - } - File msaFile = getMsaFile(moduleId); - Map msaMap = getNativeMsa(msaFile); - nativeMsa.put(moduleId, msaMap); - return msaMap; - } - - public synchronized static Map getNativeMsa(File msaFile) throws Exception { - - try { - ModuleSurfaceAreaDocument doc = (ModuleSurfaceAreaDocument)XmlObject.Factory.parse(msaFile); - // - // Validate File if they accord with XML Schema - // -// if ( ! doc.validate()){ -// throw new Exception("Module Surface Area file [" + msaFile.getPath() + "] is invalid."); -// } - // - // parse MSA file - // - ModuleSurfaceArea msa= doc.getModuleSurfaceArea(); - Map msaMap = new HashMap(); - msaMap.put("ModuleSurfaceArea", msa); - msaMap.put("MsaHeader", cloneXmlObject(msa.getMsaHeader(), true)); - msaMap.put("LibraryClassDefinitions", cloneXmlObject(msa.getLibraryClassDefinitions(), true)); - msaMap.put("SourceFiles", cloneXmlObject(msa.getSourceFiles(), true)); - msaMap.put("PackageDependencies", cloneXmlObject(msa.getPackageDependencies(), true)); - msaMap.put("Protocols", cloneXmlObject(msa.getProtocols(), true)); - msaMap.put("PPIs", cloneXmlObject(msa.getPPIs(), true)); - msaMap.put("Guids", cloneXmlObject(msa.getGuids(), true)); - msaMap.put("Externs", cloneXmlObject(msa.getExterns(), true)); - return msaMap; - } - catch (Exception ex){ - throw new Exception(ex.getMessage()); - } - } - - public static Map getFpdBuildOptions() { - Map map = new HashMap(); - map.put("BuildOptions", fpdBuildOptions); - return map; - } - - public static void setFpdBuildOptions(XmlObject fpdBuildOptions) throws Exception{ - GlobalData.fpdBuildOptions = cloneXmlObject(fpdBuildOptions, true); - } - - public static XmlObject getFpdDynamicPcds() { - return fpdDynamicPcds; - } - - public static void setFpdDynamicPcds(XmlObject fpdDynamicPcds) { - GlobalData.fpdDynamicPcds = fpdDynamicPcds; - } - - ////////////////////////////////////////////// - ////////////////////////////////////////////// - - public static Set getModules(PackageIdentification packageId){ - Spd spd = spdTable.get(packageId); - if (spd == null ) { - Set dummy = new HashSet(); - return dummy; - } - else { - return spd.getModules(); - } - } - - public synchronized static PlatformIdentification getPlatform(String name) throws Exception { - Iterator iter = platformList.iterator(); - while(iter.hasNext()){ - PlatformIdentification platformId = (PlatformIdentification)iter.next(); - if (platformId.getName().equalsIgnoreCase(name)) { - GlobalData.log.info("Platform: " + platformId + platformId.getFpdFile()); - return platformId; - } - } - throw new Exception("Can't find platform [" + name + "] in current workspace. "); - } - - public synchronized static File getPackageFile(PackageIdentification packageId) throws Exception { - Iterator iter = packageList.iterator(); - while(iter.hasNext()){ - PackageIdentification packageItem = (PackageIdentification)iter.next(); - if (packageItem.equals(packageId)) { - packageId.setName(packageItem.getName()); - return packageItem.getSpdFile(); - } - } - throw new Exception("Can't find " + packageId + " in current workspace. "); - } - - public synchronized static File getModuleFile(ModuleIdentification moduleId) throws Exception { - PackageIdentification packageId = getPackageForModule(moduleId); - moduleId.setPackage(packageId); - Spd spd = spdTable.get(packageId); - return spd.getModuleFile(moduleId); - } - // - // expanded by FrameworkWizard - // - public synchronized static XmlObject getModuleXmlObject(ModuleIdentification moduleId) throws Exception { - PackageIdentification packageId = getPackageForModule(moduleId); - moduleId.setPackage(packageId); - Spd spd = spdTable.get(packageId); - return spd.msaDocMap.get(moduleId); - } - - public synchronized static XmlObject getPackageXmlObject(PackageIdentification packageId) { - Spd spd = spdTable.get(packageId); - if (spd != null){ - return spd.spdDocMap.get("PackageSurfaceArea"); - } - return null; - } - - public synchronized static Set getPackageList(){ - return packageList; - } - ///// remove!! - private static XmlObject cloneXmlObject(XmlObject object, boolean deep) throws Exception { - if ( object == null) { - return null; - } - XmlObject result = null; - try { - result = XmlObject.Factory.parse(object.getDomNode() - .cloneNode(deep)); - } catch (Exception ex) { - throw new Exception(ex.getMessage()); - } - return result; - } - - public static ModuleIdentification getModuleId(String key){ - // - // Get ModuleGuid, ModuleVersion, PackageGuid, PackageVersion, Arch into string array. - // - String[] keyPart = key.split(" "); - Set spi = GlobalData.getPackageList(); - Iterator ispi = spi.iterator(); - - while(ispi.hasNext()) { - PackageIdentification pi = (PackageIdentification)ispi.next(); - if ( !pi.getGuid().equalsIgnoreCase(keyPart[2])){ - - continue; - } - if (keyPart[3] != null && keyPart[3].length() > 0 && !keyPart[3].equals("null")){ - if(!pi.getVersion().equals(keyPart[3])){ - continue; - } - } - Set smi = GlobalData.getModules(pi); - Iterator ismi = smi.iterator(); - while(ismi.hasNext()) { - ModuleIdentification mi = (ModuleIdentification)ismi.next(); - if (mi.getGuid().equalsIgnoreCase(keyPart[0])){ - if (keyPart[1] != null && keyPart[1].length() > 0 && !keyPart[1].equals("null")){ - if(!mi.getVersion().equals(keyPart[1])){ - continue; - } - } - - return mi; - } - } - } - return null; - } - - public static Vector getModuleSupArchs(ModuleIdentification mi) throws Exception { - Vector vArchs = null; - ModuleSurfaceAreaDocument.ModuleSurfaceArea msa = (ModuleSurfaceAreaDocument.ModuleSurfaceArea)getModuleXmlObject(mi); - if (msa.getModuleDefinitions() == null || msa.getModuleDefinitions().getSupportedArchitectures() == null) { - return vArchs; - } - ListIterator li = msa.getModuleDefinitions().getSupportedArchitectures().listIterator(); - while (li.hasNext()) { - if (vArchs == null) { - vArchs = new Vector(); - } - vArchs.add((String)li.next()); - } - - return vArchs; - } - - public static boolean pcdInMsa (String cName, String tsGuid, ModuleIdentification mi) throws Exception { - ModuleSurfaceAreaDocument.ModuleSurfaceArea msa = (ModuleSurfaceAreaDocument.ModuleSurfaceArea)getModuleXmlObject(mi); - if (msa.getPcdCoded() == null || msa.getPcdCoded().getPcdEntryList() == null) { - return false; - } - ListIterator li = msa.getPcdCoded().getPcdEntryList().listIterator(); - while (li.hasNext()) { - PcdCodedDocument.PcdCoded.PcdEntry msaPcd = (PcdCodedDocument.PcdCoded.PcdEntry)li.next(); - if (msaPcd.getCName().equals(cName) && msaPcd.getTokenSpaceGuidCName().equals(tsGuid)) { - return true; - } - } - return false; - } - -} - -final class KeyComparator implements Comparator { - public int compare(String x, String y) { - return x.compareToIgnoreCase(y); - } - -} - -- 2.39.2