+++ /dev/null
-/** @file\r
- \r
- The file is used to init workspace and get basic information of workspace\r
- \r
- Copyright (c) 2006, Intel Corporation\r
- All rights reserved. This program and the accompanying materials\r
- are licensed and made available under the terms and conditions of the BSD License\r
- which accompanies this distribution. The full text of the license may be found at\r
- http://opensource.org/licenses/bsd-license.php\r
- \r
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
- \r
- **/\r
-\r
-package org.tianocore.packaging.workspace.common;\r
-\r
-import java.io.File;\r
-import java.util.Vector;\r
-\r
-import org.apache.xmlbeans.XmlException;\r
-import org.apache.xmlbeans.XmlObject;\r
-import org.tianocore.FrameworkDatabaseDocument;\r
-import org.tianocore.common.Log;\r
-\r
-/**\r
- The file is used to init workspace and get basic information of workspace\r
- \r
- @since ModuleEditor 1.0\r
-\r
- **/\r
-public class Workspace {\r
-\r
- //\r
- // Define class members\r
- //\r
- private String currentWorkspace = null;\r
-\r
- private FrameworkDatabaseDocument xmlFrameworkDbDoc = null;\r
- \r
- //private PackageDocument xmlPackage = null;\r
-\r
- private String strWorkspaceDatabaseFile = System.getProperty("file.separator") + "Tools"\r
- + System.getProperty("file.separator") + "Conf"\r
- + System.getProperty("file.separator") + "FrameworkDatabase.db";\r
-\r
- public static void main(String[] args) {\r
-\r
- }\r
-\r
- /**\r
- This is the default constructor\r
- Get current WORKSPACE from system environment variable\r
- \r
- **/\r
- public Workspace() {\r
- this.currentWorkspace = System.getenv("WORKSPACE");\r
- }\r
-\r
- /**\r
- Check if current workspace exists of not\r
- \r
- @retval true - The current WORKSPACE exists\r
- @retval false - The current WORKSPACE doesn't exist\r
- \r
- **/\r
- public boolean checkCurrentWorkspace() {\r
- return checkCurrentWorkspace(getCurrentWorkspace());\r
- }\r
-\r
- /**\r
- Check if current workspace exists or not via input workspace path\r
- \r
- @param strWorkspace The input data of WORKSPACE path\r
- @retval true - The current WORKSPACE exists\r
- @retval false - The current WORKSPACE doesn't exist\r
- \r
- **/\r
- public boolean checkCurrentWorkspace(String strWorkspace) {\r
- if (strWorkspace == null || strWorkspace == "") {\r
- return false;\r
- }\r
- File f = new File(strWorkspace);\r
- if (!f.isDirectory()) {\r
- return false;\r
- }\r
- if (!f.exists()) {\r
- return false;\r
- }\r
- return true;\r
- }\r
-\r
- /**\r
- Get Current Workspace\r
- \r
- @return currentWorkspace\r
- \r
- **/\r
- public String getCurrentWorkspace() {\r
- return currentWorkspace;\r
- }\r
-\r
- /**\r
- Set Current Workspace\r
- \r
- @param currentWorkspace The input data of currentWorkspace\r
- \r
- **/\r
- public void setCurrentWorkspace(String currentWorkspace) {\r
- this.currentWorkspace = currentWorkspace;\r
- }\r
-\r
- /**\r
- Open Framework Database file\r
- \r
- **/\r
- private void openFrameworkDb() {\r
- String strFrameworkDbFilePath = this.getCurrentWorkspace() + strWorkspaceDatabaseFile;\r
- File db = new File(strFrameworkDbFilePath);\r
- try {\r
- xmlFrameworkDbDoc = (FrameworkDatabaseDocument) XmlObject.Factory.parse(db);\r
- } catch (XmlException e) {\r
- Log.err("Open Framework Database " + strFrameworkDbFilePath, e.getMessage());\r
- return;\r
- } catch (Exception e) {\r
- Log.err("Open Framework Database " + strFrameworkDbFilePath, "Invalid file type");\r
- return;\r
- }\r
- }\r
-\r
- /**\r
- Get FrameworkDatabaseDocument\r
- \r
- @return FrameworkDatabaseDocument\r
- \r
- **/\r
- public FrameworkDatabaseDocument getXmlFrameworkDbDoc() {\r
- openFrameworkDb();\r
- return xmlFrameworkDbDoc;\r
- }\r
-\r
- /**\r
- Set FrameworkDatabaseDocument\r
- \r
- @param xmlFrameworkDbDoc The input data of FrameworkDatabaseDocument\r
- \r
- **/\r
- public void setXmlFrameworkDbDoc(FrameworkDatabaseDocument xmlFrameworkDbDoc) {\r
- this.xmlFrameworkDbDoc = xmlFrameworkDbDoc;\r
- }\r
-\r
- /**\r
- Get all package name form the FrameworkDatabase.db file\r
- \r
- @return vPackageName A vector includes all package names\r
- \r
- **/\r
- public Vector getAllPackageName() {\r
- Vector<String> vPackageName = new Vector<String>();\r
- openFrameworkDb();\r
-\r
- for (int index = 0; index < xmlFrameworkDbDoc.getFrameworkDatabase().getPackageList().sizeOfPackageArray(); index++) {\r
- vPackageName.addElement(xmlFrameworkDbDoc.getFrameworkDatabase().getPackageList().getPackageArray(index)\r
- .getPackageNameArray(0).getStringValue());\r
- }\r
-\r
- return vPackageName;\r
- }\r
-}\r