]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/PackageEditor/src/org/tianocore/packaging/FrameworkPkg.java
Remove ModuleEditor and PackageEditor from Tools\Source
[mirror_edk2.git] / Tools / Source / PackageEditor / src / org / tianocore / packaging / FrameworkPkg.java
diff --git a/Tools/Source/PackageEditor/src/org/tianocore/packaging/FrameworkPkg.java b/Tools/Source/PackageEditor/src/org/tianocore/packaging/FrameworkPkg.java
deleted file mode 100644 (file)
index b184cf9..0000000
+++ /dev/null
@@ -1,402 +0,0 @@
-/** @file\r
-  Java class FrameworkPkg is used to do package related operations.\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
-package org.tianocore.packaging;\r
-\r
-import java.io.*;\r
-import java.util.Enumeration;\r
-import java.util.LinkedList;\r
-import java.util.List;\r
-import java.util.jar.*;\r
-import org.apache.xmlbeans.*;\r
-\r
-import org.tianocore.PackageListDocument;\r
-\r
-/**\r
- This class deals with package related operations\r
-  \r
- @since PackageEditor 1.0\r
-**/\r
-public class FrameworkPkg {\r
-\r
-    private String pkg = null;\r
-\r
-    private JarFile jf = null;\r
-\r
-    ///\r
-    /// where the package will be extracted to\r
-    /// \r
-    private String wkDir = null;\r
-\r
-    private String bName = null;\r
-\r
-    private String pVer = null;\r
-\r
-    private String pGuid = null;\r
-\r
-    ///\r
-    /// current WORKSPACE location\r
-    ///\r
-    private String wkSpace = null;\r
-\r
-    private File dbFile = null;\r
-\r
-    private DbFileContents dfc = null;\r
-\r
-    ///\r
-    /// relative path of FrameworkDatabase.db file\r
-    ///\r
-    final static String dbConfigFile = "Tools" + System.getProperty("file.separator") + "Conf"\r
-                                       + System.getProperty("file.separator") + "FrameworkDatabase.db";\r
-\r
-\r
-    public FrameworkPkg() {\r
-\r
-    }\r
-\r
-    public FrameworkPkg(String package_name, String work_space) {\r
-        pkg = package_name;\r
-        wkSpace = work_space;\r
-    }\r
-\r
-    /**\r
-     install package (*.fdp file) to dir\r
-     \r
-     @param dir Destination directory\r
-     @retval <0> Install successfully\r
-     @return int\r
-     @throws IOException\r
-     @throws XmlException Xml file exception\r
-     @throws DirSame One package already installed to dir\r
-     @throws BasePkgNotInstalled Some package must be installed first\r
-     @throws VerNotEqual At least one package info with same base name but version different\r
-     @throws GuidNotEqual At least one package info with same base name and version but guid different\r
-     @throws SameAll At least one package info with same base name, version and guid same\r
-    **/\r
-    public int install(final String dir) throws IOException, XmlException, DirSame, BasePkgNotInstalled, VerNotEqual,\r
-                                        GuidNotEqual, SameAll {\r
-        wkDir = dir;\r
-        pre_install();\r
-        extract(wkDir);\r
-        post_install();\r
-        return 0;\r
-    }\r
-\r
-    public int uninstall() {\r
-\r
-        return 0;\r
-    }\r
-\r
-    /**\r
-     Check package info. against Frameworkdatabase.db\r
-     \r
-     @throws IOException\r
-     @throws XmlException Xml file exception\r
-     @throws DirSame One package already installed to dir\r
-     @throws BasePkgNotInstalled Some package must be installed first\r
-     @throws VerNotEqual At least one package info with same base name but version different\r
-     @throws GuidNotEqual At least one package info with same base name and version but guid different\r
-     @throws SameAll At least one package info with same base name, version and guid same\r
-    **/\r
-    protected void pre_install() throws IOException, XmlException, DirSame, BasePkgNotInstalled, VerNotEqual,\r
-                                GuidNotEqual, SameAll {\r
-\r
-        jf = new JarFile(pkg);\r
-\r
-        ManifestContents manFile = new ManifestContents(getManifestInputStream(jf));\r
-\r
-        String baseName = manFile.getBaseName();\r
-        String pkgVersion = manFile.getVersion();\r
-        String pkgGuid = manFile.getGuid();\r
-        bName = baseName;\r
-        pVer = pkgVersion;\r
-        pGuid = pkgGuid;\r
-\r
-        if (dbFile == null) {\r
-            dbFile = new File(wkSpace + System.getProperty("file.separator") + dbConfigFile);\r
-        }\r
-        //\r
-        // the db file should exist if base packages have been installed\r
-        //\r
-        if (!dbFile.exists()) {\r
-            throw new BasePkgNotInstalled();\r
-        }\r
-\r
-        if (dfc == null) {\r
-            dfc = new DbFileContents(dbFile);\r
-        }\r
-        if (dfc.checkDir(wkDir) != 0) {\r
-            throw new DirSame();\r
-        }\r
-        \r
-        //\r
-        // Get database info into lists\r
-        //\r
-        List<PackageListDocument.PackageList.Package> lpSameBase = new LinkedList<PackageListDocument.PackageList.Package>();\r
-        List<PackageListDocument.PackageList.Package> lpSameVersion = new LinkedList<PackageListDocument.PackageList.Package>();\r
-        int i = dfc.query(baseName, pkgVersion, pkgGuid, lpSameBase, lpSameVersion);\r
-\r
-        //\r
-        // throw various kind of exceptions according to query return value.\r
-        //\r
-        if (i == DbFileContents.VERSION_NOT_EQUAL) {\r
-\r
-            jf.close();\r
-            throw new VerNotEqual(lpSameBase);\r
-        }\r
-        if (i == DbFileContents.GUID_NOT_EQUAL) {\r
-\r
-            jf.close();\r
-            throw new GuidNotEqual(lpSameVersion);\r
-        }\r
-        if (i == DbFileContents.SAME_ALL) {\r
-            jf.close();\r
-            throw new SameAll(lpSameVersion);\r
-        }\r
-\r
-    }\r
-\r
-    /**\r
-     Add package info into db file.\r
-     \r
-     @throws IOException\r
-     @throws XmlException\r
-    **/\r
-    protected void post_install() throws IOException, XmlException {\r
-\r
-        dfc.addNewPkgInfo(bName, pVer, pGuid, wkDir.substring(wkSpace.length() + 1));\r
-\r
-    }\r
-\r
-    /**\r
-     Extract package to dir\r
-     \r
-     @param dir Destination directory\r
-     @throws DirSame\r
-     @throws IOException\r
-    **/\r
-    private void extract(String dir) throws DirSame, IOException {\r
-\r
-        new File(dir).mkdirs();\r
-        dir += System.getProperty("file.separator");\r
-        try {\r
-            for (Enumeration e = jf.entries(); e.hasMoreElements();) {\r
-                JarEntry je = (JarEntry) e.nextElement();\r
-                \r
-                //\r
-                // jar entry contains directory only, make these directories\r
-                //\r
-                if (je.isDirectory()) {\r
-                    new File(dir + je.getName()).mkdirs();\r
-                    continue;\r
-                }\r
-                \r
-                //\r
-                // jar entry contains relative path and file name, make relative directories\r
-                // under destination dir\r
-                //\r
-                int index = je.getName().lastIndexOf(System.getProperty("file.separator"));\r
-                if (index != -1) {\r
-                    String dirPath = je.getName().substring(0, index);\r
-                    new File(dir + dirPath).mkdirs();\r
-                }\r
-                \r
-                if (je != null) {\r
-                    //\r
-                    // Get an input stream for this entry.\r
-                    //\r
-                    InputStream entryStream = jf.getInputStream(je);\r
-\r
-                    try {\r
-                        //\r
-                        // Create the output file (clobbering the file if it exists).\r
-                        //\r
-                        FileOutputStream file = new FileOutputStream(dir + je.getName());\r
-\r
-                        try {\r
-\r
-                            byte[] buffer = new byte[1024];\r
-                            int bytesRead;\r
-                            //\r
-                            // Read the entry data and write it to the output file.\r
-                            //\r
-                            while ((bytesRead = entryStream.read(buffer)) != -1) {\r
-                                file.write(buffer, 0, bytesRead);\r
-                            }\r
-\r
-                            System.out.println(je.getName() + " extracted.");\r
-                        } finally {\r
-                            file.close();\r
-                        }\r
-                    } finally {\r
-                        entryStream.close();\r
-                    }\r
-                }\r
-\r
-            }\r
-\r
-        } finally {\r
-            jf.close();\r
-\r
-        }\r
-\r
-    }\r
-\r
-    public String getBName() {\r
-        return bName;\r
-    }\r
-\r
-    public void setBName(String name) {\r
-        bName = name;\r
-    }\r
-\r
-    public File getDbFile() {\r
-        return dbFile;\r
-    }\r
-\r
-    public void setDbFile(File dbFile) {\r
-        this.dbFile = dbFile;\r
-    }\r
-\r
-    public DbFileContents getDfc() {\r
-        return dfc;\r
-    }\r
-\r
-    public void setDfc(DbFileContents dfc) {\r
-        this.dfc = dfc;\r
-    }\r
-\r
-    public String getPGuid() {\r
-        return pGuid;\r
-    }\r
-\r
-    public void setPGuid(String guid) {\r
-        pGuid = guid;\r
-    }\r
-\r
-    public String getPVer() {\r
-        return pVer;\r
-    }\r
-\r
-    public void setPVer(String ver) {\r
-        pVer = ver;\r
-    }\r
-\r
-    public String getWkDir() {\r
-        return wkDir;\r
-    }\r
-\r
-    public void setWkDir(String wkDir) {\r
-        this.wkDir = wkDir;\r
-    }\r
-\r
-    public String getWkSpace() {\r
-        return wkSpace;\r
-    }\r
-\r
-    public void setWkSpace(String wkSpace) {\r
-        this.wkSpace = wkSpace;\r
-    }\r
-\r
-    public JarFile getJf() {\r
-        return jf;\r
-    }\r
-\r
-    public void setJf(JarFile jf) {\r
-        this.jf = jf;\r
-    }\r
-\r
-    public String getPkg() {\r
-        return pkg;\r
-    }\r
-\r
-    public void setPkg(String pkg) {\r
-        this.pkg = pkg;\r
-    }\r
-\r
-    /**\r
-     Get the input stream of FDPManifest.xml file from jar entry\r
-     \r
-     @param jf The Jar file that contains FDPManifest.xml file\r
-     @return InputStream\r
-     @throws IOException\r
-    **/\r
-    protected InputStream getManifestInputStream(JarFile jf) throws IOException {\r
-        JarEntry je = null;\r
-        for (Enumeration e = jf.entries(); e.hasMoreElements();) {\r
-            je = (JarEntry) e.nextElement();\r
-            if (je.getName().contains("FDPManifest.xml"))\r
-                return jf.getInputStream(je);\r
-        }\r
-\r
-        return null;\r
-    }\r
-\r
-}\r
-\r
-\r
-/**\r
- Various Exception classes for what happened when database info and package info\r
- are compared.\r
-  \r
- @since PackageEditor 1.0\r
-**/\r
-class DirSame extends Exception {\r
-    final static long serialVersionUID = 0;\r
-}\r
-\r
-class BasePkgNotInstalled extends Exception {\r
-    final static long serialVersionUID = 0;\r
-}\r
-\r
-class VerNotEqual extends Exception {\r
-    final static long serialVersionUID = 0;\r
-\r
-    //private String version = null;\r
-    List<PackageListDocument.PackageList.Package> lppSameBase = null;\r
-\r
-    VerNotEqual(List<PackageListDocument.PackageList.Package> ver) {\r
-        lppSameBase = ver;\r
-    }\r
-\r
-    public List<PackageListDocument.PackageList.Package> getVersion() {\r
-        return lppSameBase;\r
-    }\r
-}\r
-\r
-class GuidNotEqual extends Exception {\r
-    final static long serialVersionUID = 0;\r
-\r
-    private List<PackageListDocument.PackageList.Package> lppSameVer = null;\r
-\r
-    GuidNotEqual(List<PackageListDocument.PackageList.Package> ver) {\r
-        lppSameVer = ver;\r
-    }\r
-\r
-    public List<PackageListDocument.PackageList.Package> getGuid() {\r
-        return lppSameVer;\r
-    }\r
-}\r
-\r
-class SameAll extends Exception {\r
-    final static long serialVersionUID = 0;\r
-\r
-    private List<PackageListDocument.PackageList.Package> version = null;\r
-\r
-    SameAll(List<PackageListDocument.PackageList.Package> ver) {\r
-        version = ver;\r
-    }\r
-\r
-    public List<PackageListDocument.PackageList.Package> getVersion() {\r
-        return version;\r
-    }\r
-}\r