[jboss-cvs] JBossAS SVN: r96304 - in projects/ejb3/trunk/package-manager: docs/guide/en/modules and 11 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Nov 12 04:39:17 EST 2009


Author: jaikiran
Date: 2009-11-12 04:39:16 -0500 (Thu, 12 Nov 2009)
New Revision: 96304

Added:
   projects/ejb3/trunk/package-manager/docs/guide/en/modules/transaction.xml
   projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/PersistentDependency.java
   projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/PersistentFile.java
   projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/PersistentPackage.java
   projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/PersistentPackageManager.java
   projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/PersistentPostUnInstallScript.java
   projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/PersistentPreUnInstallScript.java
   projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/PersistentScript.java
Removed:
   projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/InstalledFile.java
   projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/InstalledPackage.java
   projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/PackageDependency.java
   projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/PackageManagerEntity.java
   projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/PostUnInstallScript.java
   projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/PreUnInstallScript.java
   projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/Script.java
Modified:
   projects/ejb3/trunk/package-manager/docs/guide/en/master.xml
   projects/ejb3/trunk/package-manager/docs/guide/en/modules/package.xml
   projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/PackageContext.java
   projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/db/DefaultDatabaseManager.java
   projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/db/PackageDatabaseManager.java
   projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/impl/DefaultPackageContext.java
   projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/impl/DefaultPackageManagerImpl.java
   projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/installer/AbstractInstaller.java
   projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/installer/Installer.java
   projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/metadata/PostInstallType.java
   projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/metadata/PostUnInstallType.java
   projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/metadata/PreInstallType.java
   projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/metadata/PreUnInstallType.java
   projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/metadata/ScriptType.java
   projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/metadata/impl/PostInstallImpl.java
   projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/metadata/impl/PostUnInstallImpl.java
   projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/metadata/impl/PreInstallImpl.java
   projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/metadata/impl/PreUnInstallImpl.java
   projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/script/ScriptProcessor.java
   projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/script/impl/AntScriptProcessor.java
   projects/ejb3/trunk/package-manager/src/test/java/org/jboss/ejb3/packagemanager/test/install/unit/BasicInstallTestCase.java
   projects/ejb3/trunk/package-manager/src/test/java/org/jboss/ejb3/packagemanager/test/uninstall/unit/UnInstallTestCase.java
Log:
EJBTHREE-1942 * More tests * Updated docs * Minor refactors

Modified: projects/ejb3/trunk/package-manager/docs/guide/en/master.xml
===================================================================
--- projects/ejb3/trunk/package-manager/docs/guide/en/master.xml	2009-11-12 09:15:37 UTC (rev 96303)
+++ projects/ejb3/trunk/package-manager/docs/guide/en/master.xml	2009-11-12 09:39:16 UTC (rev 96304)
@@ -11,6 +11,7 @@
 <!ENTITY package-build-tool SYSTEM "modules/package-build-tool.xml">
 <!ENTITY package-manager-database SYSTEM "modules/package-manager-database.xml">
 <!ENTITY installation SYSTEM "modules/installing.xml">
+<!ENTITY transaction SYSTEM "modules/transaction.xml">
 ]>
 <book lang="en">
   <bookinfo>
@@ -28,6 +29,7 @@
     &overview;
     &components;
     &ivyDepMgr;
+    &transaction;
     &installation;
     &status;
 </book>
\ No newline at end of file

Modified: projects/ejb3/trunk/package-manager/docs/guide/en/modules/package.xml
===================================================================
--- projects/ejb3/trunk/package-manager/docs/guide/en/modules/package.xml	2009-11-12 09:15:37 UTC (rev 96303)
+++ projects/ejb3/trunk/package-manager/docs/guide/en/modules/package.xml	2009-11-12 09:39:16 UTC (rev 96304)
@@ -291,7 +291,7 @@
 
                     <tbody>
                         <row>
-                            <entry>file</entry>
+                            <entry>name</entry>
                             <entry>Optional</entry>
                             <entry>package-script.xml</entry>
                             <entry>The value of this attribute, is the relative path to the script file (including
@@ -303,6 +303,21 @@
                         </row>
                     </tbody>
 
+                    <tbody>
+                        <row>
+                            <entry>path</entry>
+                            <entry>Optional</entry>
+                            <entry></entry>
+                            <entry>The value of this attribute, is the relative path to the script file within the package.
+                                The path is relative to the location of package.xml. For example, if the script file is
+                                named build.xml and is located in the "scripts" folder of the package, then the value of
+                                this attribute will be "scripts" and the value of the name attribute will be "build.xml".
+                                If this value is not specified then the build file is expected to be at the root of the
+                                package (i.e. same level as the package.xml)
+                            </entry>
+                        </row>
+                    </tbody>
+
                 </tgroup>
             </informaltable>
 
@@ -321,12 +336,12 @@
 
 <!-- A couple of pre-install files for this package -->
 <pre-install>
-<!-- The default package-script.xml will be used for this -->
+<!-- The default package-script.xml located at the root, will be used for this -->
 <script />
 <!-- The build.xml file located in the scripts folder, under the package root,
   will be used.
 -->
-<script file="scripts/build.xml" />
+<script name="build.xml" path="scripts"/>
 </pre-install>
 
 <!-- A post-install script -->
@@ -334,7 +349,7 @@
 <!-- We use the same scripts/build.xml file that was used for pre-install,
 because that build.xml can contain both pre-install and post-install
 targets -->
-<script file="scripts/build.xml"/>
+<script name="build.xml" path="scripts"/>
 </post-install>
 
 

Added: projects/ejb3/trunk/package-manager/docs/guide/en/modules/transaction.xml
===================================================================
--- projects/ejb3/trunk/package-manager/docs/guide/en/modules/transaction.xml	                        (rev 0)
+++ projects/ejb3/trunk/package-manager/docs/guide/en/modules/transaction.xml	2009-11-12 09:39:16 UTC (rev 96304)
@@ -0,0 +1,30 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+  ~ JBoss, Home of Professional Open Source
+  ~ Copyright 2005, JBoss Inc., and individual contributors as indicated
+  ~ by the @authors tag. See the copyright.txt in the distribution for a
+  ~ full listing of individual contributors.
+  ~
+  ~ This is free software; you can redistribute it and/or modify it
+  ~ under the terms of the GNU Lesser General Public License as
+  ~ published by the Free Software Foundation; either version 2.1 of
+  ~ the License, or (at your option) any later version.
+  ~
+  ~ This software is distributed in the hope that it will be useful,
+  ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
+  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  ~ Lesser General Public License for more details.
+  ~
+  ~ You should have received a copy of the GNU Lesser General Public
+  ~ License along with this software; if not, write to the Free
+  ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  -->
+<chapter id="transaction">
+    <title>Transactional Support</title>
+    <para>
+        The package manager has been implemented to support transactions during its installation, upgrade or un-installation
+        process. So if something goes wrong in the middle of an upgrade, then the entire operation is rolled back to the
+        state before the upgrade process was triggered. Same is the case with installation and un-installation.
+    </para>
+</chapter>

Modified: projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/PackageContext.java
===================================================================
--- projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/PackageContext.java	2009-11-12 09:15:37 UTC (rev 96303)
+++ projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/PackageContext.java	2009-11-12 09:39:16 UTC (rev 96304)
@@ -29,10 +29,6 @@
 import org.jboss.ejb3.packagemanager.metadata.InstallFileType;
 import org.jboss.ejb3.packagemanager.metadata.ScriptType;
 import org.jboss.ejb3.packagemanager.metadata.SystemRequirementsType;
-import org.jboss.ejb3.packagemanager.metadata.impl.PostInstallScript;
-import org.jboss.ejb3.packagemanager.metadata.impl.PostUnInstallScript;
-import org.jboss.ejb3.packagemanager.metadata.impl.PreInstallScript;
-import org.jboss.ejb3.packagemanager.metadata.impl.PreUninstallScript;
 
 /**
  * PackageContext
@@ -85,30 +81,30 @@
     * Returns the post-install scripts
     * @return
     */
-   List<PostInstallScript> getPostInstallScripts();
+   List<ScriptType> getPostInstallScripts();
 
    /**
     * Returns the pre-install scripts
     * @return
     */
-   List<PreInstallScript> getPreInstallScripts();
+   List<ScriptType> getPreInstallScripts();
 
    /**
     * Returns the files to be installed by this package
     * @return
     */
    List<InstallFileType> getInstallationFiles();
-   
+
    /**
     * Returns the pre-uninstall scripts
     * @return
     */
-   List<PreUninstallScript> getPreUnInstallScripts();
-   
+   List<ScriptType> getPreUnInstallScripts();
+
    /**
     * Returns the post-uninstall scripts
     * @return
     */
-   List<PostUnInstallScript> getPostUnInstallScripts();
-  
+   List<ScriptType> getPostUnInstallScripts();
+
 }

Modified: projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/db/DefaultDatabaseManager.java
===================================================================
--- projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/db/DefaultDatabaseManager.java	2009-11-12 09:15:37 UTC (rev 96303)
+++ projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/db/DefaultDatabaseManager.java	2009-11-12 09:39:16 UTC (rev 96304)
@@ -36,16 +36,15 @@
 import org.jboss.ejb3.packagemanager.PackageContext;
 import org.jboss.ejb3.packagemanager.PackageManagerContext;
 import org.jboss.ejb3.packagemanager.PackageManagerEnvironment;
-import org.jboss.ejb3.packagemanager.entity.InstalledFile;
-import org.jboss.ejb3.packagemanager.entity.InstalledPackage;
-import org.jboss.ejb3.packagemanager.entity.PackageDependency;
-import org.jboss.ejb3.packagemanager.entity.PackageManagerEntity;
-import org.jboss.ejb3.packagemanager.entity.PreUnInstallScript;
+import org.jboss.ejb3.packagemanager.entity.PersistentFile;
+import org.jboss.ejb3.packagemanager.entity.PersistentDependency;
+import org.jboss.ejb3.packagemanager.entity.PersistentPackage;
+import org.jboss.ejb3.packagemanager.entity.PersistentPackageManager;
+import org.jboss.ejb3.packagemanager.entity.PersistentPreUnInstallScript;
 import org.jboss.ejb3.packagemanager.exception.PackageManagerException;
 import org.jboss.ejb3.packagemanager.exception.PackageNotInstalledException;
 import org.jboss.ejb3.packagemanager.metadata.InstallFileType;
-import org.jboss.ejb3.packagemanager.metadata.impl.PostUnInstallScript;
-import org.jboss.ejb3.packagemanager.metadata.impl.PreUninstallScript;
+import org.jboss.ejb3.packagemanager.metadata.ScriptType;
 import org.jboss.logging.Logger;
 
 /**
@@ -95,15 +94,15 @@
 
    }
 
-   private PackageManagerEntity getOrCreatePackageManagerEntity(PackageManagerContext pkgMgrCtx)
+   private PersistentPackageManager getOrCreatePackageManagerEntity(PackageManagerContext pkgMgrCtx)
    {
       EntityManager em = this.getEntityManager();
-      Query query = em.createQuery("from PackageManagerEntity pm where pm.jbossHome='" + pkgMgrCtx.getJBossServerHome()
-            + "'");
-      List<PackageManagerEntity> packageManagers = query.getResultList();
+      Query query = em.createQuery("from " + PersistentPackageManager.class.getSimpleName()
+            + " pm where pm.jbossHome='" + pkgMgrCtx.getJBossServerHome() + "'");
+      List<PersistentPackageManager> packageManagers = query.getResultList();
       if (packageManagers == null || packageManagers.isEmpty())
       {
-         PackageManagerEntity pm = new PackageManagerEntity(pkgMgrCtx);
+         PersistentPackageManager pm = new PersistentPackageManager(pkgMgrCtx);
          em.persist(pm);
 
          return pm;
@@ -123,14 +122,14 @@
     * @see org.jboss.ejb3.packagemanager.db.PackageDatabaseManager#installPackage(PackageContext)
     */
    @Override
-   public InstalledPackage installPackage(PackageContext pkgCtx)
+   public PersistentPackage installPackage(PackageContext pkgCtx)
    {
       EntityManager em = this.getEntityManager();
       //      EntityTransaction tx = em.getTransaction();
       //      tx.begin();
-      PackageManagerEntity packageManager = this.getOrCreatePackageManagerEntity(this.packageManagerCtx);
+      PersistentPackageManager packageManager = this.getOrCreatePackageManagerEntity(this.packageManagerCtx);
 
-      InstalledPackage newlyInstalledPackage;
+      PersistentPackage newlyInstalledPackage;
       try
       {
          newlyInstalledPackage = this.createPackage(packageManager, pkgCtx);
@@ -149,13 +148,13 @@
     * @see org.jboss.ejb3.packagemanager.db.PackageDatabaseManager#getInstalledPackage(java.lang.String)
     */
    @Override
-   public InstalledPackage getInstalledPackage(String name) throws PackageNotInstalledException
+   public PersistentPackage getInstalledPackage(String name) throws PackageNotInstalledException
    {
       EntityManager em = this.getEntityManager();
-      PackageManagerEntity packageManager = this.getOrCreatePackageManagerEntity(this.packageManagerCtx);
-      Query query = em.createQuery("from " + InstalledPackage.class.getSimpleName() + " p where p.name='" + name
+      PersistentPackageManager packageManager = this.getOrCreatePackageManagerEntity(this.packageManagerCtx);
+      Query query = em.createQuery("from " + PersistentPackage.class.getSimpleName() + " p where p.name='" + name
             + "' and p.packageManager.id=" + packageManager.getId());
-      return (InstalledPackage) query.getSingleResult();
+      return (PersistentPackage) query.getSingleResult();
    }
 
    /**
@@ -165,8 +164,8 @@
    public boolean isPackageInstalled(String name)
    {
       EntityManager em = this.getEntityManager();
-      PackageManagerEntity packageManager = this.getOrCreatePackageManagerEntity(this.packageManagerCtx);
-      Query query = em.createQuery("from " + InstalledPackage.class.getSimpleName() + " p where p.name='" + name
+      PersistentPackageManager packageManager = this.getOrCreatePackageManagerEntity(this.packageManagerCtx);
+      Query query = em.createQuery("from " + PersistentPackage.class.getSimpleName() + " p where p.name='" + name
             + "' and p.packageManager.id=" + packageManager.getId());
       List<Object> result = query.getResultList();
 
@@ -181,19 +180,19 @@
     * @see org.jboss.ejb3.packagemanager.db.PackageDatabaseManager#getDependentPackages(java.lang.String)
     */
    @Override
-   public Set<InstalledPackage> getDependentPackages(String name) throws PackageNotInstalledException
+   public Set<PersistentPackage> getDependentPackages(String name) throws PackageNotInstalledException
    {
-      InstalledPackage installedPackage = this.getInstalledPackage(name);
+      PersistentPackage installedPackage = this.getInstalledPackage(name);
       EntityManager em = this.getEntityManager();
-      Query query = em.createQuery("select pd.dependentPackage from " + PackageDependency.class.getSimpleName()
+      Query query = em.createQuery("select pd.dependentPackage from " + PersistentDependency.class.getSimpleName()
             + " pd " + "join pd.dependeePackage p " + " where p.name='" + installedPackage.getPackageName() + "'");
 
-      List<InstalledPackage> result = query.getResultList();
+      List<PersistentPackage> result = query.getResultList();
       if (result == null || result.isEmpty())
       {
          return Collections.EMPTY_SET;
       }
-      Set<InstalledPackage> dependentPackages = new HashSet<InstalledPackage>(result);
+      Set<PersistentPackage> dependentPackages = new HashSet<PersistentPackage>(result);
       return dependentPackages;
    }
 
@@ -204,10 +203,10 @@
     * @return
     * @throws PackageManagerException 
     */
-   private InstalledPackage createPackage(PackageManagerEntity pkgMgrEntity, PackageContext pkgCtx)
+   private PersistentPackage createPackage(PersistentPackageManager pkgMgrEntity, PackageContext pkgCtx)
          throws PackageManagerException
    {
-      InstalledPackage newPackage = new InstalledPackage(pkgMgrEntity, pkgCtx.getPackageName(), pkgCtx
+      PersistentPackage newPackage = new PersistentPackage(pkgMgrEntity, pkgCtx.getPackageName(), pkgCtx
             .getPackageVersion());
 
       List<InstallFileType> files = pkgCtx.getInstallationFiles();
@@ -215,7 +214,7 @@
       {
          for (InstallFileType file : files)
          {
-            InstalledFile installationFile = new InstalledFile(file.getName(), file.getDestPath());
+            PersistentFile installationFile = new PersistentFile(file.getName(), file.getDestPath());
             if (file.getType() != null)
             {
                installationFile.setFileType(file.getType().toString());
@@ -226,25 +225,25 @@
          }
       }
       String relativePathToScriptStore = this.packageManagerCtx.getScriptStoreLocation(pkgCtx);
-      List<PreUninstallScript> preUnInstallScripts = pkgCtx.getPreUnInstallScripts();
+      List<ScriptType> preUnInstallScripts = pkgCtx.getPreUnInstallScripts();
       if (preUnInstallScripts != null)
       {
-         for (PreUninstallScript script : preUnInstallScripts)
+         for (ScriptType script : preUnInstallScripts)
          {
             String scriptName = script.getName();
-            PreUnInstallScript preUnInstallScript = new PreUnInstallScript(newPackage, scriptName,
+            PersistentPreUnInstallScript preUnInstallScript = new PersistentPreUnInstallScript(newPackage, scriptName,
                   relativePathToScriptStore);
             newPackage.addPreUnInstallScript(preUnInstallScript);
          }
       }
 
-      List<PostUnInstallScript> postUnInstallScripts = pkgCtx.getPostUnInstallScripts();
+      List<ScriptType> postUnInstallScripts = pkgCtx.getPostUnInstallScripts();
       if (postUnInstallScripts != null)
       {
-         for (PostUnInstallScript script : postUnInstallScripts)
+         for (ScriptType script : postUnInstallScripts)
          {
             String scriptName = script.getName();
-            org.jboss.ejb3.packagemanager.entity.PostUnInstallScript postUnInstallScript = new org.jboss.ejb3.packagemanager.entity.PostUnInstallScript(
+            org.jboss.ejb3.packagemanager.entity.PersistentPostUnInstallScript postUnInstallScript = new org.jboss.ejb3.packagemanager.entity.PersistentPostUnInstallScript(
                   newPackage, scriptName, relativePathToScriptStore);
             newPackage.addPostUnInstallScript(postUnInstallScript);
          }
@@ -253,15 +252,15 @@
       Set<PackageContext> dependencyPackages = pkgCtx.getDependencyPackages();
       if (dependencyPackages != null)
       {
-         Set<PackageDependency> dependencyPackagesForNewPackage = new HashSet<PackageDependency>(dependencyPackages
+         Set<PersistentDependency> dependencyPackagesForNewPackage = new HashSet<PersistentDependency>(dependencyPackages
                .size());
          newPackage.setDependencies(dependencyPackagesForNewPackage);
 
          for (PackageContext dependencyPkgCtx : dependencyPackages)
          {
-            PackageDependency dependency = new PackageDependency();
+            PersistentDependency dependency = new PersistentDependency();
             dependency.setDependentPackage(newPackage);
-            InstalledPackage dependencyPackage = this.getInstalledPackage(dependencyPkgCtx.getPackageName());
+            PersistentPackage dependencyPackage = this.getInstalledPackage(dependencyPkgCtx.getPackageName());
             dependency.setDependeePackage(dependencyPackage);
 
             dependencyPackagesForNewPackage.add(dependency);
@@ -280,7 +279,7 @@
       {
          throw new PackageNotInstalledException(name);
       }
-      InstalledPackage installedPackage = this.getInstalledPackage(name);
+      PersistentPackage installedPackage = this.getInstalledPackage(name);
       this.removePackage(installedPackage);
 
    }
@@ -302,10 +301,10 @@
    }
 
    /**
-    * @see org.jboss.ejb3.packagemanager.db.PackageDatabaseManager#removePackage(org.jboss.ejb3.packagemanager.entity.InstalledPackage)
+    * @see org.jboss.ejb3.packagemanager.db.PackageDatabaseManager#removePackage(org.jboss.ejb3.packagemanager.entity.PersistentPackage)
     */
    @Override
-   public void removePackage(InstalledPackage installedPackage)
+   public void removePackage(PersistentPackage installedPackage)
    {
       EntityManager em = this.getEntityManager();
       //EntityTransaction tx = em.getTransaction();

Modified: projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/db/PackageDatabaseManager.java
===================================================================
--- projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/db/PackageDatabaseManager.java	2009-11-12 09:15:37 UTC (rev 96303)
+++ projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/db/PackageDatabaseManager.java	2009-11-12 09:39:16 UTC (rev 96304)
@@ -24,7 +24,7 @@
 import java.util.Set;
 
 import org.jboss.ejb3.packagemanager.PackageContext;
-import org.jboss.ejb3.packagemanager.entity.InstalledPackage;
+import org.jboss.ejb3.packagemanager.entity.PersistentPackage;
 import org.jboss.ejb3.packagemanager.exception.PackageNotInstalledException;
 
 /**
@@ -46,10 +46,10 @@
     * installation
     *  
     * @param pkgCtx The package which was installed.
-    * @return Returns the {@link InstalledPackage} representing the newly
+    * @return Returns the {@link PersistentPackage} representing the newly
     * installed package
     */
-   InstalledPackage installPackage(PackageContext pkgCtx);
+   PersistentPackage installPackage(PackageContext pkgCtx);
    
    /**
     * Returns a package with the package name - <code>name</code>, which is already installed. 
@@ -62,7 +62,7 @@
     * @throws PackageNotInstalledException If the package with the name <code>name</code> is 
     * not installed
     */
-   InstalledPackage getInstalledPackage(String name) throws PackageNotInstalledException;
+   PersistentPackage getInstalledPackage(String name) throws PackageNotInstalledException;
    
    /**
     * Returns true if the package with the given <code>name</code> is already installed.
@@ -74,7 +74,7 @@
    boolean isPackageInstalled(String name);
    
    /**
-    * Returns a set of {@link InstalledPackage}s which depend on the package with the
+    * Returns a set of {@link PersistentPackage}s which depend on the package with the
     * name <code>name</code>. If there are no such dependent packages then an empty
     * set is returned.
     * 
@@ -83,7 +83,7 @@
     * @throws If the package with <code>name</code> is not installed, then {@link PackageNotInstalledException}
     * is thrown
     */
-   Set<InstalledPackage> getDependentPackages(String name) throws PackageNotInstalledException;
+   Set<PersistentPackage> getDependentPackages(String name) throws PackageNotInstalledException;
    
    /**
     * Removes the package from the DB records.
@@ -99,7 +99,7 @@
     * 
     * @param installedPackage The package which has been installed
     */
-   void removePackage(InstalledPackage installedPackage);
+   void removePackage(PersistentPackage installedPackage);
    
    
 }

Deleted: projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/InstalledFile.java
===================================================================
--- projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/InstalledFile.java	2009-11-12 09:15:37 UTC (rev 96303)
+++ projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/InstalledFile.java	2009-11-12 09:39:16 UTC (rev 96304)
@@ -1,126 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.ejb3.packagemanager.entity;
-
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
-import javax.persistence.Table;
-
-/**
- * InstallationFile
- *
- * @author Jaikiran Pai
- * @version $Revision: $
- */
- at Entity
- at Table(name="installation_file")
-public class InstalledFile
-{
-
-   @Id
-   @GeneratedValue (strategy = GenerationType.IDENTITY)
-   private long id;
-   
-   private String fileName;
-   
-   private String installedPath;
-   
-   private String fileType;
-   
-   @ManyToOne 
-   @JoinColumn(name="package_name")
-   private InstalledPackage pkg;
-   
-   private InstalledFile()
-   {
-      // for jpa
-   }
-   
-   /**
-    * Constructor
-    * 
-    * @param fileName The name of the file
-    * @param pathWhereInstalled The path, relative to JBOSS_HOME where this file is installed
-    */
-   public InstalledFile(String fileName, String pathWhereInstalled)
-   {
-      this.fileName = fileName;
-      this.installedPath = pathWhereInstalled;
-   }
-
-   public long getId()
-   {
-      return id;
-   }
-
-   public void setId(long id)
-   {
-      this.id = id;
-   }
-
-   public String getFileName()
-   {
-      return fileName;
-   }
-
-   public void setFileName(String fileName)
-   {
-      this.fileName = fileName;
-   }
-
-   public String getInstalledPath()
-   {
-      return installedPath;
-   }
-
-   public void setInstalledPath(String installedPath)
-   {
-      this.installedPath = installedPath;
-   }
-
-   public String getFileType()
-   {
-      return fileType;
-   }
-
-   public void setFileType(String fileType)
-   {
-      this.fileType = fileType;
-   }
-
-   public InstalledPackage getPkg()
-   {
-      return pkg;
-   }
-
-   public void setPkg(InstalledPackage pkg)
-   {
-      this.pkg = pkg;
-   }
-   
-   
-   
-}

Deleted: projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/InstalledPackage.java
===================================================================
--- projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/InstalledPackage.java	2009-11-12 09:15:37 UTC (rev 96303)
+++ projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/InstalledPackage.java	2009-11-12 09:39:16 UTC (rev 96304)
@@ -1,240 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.ejb3.packagemanager.entity;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import javax.persistence.CascadeType;
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
-import javax.persistence.OneToMany;
-import javax.persistence.Table;
-
-import org.hibernate.annotations.ForceDiscriminator;
-
-/**
- * Package
- *
- * @author Jaikiran Pai
- * @version $Revision: $
- */
- at Entity
- at Table(name = "package")
-public class InstalledPackage
-{
-
-   @Id
-   private String name;
-
-   private String version;
-
-   @OneToMany(mappedBy = "dependentPackage", cascade = CascadeType.ALL)
-   private Set<PackageDependency> dependencies;
-
-   @OneToMany(mappedBy = "pkg", cascade = CascadeType.ALL)
-   private Set<InstalledFile> installationFiles;
-
-   @OneToMany(mappedBy = "installedPkg", cascade = CascadeType.ALL)
-   private Set<PreUnInstallScript> preUnInstallScripts;
-
-   @OneToMany(mappedBy = "installedPkg", cascade = CascadeType.ALL)
-   private Set<PostUnInstallScript> postUnInstallScripts;
-
-   @ManyToOne
-   @JoinColumn(name = "package_manager_id")
-   private PackageManagerEntity packageManager;
-
-   private InstalledPackage()
-   {
-      // for JPA
-   }
-
-   public InstalledPackage(PackageManagerEntity pkgMgr, String packageName, String packageVersion)
-   {
-      this.packageManager = pkgMgr;
-      this.name = packageName;
-      this.version = packageVersion;
-   }
-
-   public String getPackageName()
-   {
-      return this.name;
-   }
-
-   public String getPackageVersion()
-   {
-      return this.version;
-   }
-
-   public Set<InstalledFile> getInstallationFiles()
-   {
-      return installationFiles;
-   }
-
-   public void setInstallationFiles(Set<InstalledFile> installationFiles)
-   {
-      this.installationFiles = installationFiles;
-   }
-   
-   public void addInstallationFile(InstalledFile file)
-   {
-      if (this.installationFiles == null)
-      {
-         this.installationFiles = new HashSet<InstalledFile>();
-      }
-      this.installationFiles.add(file);
-   }
-
-   public Set<PreUnInstallScript> getPreUnInstallScripts()
-   {
-      return this.preUnInstallScripts;
-   }
-
-   public void setPreUnInstallScript(Set<PreUnInstallScript> preUnInstallScripts)
-   {
-      this.preUnInstallScripts = preUnInstallScripts;
-   }
-
-   public void addPreUnInstallScript(PreUnInstallScript preUnInstallScrtipt)
-   {
-      if (this.preUnInstallScripts == null)
-      {
-         this.preUnInstallScripts = new HashSet<PreUnInstallScript>();
-      }
-      this.preUnInstallScripts.add(preUnInstallScrtipt);
-   }
-
-   public Set<PostUnInstallScript> getPostUnInstallScripts()
-   {
-      return this.postUnInstallScripts;
-   }
-
-   public void setPostUnInstallScript(Set<PostUnInstallScript> postUnInstallScripts)
-   {
-      this.postUnInstallScripts = postUnInstallScripts;
-   }
-
-   public void addPostUnInstallScript(PostUnInstallScript postUnInstallScript)
-   {
-      if (this.postUnInstallScripts == null)
-      {
-         this.postUnInstallScripts = new HashSet<PostUnInstallScript>();
-      }
-      this.postUnInstallScripts.add(postUnInstallScript);
-
-   }
-
-   public PackageManagerEntity getPackageManager()
-   {
-      return packageManager;
-   }
-
-   public void setPackageManager(PackageManagerEntity packageManager)
-   {
-      this.packageManager = packageManager;
-   }
-
-   public Set<PackageDependency> getDependencies()
-   {
-      return dependencies;
-   }
-
-   public void setDependencies(Set<PackageDependency> dependencies)
-   {
-      this.dependencies = dependencies;
-   }
-
-   public void addDependency(PackageDependency dependency)
-   {
-      if (this.dependencies == null)
-      {
-         this.dependencies = new HashSet<PackageDependency>();
-      }
-      this.dependencies.add(dependency);
-   }
-
-   public void addDependencies(Set<PackageDependency> dependencies)
-   {
-      if (this.dependencies == null)
-      {
-         this.dependencies = new HashSet<PackageDependency>();
-      }
-      this.dependencies.addAll(dependencies);
-   }
-
-   public void removeDependency(PackageDependency dependency)
-   {
-      if (this.dependencies == null)
-      {
-         return;
-      }
-      this.dependencies.remove(dependency);
-   }
-
-   public void removeDependency(InstalledPackage dependencyPackage)
-   {
-      if (this.dependencies == null)
-      {
-         return;
-      }
-      Set<PackageDependency> copyOfDependencies = new HashSet<PackageDependency>(this.dependencies);
-      for (PackageDependency dependency : copyOfDependencies)
-      {
-         if (dependency.getDependentPackage().equals(dependencyPackage))
-         {
-            this.dependencies.remove(dependency);
-         }
-      }
-
-   }
-
-   /**
-    * @see java.lang.Object#equals(java.lang.Object)
-    */
-   @Override
-   public boolean equals(Object obj)
-   {
-      if (obj == null)
-      {
-         return false;
-      }
-      if (!(obj instanceof InstalledPackage))
-      {
-         return false;
-      }
-      InstalledPackage otherPackge = (InstalledPackage) obj;
-      return this.name == otherPackge.name;
-
-   }
-
-   /**
-    * @see java.lang.Object#hashCode()
-    */
-   @Override
-   public int hashCode()
-   {
-      return this.name.hashCode();
-   }
-}

Deleted: projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/PackageDependency.java
===================================================================
--- projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/PackageDependency.java	2009-11-12 09:15:37 UTC (rev 96303)
+++ projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/PackageDependency.java	2009-11-12 09:39:16 UTC (rev 96304)
@@ -1,117 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.ejb3.packagemanager.entity;
-
-import javax.persistence.CascadeType;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
-import javax.persistence.Table;
-
-/**
- * PackageDependency
- *
- * @author Jaikiran Pai
- * @version $Revision: $
- */
- at Entity
- at Table(name = "package_dependency")
-public class PackageDependency
-{
-
-   @Id
-   @GeneratedValue(strategy = GenerationType.IDENTITY)
-   private long id;
-
-   @ManyToOne(cascade = CascadeType.REFRESH)
-   @JoinColumn(name = "dependent_package")
-   private InstalledPackage dependentPackage;
-
-   @ManyToOne(cascade = CascadeType.REFRESH)
-   @JoinColumn(name = "dependee_package")
-   private InstalledPackage dependeePackage;
-
-   public long getId()
-   {
-      return id;
-   }
-
-   public void setId(long id)
-   {
-      this.id = id;
-   }
-
-   public InstalledPackage getDependentPackage()
-   {
-      return dependentPackage;
-   }
-
-   public void setDependentPackage(InstalledPackage dependentPackage)
-   {
-      this.dependentPackage = dependentPackage;
-   }
-
-   public InstalledPackage getDependeePackage()
-   {
-      return dependeePackage;
-   }
-
-   public void setDependeePackage(InstalledPackage dependeePackage)
-   {
-      this.dependeePackage = dependeePackage;
-   }
-
-   /**
-    * @see java.lang.Object#equals(java.lang.Object)
-    */
-   @Override
-   public boolean equals(Object obj)
-   {
-      if (obj == null)
-      {
-         return false;
-      }
-      if (!(obj instanceof PackageDependency))
-      {
-         return false;
-      }
-      PackageDependency other = (PackageDependency) obj;
-      if (this.dependeePackage != null && this.dependentPackage != null)
-      {
-         return this.dependeePackage.equals(other.getDependeePackage()) && this.dependentPackage.equals(other.getDependentPackage());
-      }
-      return false;
-   }
-
-   /**
-    * @see java.lang.Object#hashCode()
-    */
-   @Override
-   public int hashCode()
-   {
-      // TODO Auto-generated method stub
-      return super.hashCode();
-   }
-}

Deleted: projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/PackageManagerEntity.java
===================================================================
--- projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/PackageManagerEntity.java	2009-11-12 09:15:37 UTC (rev 96303)
+++ projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/PackageManagerEntity.java	2009-11-12 09:39:16 UTC (rev 96304)
@@ -1,84 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.ejb3.packagemanager.entity;
-
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.Table;
-
-import org.jboss.ejb3.packagemanager.PackageManagerContext;
-
-/**
- * PackageManagerEntity
- *
- * @author Jaikiran Pai
- * @version $Revision: $
- */
- at Entity
- at Table(name = "package_manager")
-public class PackageManagerEntity
-{
-
-   @Id
-   @GeneratedValue(strategy = GenerationType.IDENTITY)
-   private long id;
-
-   private String jbossHome;
-
-   private PackageManagerEntity()
-   {
-      // for jpa
-   }
-
-   public PackageManagerEntity(String jbossHome)
-   {
-      this.jbossHome = jbossHome;
-   }
-
-   public PackageManagerEntity(PackageManagerContext pkgMgrCtx)
-   {
-      this.jbossHome = pkgMgrCtx.getJBossServerHome();
-   }
-
-   public long getId()
-   {
-      return id;
-   }
-
-   public void setId(long id)
-   {
-      this.id = id;
-   }
-
-   public String getJbossHome()
-   {
-      return jbossHome;
-   }
-
-   public void setJbossHome(String jbossHome)
-   {
-      this.jbossHome = jbossHome;
-   }
-
-}

Added: projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/PersistentDependency.java
===================================================================
--- projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/PersistentDependency.java	                        (rev 0)
+++ projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/PersistentDependency.java	2009-11-12 09:39:16 UTC (rev 96304)
@@ -0,0 +1,117 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.ejb3.packagemanager.entity;
+
+import javax.persistence.CascadeType;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.Table;
+
+/**
+ * PackageDependency
+ *
+ * @author Jaikiran Pai
+ * @version $Revision: $
+ */
+ at Entity
+ at Table(name = "package_dependency")
+public class PersistentDependency
+{
+
+   @Id
+   @GeneratedValue(strategy = GenerationType.IDENTITY)
+   private long id;
+
+   @ManyToOne(cascade = CascadeType.REFRESH)
+   @JoinColumn(name = "dependent_package")
+   private PersistentPackage dependentPackage;
+
+   @ManyToOne(cascade = CascadeType.REFRESH)
+   @JoinColumn(name = "dependee_package")
+   private PersistentPackage dependeePackage;
+
+   public long getId()
+   {
+      return id;
+   }
+
+   public void setId(long id)
+   {
+      this.id = id;
+   }
+
+   public PersistentPackage getDependentPackage()
+   {
+      return dependentPackage;
+   }
+
+   public void setDependentPackage(PersistentPackage dependentPackage)
+   {
+      this.dependentPackage = dependentPackage;
+   }
+
+   public PersistentPackage getDependeePackage()
+   {
+      return dependeePackage;
+   }
+
+   public void setDependeePackage(PersistentPackage dependeePackage)
+   {
+      this.dependeePackage = dependeePackage;
+   }
+
+   /**
+    * @see java.lang.Object#equals(java.lang.Object)
+    */
+   @Override
+   public boolean equals(Object obj)
+   {
+      if (obj == null)
+      {
+         return false;
+      }
+      if (!(obj instanceof PersistentDependency))
+      {
+         return false;
+      }
+      PersistentDependency other = (PersistentDependency) obj;
+      if (this.dependeePackage != null && this.dependentPackage != null)
+      {
+         return this.dependeePackage.equals(other.getDependeePackage()) && this.dependentPackage.equals(other.getDependentPackage());
+      }
+      return false;
+   }
+
+   /**
+    * @see java.lang.Object#hashCode()
+    */
+   @Override
+   public int hashCode()
+   {
+      // TODO Auto-generated method stub
+      return super.hashCode();
+   }
+}

Added: projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/PersistentFile.java
===================================================================
--- projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/PersistentFile.java	                        (rev 0)
+++ projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/PersistentFile.java	2009-11-12 09:39:16 UTC (rev 96304)
@@ -0,0 +1,126 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.ejb3.packagemanager.entity;
+
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.Table;
+
+/**
+ * InstallationFile
+ *
+ * @author Jaikiran Pai
+ * @version $Revision: $
+ */
+ at Entity
+ at Table(name="installation_file")
+public class PersistentFile
+{
+
+   @Id
+   @GeneratedValue (strategy = GenerationType.IDENTITY)
+   private long id;
+   
+   private String fileName;
+   
+   private String installedPath;
+   
+   private String fileType;
+   
+   @ManyToOne 
+   @JoinColumn(name="package_name")
+   private PersistentPackage pkg;
+   
+   private PersistentFile()
+   {
+      // for jpa
+   }
+   
+   /**
+    * Constructor
+    * 
+    * @param fileName The name of the file
+    * @param pathWhereInstalled The path, relative to JBOSS_HOME where this file is installed
+    */
+   public PersistentFile(String fileName, String pathWhereInstalled)
+   {
+      this.fileName = fileName;
+      this.installedPath = pathWhereInstalled;
+   }
+
+   public long getId()
+   {
+      return id;
+   }
+
+   public void setId(long id)
+   {
+      this.id = id;
+   }
+
+   public String getFileName()
+   {
+      return fileName;
+   }
+
+   public void setFileName(String fileName)
+   {
+      this.fileName = fileName;
+   }
+
+   public String getInstalledPath()
+   {
+      return installedPath;
+   }
+
+   public void setInstalledPath(String installedPath)
+   {
+      this.installedPath = installedPath;
+   }
+
+   public String getFileType()
+   {
+      return fileType;
+   }
+
+   public void setFileType(String fileType)
+   {
+      this.fileType = fileType;
+   }
+
+   public PersistentPackage getPkg()
+   {
+      return pkg;
+   }
+
+   public void setPkg(PersistentPackage pkg)
+   {
+      this.pkg = pkg;
+   }
+   
+   
+   
+}

Added: projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/PersistentPackage.java
===================================================================
--- projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/PersistentPackage.java	                        (rev 0)
+++ projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/PersistentPackage.java	2009-11-12 09:39:16 UTC (rev 96304)
@@ -0,0 +1,240 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.ejb3.packagemanager.entity;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import javax.persistence.CascadeType;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.OneToMany;
+import javax.persistence.Table;
+
+import org.hibernate.annotations.ForceDiscriminator;
+
+/**
+ * Package
+ *
+ * @author Jaikiran Pai
+ * @version $Revision: $
+ */
+ at Entity
+ at Table(name = "package")
+public class PersistentPackage
+{
+
+   @Id
+   private String name;
+
+   private String version;
+
+   @OneToMany(mappedBy = "dependentPackage", cascade = CascadeType.ALL)
+   private Set<PersistentDependency> dependencies;
+
+   @OneToMany(mappedBy = "pkg", cascade = CascadeType.ALL)
+   private Set<PersistentFile> installationFiles;
+
+   @OneToMany(mappedBy = "installedPkg", cascade = CascadeType.ALL)
+   private Set<PersistentPreUnInstallScript> preUnInstallScripts;
+
+   @OneToMany(mappedBy = "installedPkg", cascade = CascadeType.ALL)
+   private Set<PersistentPostUnInstallScript> postUnInstallScripts;
+
+   @ManyToOne
+   @JoinColumn(name = "package_manager_id")
+   private PersistentPackageManager packageManager;
+
+   private PersistentPackage()
+   {
+      // for JPA
+   }
+
+   public PersistentPackage(PersistentPackageManager pkgMgr, String packageName, String packageVersion)
+   {
+      this.packageManager = pkgMgr;
+      this.name = packageName;
+      this.version = packageVersion;
+   }
+
+   public String getPackageName()
+   {
+      return this.name;
+   }
+
+   public String getPackageVersion()
+   {
+      return this.version;
+   }
+
+   public Set<PersistentFile> getInstallationFiles()
+   {
+      return installationFiles;
+   }
+
+   public void setInstallationFiles(Set<PersistentFile> installationFiles)
+   {
+      this.installationFiles = installationFiles;
+   }
+   
+   public void addInstallationFile(PersistentFile file)
+   {
+      if (this.installationFiles == null)
+      {
+         this.installationFiles = new HashSet<PersistentFile>();
+      }
+      this.installationFiles.add(file);
+   }
+
+   public Set<PersistentPreUnInstallScript> getPreUnInstallScripts()
+   {
+      return this.preUnInstallScripts;
+   }
+
+   public void setPreUnInstallScript(Set<PersistentPreUnInstallScript> preUnInstallScripts)
+   {
+      this.preUnInstallScripts = preUnInstallScripts;
+   }
+
+   public void addPreUnInstallScript(PersistentPreUnInstallScript preUnInstallScrtipt)
+   {
+      if (this.preUnInstallScripts == null)
+      {
+         this.preUnInstallScripts = new HashSet<PersistentPreUnInstallScript>();
+      }
+      this.preUnInstallScripts.add(preUnInstallScrtipt);
+   }
+
+   public Set<PersistentPostUnInstallScript> getPostUnInstallScripts()
+   {
+      return this.postUnInstallScripts;
+   }
+
+   public void setPostUnInstallScript(Set<PersistentPostUnInstallScript> postUnInstallScripts)
+   {
+      this.postUnInstallScripts = postUnInstallScripts;
+   }
+
+   public void addPostUnInstallScript(PersistentPostUnInstallScript postUnInstallScript)
+   {
+      if (this.postUnInstallScripts == null)
+      {
+         this.postUnInstallScripts = new HashSet<PersistentPostUnInstallScript>();
+      }
+      this.postUnInstallScripts.add(postUnInstallScript);
+
+   }
+
+   public PersistentPackageManager getPackageManager()
+   {
+      return packageManager;
+   }
+
+   public void setPackageManager(PersistentPackageManager packageManager)
+   {
+      this.packageManager = packageManager;
+   }
+
+   public Set<PersistentDependency> getDependencies()
+   {
+      return dependencies;
+   }
+
+   public void setDependencies(Set<PersistentDependency> dependencies)
+   {
+      this.dependencies = dependencies;
+   }
+
+   public void addDependency(PersistentDependency dependency)
+   {
+      if (this.dependencies == null)
+      {
+         this.dependencies = new HashSet<PersistentDependency>();
+      }
+      this.dependencies.add(dependency);
+   }
+
+   public void addDependencies(Set<PersistentDependency> dependencies)
+   {
+      if (this.dependencies == null)
+      {
+         this.dependencies = new HashSet<PersistentDependency>();
+      }
+      this.dependencies.addAll(dependencies);
+   }
+
+   public void removeDependency(PersistentDependency dependency)
+   {
+      if (this.dependencies == null)
+      {
+         return;
+      }
+      this.dependencies.remove(dependency);
+   }
+
+   public void removeDependency(PersistentPackage dependencyPackage)
+   {
+      if (this.dependencies == null)
+      {
+         return;
+      }
+      Set<PersistentDependency> copyOfDependencies = new HashSet<PersistentDependency>(this.dependencies);
+      for (PersistentDependency dependency : copyOfDependencies)
+      {
+         if (dependency.getDependentPackage().equals(dependencyPackage))
+         {
+            this.dependencies.remove(dependency);
+         }
+      }
+
+   }
+
+   /**
+    * @see java.lang.Object#equals(java.lang.Object)
+    */
+   @Override
+   public boolean equals(Object obj)
+   {
+      if (obj == null)
+      {
+         return false;
+      }
+      if (!(obj instanceof PersistentPackage))
+      {
+         return false;
+      }
+      PersistentPackage otherPackge = (PersistentPackage) obj;
+      return this.name == otherPackge.name;
+
+   }
+
+   /**
+    * @see java.lang.Object#hashCode()
+    */
+   @Override
+   public int hashCode()
+   {
+      return this.name.hashCode();
+   }
+}

Added: projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/PersistentPackageManager.java
===================================================================
--- projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/PersistentPackageManager.java	                        (rev 0)
+++ projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/PersistentPackageManager.java	2009-11-12 09:39:16 UTC (rev 96304)
@@ -0,0 +1,84 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.ejb3.packagemanager.entity;
+
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+import org.jboss.ejb3.packagemanager.PackageManagerContext;
+
+/**
+ * PackageManagerEntity
+ *
+ * @author Jaikiran Pai
+ * @version $Revision: $
+ */
+ at Entity
+ at Table(name = "package_manager")
+public class PersistentPackageManager
+{
+
+   @Id
+   @GeneratedValue(strategy = GenerationType.IDENTITY)
+   private long id;
+
+   private String jbossHome;
+
+   private PersistentPackageManager()
+   {
+      // for jpa
+   }
+
+   public PersistentPackageManager(String jbossHome)
+   {
+      this.jbossHome = jbossHome;
+   }
+
+   public PersistentPackageManager(PackageManagerContext pkgMgrCtx)
+   {
+      this.jbossHome = pkgMgrCtx.getJBossServerHome();
+   }
+
+   public long getId()
+   {
+      return id;
+   }
+
+   public void setId(long id)
+   {
+      this.id = id;
+   }
+
+   public String getJbossHome()
+   {
+      return jbossHome;
+   }
+
+   public void setJbossHome(String jbossHome)
+   {
+      this.jbossHome = jbossHome;
+   }
+
+}

Added: projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/PersistentPostUnInstallScript.java
===================================================================
--- projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/PersistentPostUnInstallScript.java	                        (rev 0)
+++ projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/PersistentPostUnInstallScript.java	2009-11-12 09:39:16 UTC (rev 96304)
@@ -0,0 +1,80 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.ejb3.packagemanager.entity;
+
+import javax.persistence.DiscriminatorValue;
+import javax.persistence.Entity;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+
+/**
+ * PostUnInstallScript
+ *
+ * @author Jaikiran Pai
+ * @version $Revision: $
+ */
+ at Entity
+ at DiscriminatorValue(value="post-uninstall")
+public class PersistentPostUnInstallScript extends PersistentScript
+{
+
+   // Bad! Hibernate wants this here, instead of on the super class.
+   // If this field is made available in the super class, and then
+   // there's a one-to-many mapping to this PostUnInstallScript, then
+   // you run into:
+   // Caused by: org.hibernate.AnnotationException: mappedBy reference an unknown target entity property: 
+   // org.jboss.ejb3.packagemanager.entity.PostUnInstallScript.installedPkg 
+   // in org.jboss.ejb3.packagemanager.entity.InstalledPackage.postUnInstallScripts
+   @ManyToOne 
+   @JoinColumn(name="package_name")
+   protected PersistentPackage installedPkg;
+   
+   private PersistentPostUnInstallScript()
+   {
+      //for jpa
+   }
+   
+   public PersistentPostUnInstallScript(String fileName, String path)
+   {
+      super(fileName, path);
+   }
+   
+   /**
+    * @param pkg
+    * @param scriptFile
+    */
+   public PersistentPostUnInstallScript(PersistentPackage pkg, String fileName, String path)
+   {
+      super(fileName, path);
+      this.installedPkg = pkg;
+   }
+
+   public PersistentPackage getInstalledPkg()
+   {
+      return installedPkg;
+   }
+
+   public void setInstalledPkg(PersistentPackage installedPkg)
+   {
+      this.installedPkg = installedPkg;
+   }
+}

Added: projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/PersistentPreUnInstallScript.java
===================================================================
--- projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/PersistentPreUnInstallScript.java	                        (rev 0)
+++ projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/PersistentPreUnInstallScript.java	2009-11-12 09:39:16 UTC (rev 96304)
@@ -0,0 +1,80 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.ejb3.packagemanager.entity;
+
+import javax.persistence.DiscriminatorValue;
+import javax.persistence.Entity;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+
+/**
+ * PreUnInstallScript
+ *
+ * @author Jaikiran Pai
+ * @version $Revision: $
+ */
+ at Entity
+ at DiscriminatorValue(value = "pre-uninstall")
+public class PersistentPreUnInstallScript extends PersistentScript
+{
+
+   // Bad! Hibernate wants this here, instead of on the super class.
+   // If this field is made available in the super class, and then
+   // there's a one-to-many mapping to this PostUnInstallScript, then
+   // you run into:
+   // Caused by: org.hibernate.AnnotationException: mappedBy reference an unknown target entity property: 
+   // org.jboss.ejb3.packagemanager.entity.PostUnInstallScript.installedPkg 
+   // in org.jboss.ejb3.packagemanager.entity.InstalledPackage.postUnInstallScripts
+   @ManyToOne
+   @JoinColumn(name = "package_name")
+   protected PersistentPackage installedPkg;
+
+   private PersistentPreUnInstallScript()
+   {
+      // for jpa
+   }
+
+   public PersistentPreUnInstallScript(String fileName, String path)
+   {
+      super(fileName, path);
+   }
+
+   /**
+    * @param pkg
+    * @param scriptFile
+    */
+   public PersistentPreUnInstallScript(PersistentPackage pkg, String fileName, String path)
+   {
+      super(fileName, path);
+      this.installedPkg = pkg;
+   }
+
+   public PersistentPackage getInstalledPkg()
+   {
+      return installedPkg;
+   }
+
+   public void setInstalledPkg(PersistentPackage installedPkg)
+   {
+      this.installedPkg = installedPkg;
+   }
+}

Added: projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/PersistentScript.java
===================================================================
--- projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/PersistentScript.java	                        (rev 0)
+++ projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/PersistentScript.java	2009-11-12 09:39:16 UTC (rev 96304)
@@ -0,0 +1,123 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.ejb3.packagemanager.entity;
+
+import javax.persistence.DiscriminatorColumn;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.Inheritance;
+import javax.persistence.InheritanceType;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.Table;
+
+import org.hibernate.annotations.ForceDiscriminator;
+
+/**
+ * Script
+ *
+ * @author Jaikiran Pai
+ * @version $Revision: $
+ */
+ at Entity
+ at Table (name="script")
+ at Inheritance (strategy=InheritanceType.SINGLE_TABLE)
+ at DiscriminatorColumn (name="scriptType")
+// Hibernate specific issue - Without the "ForcedDiscriminator" annotation
+// it fetches both pre-uninstall/post-uninstall scripts in the set maintained in InstalledPackage
+// OneToMany association. (i.e. if ForceDiscriminator is not used, 
+// thenHibernate does not use the discriminator column in the where clause which fetching the set, 
+// it just uses the join column). See https://forum.hibernate.org/viewtopic.php?t=961213
+ at ForceDiscriminator
+public abstract class PersistentScript
+{
+
+   @Id
+   @GeneratedValue(strategy = GenerationType.IDENTITY)
+   protected long id;
+
+   protected String name;
+   
+   protected String path;
+   
+   
+
+   protected PersistentScript()
+   {
+      // for jpa
+   }
+   
+   protected PersistentScript(String fileName, String path)
+   {
+      this.name = fileName;
+      this.path = path;
+   }
+   
+   
+   public long getId()
+   {
+      return id;
+   }
+
+   public void setId(long id)
+   {
+      this.id = id;
+   }
+
+   public String getScriptFile()
+   {
+      return name;
+   }
+
+   public void setScriptFile(String scriptFile)
+   {
+      this.name = scriptFile;
+   }
+
+   
+
+   public String getName()
+   {
+      return name;
+   }
+
+   public void setName(String name)
+   {
+      this.name = name;
+   }
+
+   public String getPath()
+   {
+      return path;
+   }
+
+   public void setPath(String path)
+   {
+      this.path = path;
+   }
+
+   
+   
+   
+}

Deleted: projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/PostUnInstallScript.java
===================================================================
--- projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/PostUnInstallScript.java	2009-11-12 09:15:37 UTC (rev 96303)
+++ projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/PostUnInstallScript.java	2009-11-12 09:39:16 UTC (rev 96304)
@@ -1,80 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.ejb3.packagemanager.entity;
-
-import javax.persistence.DiscriminatorValue;
-import javax.persistence.Entity;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
-
-/**
- * PostUnInstallScript
- *
- * @author Jaikiran Pai
- * @version $Revision: $
- */
- at Entity
- at DiscriminatorValue(value="post-uninstall")
-public class PostUnInstallScript extends Script
-{
-
-   // Bad! Hibernate wants this here, instead of on the super class.
-   // If this field is made available in the super class, and then
-   // there's a one-to-many mapping to this PostUnInstallScript, then
-   // you run into:
-   // Caused by: org.hibernate.AnnotationException: mappedBy reference an unknown target entity property: 
-   // org.jboss.ejb3.packagemanager.entity.PostUnInstallScript.installedPkg 
-   // in org.jboss.ejb3.packagemanager.entity.InstalledPackage.postUnInstallScripts
-   @ManyToOne 
-   @JoinColumn(name="package_name")
-   protected InstalledPackage installedPkg;
-   
-   private PostUnInstallScript()
-   {
-      //for jpa
-   }
-   
-   public PostUnInstallScript(String fileName, String path)
-   {
-      super(fileName, path);
-   }
-   
-   /**
-    * @param pkg
-    * @param scriptFile
-    */
-   public PostUnInstallScript(InstalledPackage pkg, String fileName, String path)
-   {
-      super(fileName, path);
-      this.installedPkg = pkg;
-   }
-
-   public InstalledPackage getInstalledPkg()
-   {
-      return installedPkg;
-   }
-
-   public void setInstalledPkg(InstalledPackage installedPkg)
-   {
-      this.installedPkg = installedPkg;
-   }
-}

Deleted: projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/PreUnInstallScript.java
===================================================================
--- projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/PreUnInstallScript.java	2009-11-12 09:15:37 UTC (rev 96303)
+++ projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/PreUnInstallScript.java	2009-11-12 09:39:16 UTC (rev 96304)
@@ -1,80 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.ejb3.packagemanager.entity;
-
-import javax.persistence.DiscriminatorValue;
-import javax.persistence.Entity;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
-
-/**
- * PreUnInstallScript
- *
- * @author Jaikiran Pai
- * @version $Revision: $
- */
- at Entity
- at DiscriminatorValue(value = "pre-uninstall")
-public class PreUnInstallScript extends Script
-{
-
-   // Bad! Hibernate wants this here, instead of on the super class.
-   // If this field is made available in the super class, and then
-   // there's a one-to-many mapping to this PostUnInstallScript, then
-   // you run into:
-   // Caused by: org.hibernate.AnnotationException: mappedBy reference an unknown target entity property: 
-   // org.jboss.ejb3.packagemanager.entity.PostUnInstallScript.installedPkg 
-   // in org.jboss.ejb3.packagemanager.entity.InstalledPackage.postUnInstallScripts
-   @ManyToOne
-   @JoinColumn(name = "package_name")
-   protected InstalledPackage installedPkg;
-
-   private PreUnInstallScript()
-   {
-      // for jpa
-   }
-
-   public PreUnInstallScript(String fileName, String path)
-   {
-      super(fileName, path);
-   }
-
-   /**
-    * @param pkg
-    * @param scriptFile
-    */
-   public PreUnInstallScript(InstalledPackage pkg, String fileName, String path)
-   {
-      super(fileName, path);
-      this.installedPkg = pkg;
-   }
-
-   public InstalledPackage getInstalledPkg()
-   {
-      return installedPkg;
-   }
-
-   public void setInstalledPkg(InstalledPackage installedPkg)
-   {
-      this.installedPkg = installedPkg;
-   }
-}

Deleted: projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/Script.java
===================================================================
--- projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/Script.java	2009-11-12 09:15:37 UTC (rev 96303)
+++ projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/entity/Script.java	2009-11-12 09:39:16 UTC (rev 96304)
@@ -1,123 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.ejb3.packagemanager.entity;
-
-import javax.persistence.DiscriminatorColumn;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.Inheritance;
-import javax.persistence.InheritanceType;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
-import javax.persistence.Table;
-
-import org.hibernate.annotations.ForceDiscriminator;
-
-/**
- * Script
- *
- * @author Jaikiran Pai
- * @version $Revision: $
- */
- at Entity
- at Table (name="script")
- at Inheritance (strategy=InheritanceType.SINGLE_TABLE)
- at DiscriminatorColumn (name="scriptType")
-// Hibernate specific issue - Without the "ForcedDiscriminator" annotation
-// it fetches both pre-uninstall/post-uninstall scripts in the set maintained in InstalledPackage
-// OneToMany association. (i.e. if ForceDiscriminator is not used, 
-// thenHibernate does not use the discriminator column in the where clause which fetching the set, 
-// it just uses the join column). See https://forum.hibernate.org/viewtopic.php?t=961213
- at ForceDiscriminator
-public abstract class Script
-{
-
-   @Id
-   @GeneratedValue(strategy = GenerationType.IDENTITY)
-   protected long id;
-
-   protected String name;
-   
-   protected String path;
-   
-   
-
-   protected Script()
-   {
-      // for jpa
-   }
-   
-   protected Script(String fileName, String path)
-   {
-      this.name = fileName;
-      this.path = path;
-   }
-   
-   
-   public long getId()
-   {
-      return id;
-   }
-
-   public void setId(long id)
-   {
-      this.id = id;
-   }
-
-   public String getScriptFile()
-   {
-      return name;
-   }
-
-   public void setScriptFile(String scriptFile)
-   {
-      this.name = scriptFile;
-   }
-
-   
-
-   public String getName()
-   {
-      return name;
-   }
-
-   public void setName(String name)
-   {
-      this.name = name;
-   }
-
-   public String getPath()
-   {
-      return path;
-   }
-
-   public void setPath(String path)
-   {
-      this.path = path;
-   }
-
-   
-   
-   
-}

Modified: projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/impl/DefaultPackageContext.java
===================================================================
--- projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/impl/DefaultPackageContext.java	2009-11-12 09:15:37 UTC (rev 96303)
+++ projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/impl/DefaultPackageContext.java	2009-11-12 09:39:16 UTC (rev 96304)
@@ -46,12 +46,9 @@
 import org.jboss.ejb3.packagemanager.metadata.PostUnInstallType;
 import org.jboss.ejb3.packagemanager.metadata.PreInstallType;
 import org.jboss.ejb3.packagemanager.metadata.PreUnInstallType;
+import org.jboss.ejb3.packagemanager.metadata.ScriptType;
 import org.jboss.ejb3.packagemanager.metadata.SystemRequirementsType;
 import org.jboss.ejb3.packagemanager.metadata.UnProcessedDependenciesType;
-import org.jboss.ejb3.packagemanager.metadata.impl.PostInstallScript;
-import org.jboss.ejb3.packagemanager.metadata.impl.PostUnInstallScript;
-import org.jboss.ejb3.packagemanager.metadata.impl.PreInstallScript;
-import org.jboss.ejb3.packagemanager.metadata.impl.PreUninstallScript;
 import org.jboss.ejb3.packagemanager.retriever.PackageRetriever;
 import org.jboss.ejb3.packagemanager.retriever.impl.PackageRetrievalFactory;
 import org.jboss.ejb3.packagemanager.util.IOUtil;
@@ -178,14 +175,14 @@
     * @see org.jboss.ejb3.packagemanager.PackageContext#getPostInstallScripts()
     */
    @Override
-   public List<PostInstallScript> getPostInstallScripts()
+   public List<ScriptType> getPostInstallScripts()
    {
       PostInstallType postInstall = this.pkg.getPostInstall();
       if (postInstall == null)
       {
          return Collections.EMPTY_LIST;
       }
-      List<PostInstallScript> postInstallScripts = postInstall.getScripts();
+      List<ScriptType> postInstallScripts = postInstall.getScripts();
       if (postInstallScripts == null)
       {
          return Collections.EMPTY_LIST;
@@ -198,14 +195,14 @@
     * @see org.jboss.ejb3.packagemanager.PackageContext#getPreInstallScripts()
     */
    @Override
-   public List<PreInstallScript> getPreInstallScripts()
+   public List<ScriptType> getPreInstallScripts()
    {
       PreInstallType preInstall = this.pkg.getPreInstall();
       if (preInstall == null)
       {
          return Collections.EMPTY_LIST;
       }
-      List<PreInstallScript> preInstallScripts = preInstall.getScripts();
+      List<ScriptType> preInstallScripts = preInstall.getScripts();
       if (preInstallScripts == null)
       {
          return Collections.EMPTY_LIST;
@@ -217,14 +214,14 @@
     * @see org.jboss.ejb3.packagemanager.PackageContext#getPostUnInstallScripts()
     */
    @Override
-   public List<PostUnInstallScript> getPostUnInstallScripts()
+   public List<ScriptType> getPostUnInstallScripts()
    {
       PostUnInstallType postUnInstall = this.pkg.getPostUninstall();
       if (postUnInstall == null)
       {
          return Collections.EMPTY_LIST;
       }
-      List<PostUnInstallScript> postUnInstallScripts = postUnInstall.getScripts();
+      List<ScriptType> postUnInstallScripts = postUnInstall.getScripts();
       if (postUnInstallScripts == null)
       {
          return Collections.EMPTY_LIST;
@@ -236,14 +233,14 @@
     * @see org.jboss.ejb3.packagemanager.PackageContext#getPreUnInstallScripts()
     */
    @Override
-   public List<PreUninstallScript> getPreUnInstallScripts()
+   public List<ScriptType> getPreUnInstallScripts()
    {
       PreUnInstallType preUnInstall = this.pkg.getPreUninstall();
       if (preUnInstall == null)
       {
          return Collections.EMPTY_LIST;
       }
-      List<PreUninstallScript> preUnInstallScripts = preUnInstall.getScripts();
+      List<ScriptType> preUnInstallScripts = preUnInstall.getScripts();
       if (preUnInstallScripts == null)
       {
          return Collections.EMPTY_LIST;

Modified: projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/impl/DefaultPackageManagerImpl.java
===================================================================
--- projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/impl/DefaultPackageManagerImpl.java	2009-11-12 09:15:37 UTC (rev 96303)
+++ projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/impl/DefaultPackageManagerImpl.java	2009-11-12 09:39:16 UTC (rev 96304)
@@ -39,8 +39,8 @@
 import org.jboss.ejb3.packagemanager.annotation.TransactionAttributeType;
 import org.jboss.ejb3.packagemanager.db.DefaultDatabaseManager;
 import org.jboss.ejb3.packagemanager.db.PackageDatabaseManager;
-import org.jboss.ejb3.packagemanager.entity.InstalledFile;
-import org.jboss.ejb3.packagemanager.entity.InstalledPackage;
+import org.jboss.ejb3.packagemanager.entity.PersistentFile;
+import org.jboss.ejb3.packagemanager.entity.PersistentPackage;
 import org.jboss.ejb3.packagemanager.exception.PackageManagerException;
 import org.jboss.ejb3.packagemanager.exception.PackageNotInstalledException;
 import org.jboss.ejb3.packagemanager.installer.DefaultInstaller;
@@ -51,10 +51,6 @@
 import org.jboss.ejb3.packagemanager.metadata.PackagedDependency;
 import org.jboss.ejb3.packagemanager.metadata.ScriptType;
 import org.jboss.ejb3.packagemanager.metadata.UnProcessedDependenciesType;
-import org.jboss.ejb3.packagemanager.metadata.impl.PostInstallScript;
-import org.jboss.ejb3.packagemanager.metadata.impl.PostUnInstallScript;
-import org.jboss.ejb3.packagemanager.metadata.impl.PreInstallScript;
-import org.jboss.ejb3.packagemanager.metadata.impl.PreUninstallScript;
 import org.jboss.ejb3.packagemanager.script.ScriptProcessor;
 import org.jboss.ejb3.packagemanager.script.impl.AntScriptProcessor;
 import org.jboss.ejb3.packagemanager.tx.TransactionManagerImpl;
@@ -244,13 +240,13 @@
       {
          throw new PackageNotInstalledException("Package " + packageName + " is not installed - so cannot be removed!");
       }
-      InstalledPackage installedPackage = this.pkgDatabaseManager.getInstalledPackage(packageName);
+      PersistentPackage installedPackage = this.pkgDatabaseManager.getInstalledPackage(packageName);
 
       this.removePackage(installedPackage, false);
 
    }
 
-   protected void removePackage(InstalledPackage installedPackage, boolean forceRemove)
+   protected void removePackage(PersistentPackage installedPackage, boolean forceRemove)
          throws PackageNotInstalledException, PackageManagerException
    {
       String packageName = installedPackage.getPackageName();
@@ -258,7 +254,7 @@
       {
          // check if other packages are dependent on this package
          // If yes, then do NOT remove this package. Else remove this package
-         Set<InstalledPackage> dependentPackages = this.pkgDatabaseManager.getDependentPackages(packageName);
+         Set<PersistentPackage> dependentPackages = this.pkgDatabaseManager.getDependentPackages(packageName);
          if (dependentPackages != null && !dependentPackages.isEmpty())
          {
             throw new PackageManagerException("Other packages are dependent on package " + packageName
@@ -270,7 +266,7 @@
       // TODO : Revisit this installer creation
       Installer installer = new DefaultInstaller(this.pkgMgrCtx);
       // install files in this package
-      for (InstalledFile fileToUninstall : installedPackage.getInstallationFiles())
+      for (PersistentFile fileToUninstall : installedPackage.getInstallationFiles())
       {
          installer.uninstall(installedPackage, fileToUninstall);
       }
@@ -324,7 +320,7 @@
       boolean isPackageInstalled = this.pkgDatabaseManager.isPackageInstalled(packageName);
       if (isPackageInstalled)
       {
-         InstalledPackage installedPackage = this.pkgDatabaseManager.getInstalledPackage(packageName);
+         PersistentPackage installedPackage = this.pkgDatabaseManager.getInstalledPackage(packageName);
          logger.info("Removing existing package " + packageName + " version " + installedPackage.getPackageVersion()
                + " for upgrading to " + pkgContext);
          removePackage(installedPackage, true);
@@ -407,20 +403,20 @@
       // we store only uninstall scripts.
 
       // post-uninstall
-      List<PostUnInstallScript> postUnInstallScripts = pkgCtx.getPostUnInstallScripts();
+      List<ScriptType> postUnInstallScripts = pkgCtx.getPostUnInstallScripts();
       if (postUnInstallScripts != null)
       {
-         for (PostUnInstallScript script : postUnInstallScripts)
+         for (ScriptType script : postUnInstallScripts)
          {
             storeScript(pkgCtx, script, scriptStoreDir);
 
          }
       }
       // pre-uninstall
-      List<PreUninstallScript> preUnInstallScripts = pkgCtx.getPreUnInstallScripts();
+      List<ScriptType> preUnInstallScripts = pkgCtx.getPreUnInstallScripts();
       if (preUnInstallScripts != null)
       {
-         for (PreUninstallScript script : preUnInstallScripts)
+         for (ScriptType script : preUnInstallScripts)
          {
             storeScript(pkgCtx, script, scriptStoreDir);
          }
@@ -472,13 +468,13 @@
    protected void preInstallPackage(PackageContext pkgCtx) throws PackageManagerException
    {
       // find any pre-install scripts
-      List<PreInstallScript> preInstallScripts = pkgCtx.getPreInstallScripts();
+      List<ScriptType> preInstallScripts = pkgCtx.getPreInstallScripts();
       if (preInstallScripts == null || preInstallScripts.isEmpty())
       {
          logger.trace("There are no pre-install scripts for " + pkgCtx);
          return;
       }
-      for (PreInstallScript script : preInstallScripts)
+      for (ScriptType script : preInstallScripts)
       {
          // TODO: Can we just have one instance of the script processor to process
          // all scripts? Stateful/stateless?
@@ -508,17 +504,17 @@
     * @throws PackageManagerException If any exception occurs during pre-uninstallation of the 
     * package
     */
-   protected void preUnInstallPackage(InstalledPackage installedPackage) throws PackageManagerException
+   protected void preUnInstallPackage(PersistentPackage installedPackage) throws PackageManagerException
    {
       // find any pre-uninstall scripts
-      Set<org.jboss.ejb3.packagemanager.entity.PreUnInstallScript> preUnInstallScripts = installedPackage
+      Set<org.jboss.ejb3.packagemanager.entity.PersistentPreUnInstallScript> preUnInstallScripts = installedPackage
             .getPreUnInstallScripts();
       if (preUnInstallScripts == null || preUnInstallScripts.isEmpty())
       {
          logger.trace("There are no pre-uninstall scripts for package " + installedPackage.getPackageName());
          return;
       }
-      for (org.jboss.ejb3.packagemanager.entity.PreUnInstallScript script : preUnInstallScripts)
+      for (org.jboss.ejb3.packagemanager.entity.PersistentPreUnInstallScript script : preUnInstallScripts)
       {
          ScriptProcessor scriptProcessor = new AntScriptProcessor();
          File packageManagerHome = this.pkgMgrCtx.getPackageManagerEnvironment().getPackageManagerHome();
@@ -545,13 +541,13 @@
    protected void postInstallPackage(PackageContext pkgCtx) throws PackageManagerException
    {
       // find any post-install scripts
-      List<PostInstallScript> postInstallScripts = pkgCtx.getPostInstallScripts();
+      List<ScriptType> postInstallScripts = pkgCtx.getPostInstallScripts();
       if (postInstallScripts == null || postInstallScripts.isEmpty())
       {
          logger.trace("There are no post-install scripts for " + pkgCtx);
          return;
       }
-      for (PostInstallScript script : postInstallScripts)
+      for (ScriptType script : postInstallScripts)
       {
          ScriptProcessor scriptProcessor = new AntScriptProcessor();
          // TODO: Can we just have one instance of the script processor to process
@@ -581,17 +577,17 @@
     * @throws PackageManagerException If any exception occurs during post-uninstallation of the 
     * package
     */
-   protected void postUnInstallPackage(InstalledPackage installedPackage) throws PackageManagerException
+   protected void postUnInstallPackage(PersistentPackage installedPackage) throws PackageManagerException
    {
       // find any post-uninstall scripts
-      Set<org.jboss.ejb3.packagemanager.entity.PostUnInstallScript> postUnInstallScripts = installedPackage
+      Set<org.jboss.ejb3.packagemanager.entity.PersistentPostUnInstallScript> postUnInstallScripts = installedPackage
             .getPostUnInstallScripts();
       if (postUnInstallScripts == null || postUnInstallScripts.isEmpty())
       {
          logger.trace("There are no post-uninstall scripts for package " + installedPackage.getPackageName());
          return;
       }
-      for (org.jboss.ejb3.packagemanager.entity.PostUnInstallScript script : postUnInstallScripts)
+      for (org.jboss.ejb3.packagemanager.entity.PersistentPostUnInstallScript script : postUnInstallScripts)
       {
          ScriptProcessor scriptProcessor = new AntScriptProcessor();
          File packageManagerHome = this.pkgMgrCtx.getPackageManagerEnvironment().getPackageManagerHome();

Modified: projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/installer/AbstractInstaller.java
===================================================================
--- projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/installer/AbstractInstaller.java	2009-11-12 09:15:37 UTC (rev 96303)
+++ projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/installer/AbstractInstaller.java	2009-11-12 09:39:16 UTC (rev 96304)
@@ -25,8 +25,8 @@
 
 import org.jboss.ejb3.packagemanager.PackageContext;
 import org.jboss.ejb3.packagemanager.PackageManagerContext;
-import org.jboss.ejb3.packagemanager.entity.InstalledFile;
-import org.jboss.ejb3.packagemanager.entity.InstalledPackage;
+import org.jboss.ejb3.packagemanager.entity.PersistentFile;
+import org.jboss.ejb3.packagemanager.entity.PersistentPackage;
 import org.jboss.ejb3.packagemanager.exception.PackageManagerException;
 import org.jboss.ejb3.packagemanager.metadata.InstallFileType;
 import org.jboss.logging.Logger;
@@ -53,7 +53,7 @@
     * @see org.jboss.ejb3.packagemanager.installer.Installer#uninstall(org.jboss.ejb3.packagemanager.PackageManagerContext, org.jboss.ejb3.packagemanager.PackageContext)
     */
    @Override
-   public void uninstall(InstalledPackage pkg, InstalledFile installedFile) throws PackageManagerException
+   public void uninstall(PersistentPackage pkg, PersistentFile installedFile) throws PackageManagerException
    {
       String jbossHome = pkg.getPackageManager().getJbossHome();
       File relativePathToFile = new File(jbossHome, installedFile.getInstalledPath());

Modified: projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/installer/Installer.java
===================================================================
--- projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/installer/Installer.java	2009-11-12 09:15:37 UTC (rev 96303)
+++ projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/installer/Installer.java	2009-11-12 09:39:16 UTC (rev 96304)
@@ -22,8 +22,8 @@
 package org.jboss.ejb3.packagemanager.installer;
 
 import org.jboss.ejb3.packagemanager.PackageContext;
-import org.jboss.ejb3.packagemanager.entity.InstalledFile;
-import org.jboss.ejb3.packagemanager.entity.InstalledPackage;
+import org.jboss.ejb3.packagemanager.entity.PersistentFile;
+import org.jboss.ejb3.packagemanager.entity.PersistentPackage;
 import org.jboss.ejb3.packagemanager.exception.PackageManagerException;
 import org.jboss.ejb3.packagemanager.metadata.InstallFileType;
 
@@ -38,5 +38,5 @@
 
    void install(PackageContext pkgCtx, InstallFileType fileToInstall) throws PackageManagerException;
    
-   void uninstall(InstalledPackage installedPackage, InstalledFile fileToUnInstall) throws PackageManagerException;
+   void uninstall(PersistentPackage installedPackage, PersistentFile fileToUnInstall) throws PackageManagerException;
 }

Modified: projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/metadata/PostInstallType.java
===================================================================
--- projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/metadata/PostInstallType.java	2009-11-12 09:15:37 UTC (rev 96303)
+++ projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/metadata/PostInstallType.java	2009-11-12 09:39:16 UTC (rev 96304)
@@ -23,8 +23,6 @@
 
 import java.util.List;
 
-import org.jboss.ejb3.packagemanager.metadata.impl.PostInstallScript;
-
 /**
  * PostInstallMetadata
  *
@@ -42,21 +40,21 @@
     * 
     * @return
     */
-   List<PostInstallScript> getScripts();
+   List<ScriptType> getScripts();
 
    /**
     * Sets the list of post-install scripts for a package
     * 
     * @param scripts The post-install scripts
     */
-   void setScripts(List<PostInstallScript> scripts);
+   void setScripts(List<ScriptType> scripts);
 
    /**
     * Adds a post-install script to the list of post-install scripts 
     * for this package
     * @param script
     */
-   void addScript(PostInstallScript script);
+   void addScript(ScriptType script);
 
    /**
     * Returns the package to which this post-install step

Modified: projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/metadata/PostUnInstallType.java
===================================================================
--- projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/metadata/PostUnInstallType.java	2009-11-12 09:15:37 UTC (rev 96303)
+++ projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/metadata/PostUnInstallType.java	2009-11-12 09:39:16 UTC (rev 96304)
@@ -39,21 +39,21 @@
     * 
     * @return
     */
-   List<PostUnInstallScript> getScripts();
+   List<ScriptType> getScripts();
 
    /**
     * Sets the list of post-uninstall scripts for a package
     * 
     * @param scripts The post-uninstall scripts
     */
-   void setScripts(List<PostUnInstallScript> scripts);
+   void setScripts(List<ScriptType> scripts);
 
    /**
     * Adds a post-uninstall script to the list of post-uninstall scripts 
     * for this package
     * @param script
     */
-   void addScript(PostUnInstallScript script);
+   void addScript(ScriptType script);
 
    /**
     * Returns the package to which this post-uninstall step

Modified: projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/metadata/PreInstallType.java
===================================================================
--- projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/metadata/PreInstallType.java	2009-11-12 09:15:37 UTC (rev 96303)
+++ projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/metadata/PreInstallType.java	2009-11-12 09:39:16 UTC (rev 96304)
@@ -44,21 +44,21 @@
     * 
     * @return
     */
-   List<PreInstallScript> getScripts();
+   List<ScriptType> getScripts();
    
    /**
     * Sets the list of pre-install scripts for a package
     * 
     * @param scripts The pre-install scripts
     */ 
-   void setScripts(List<PreInstallScript> scripts);
+   void setScripts(List<ScriptType> scripts);
    
    /**
     * Adds a pre-install script to the list of pre-install scripts 
     * for this package
     * @param script
     */
-   void addScript(PreInstallScript script);
+   void addScript(ScriptType script);
    
    /**
     * Returns the package to which this pre-install step

Modified: projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/metadata/PreUnInstallType.java
===================================================================
--- projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/metadata/PreUnInstallType.java	2009-11-12 09:15:37 UTC (rev 96303)
+++ projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/metadata/PreUnInstallType.java	2009-11-12 09:39:16 UTC (rev 96304)
@@ -38,21 +38,21 @@
     * 
     * @return
     */
-   List<PreUninstallScript> getScripts();
+   List<ScriptType> getScripts();
 
    /**
     * Sets the list of pre-uninstall scripts for a package
     * 
     * @param scripts The pre-uninstall scripts
     */
-   void setScripts(List<PreUninstallScript> scripts);
+   void setScripts(List<ScriptType> scripts);
 
    /**
     * Adds a pre-uninstall script to the list of pre-uninstall scripts 
     * for this package
     * @param script
     */
-   void addScript(PreUninstallScript script);
+   void addScript(ScriptType script);
 
    /**
     * Returns the package to which this pre-uninstall step

Modified: projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/metadata/ScriptType.java
===================================================================
--- projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/metadata/ScriptType.java	2009-11-12 09:15:37 UTC (rev 96303)
+++ projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/metadata/ScriptType.java	2009-11-12 09:39:16 UTC (rev 96304)
@@ -21,8 +21,6 @@
 */
 package org.jboss.ejb3.packagemanager.metadata;
 
-import org.jboss.ejb3.packagemanager.metadata.impl.PostUnInstallScript;
-import org.jboss.ejb3.packagemanager.metadata.impl.PreUninstallScript;
 
 
 /**

Modified: projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/metadata/impl/PostInstallImpl.java
===================================================================
--- projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/metadata/impl/PostInstallImpl.java	2009-11-12 09:15:37 UTC (rev 96303)
+++ projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/metadata/impl/PostInstallImpl.java	2009-11-12 09:39:16 UTC (rev 96304)
@@ -26,6 +26,7 @@
 
 import org.jboss.ejb3.packagemanager.metadata.PackageType;
 import org.jboss.ejb3.packagemanager.metadata.PostInstallType;
+import org.jboss.ejb3.packagemanager.metadata.ScriptType;
 
 /**
  * PostInstallMetadataImpl
@@ -44,7 +45,7 @@
    /**
     * post-install scripts
     */
-   private List<PostInstallScript> scripts;
+   private List<ScriptType> scripts;
 
    /**
     * Constructor
@@ -58,7 +59,7 @@
    /**
     * @see org.jboss.ejb3.packagemanager.metadata.PostInstallType#addScript(PostInstallScript)
     */
-   public void addScript(PostInstallScript script)
+   public void addScript(ScriptType script)
    {
       if (script == null)
       {
@@ -66,7 +67,7 @@
       }
       if (this.scripts == null)
       {
-         this.scripts = new ArrayList<PostInstallScript>();
+         this.scripts = new ArrayList<ScriptType>();
       }
       this.scripts.add(script);
 
@@ -83,7 +84,7 @@
    /**
     * @see org.jboss.ejb3.packagemanager.metadata.PostInstallType#getScripts()
     */
-   public List<PostInstallScript> getScripts()
+   public List<ScriptType> getScripts()
    {
       return this.scripts;
    }
@@ -91,7 +92,7 @@
    /**
     * @see org.jboss.ejb3.packagemanager.metadata.PostInstallType#setScripts(java.util.List)
     */
-   public void setScripts(List<PostInstallScript> scripts)
+   public void setScripts(List<ScriptType> scripts)
    {
       if (scripts == null)
       {

Modified: projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/metadata/impl/PostUnInstallImpl.java
===================================================================
--- projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/metadata/impl/PostUnInstallImpl.java	2009-11-12 09:15:37 UTC (rev 96303)
+++ projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/metadata/impl/PostUnInstallImpl.java	2009-11-12 09:39:16 UTC (rev 96304)
@@ -26,6 +26,7 @@
 
 import org.jboss.ejb3.packagemanager.metadata.PackageType;
 import org.jboss.ejb3.packagemanager.metadata.PostUnInstallType;
+import org.jboss.ejb3.packagemanager.metadata.ScriptType;
 
 /**
  * PostUnInstallImpl
@@ -43,7 +44,7 @@
    /**
     * post-install scripts
     */
-   private List<PostUnInstallScript> scripts;
+   private List<ScriptType> scripts;
 
    /**
     * Constructor
@@ -57,7 +58,7 @@
    /**
     * @see org.jboss.ejb3.packagemanager.metadata.PostUnInstallType#addScript(PostUnInstallScript)
     */
-   public void addScript(PostUnInstallScript script)
+   public void addScript(ScriptType script)
    {
       if (script == null)
       {
@@ -65,7 +66,7 @@
       }
       if (this.scripts == null)
       {
-         this.scripts = new ArrayList<PostUnInstallScript>();
+         this.scripts = new ArrayList<ScriptType>();
       }
       this.scripts.add(script);
 
@@ -82,7 +83,7 @@
    /**
     * @see org.jboss.ejb3.packagemanager.metadata.PostUnInstallType#getScripts()
     */
-   public List<PostUnInstallScript> getScripts()
+   public List<ScriptType> getScripts()
    {
       return this.scripts;
    }
@@ -90,7 +91,7 @@
    /**
     * @see org.jboss.ejb3.packagemanager.metadata.PostUnInstallType#setScripts(List)
     */
-   public void setScripts(List<PostUnInstallScript> scripts)
+   public void setScripts(List<ScriptType> scripts)
    {
       if (scripts == null)
       {

Modified: projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/metadata/impl/PreInstallImpl.java
===================================================================
--- projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/metadata/impl/PreInstallImpl.java	2009-11-12 09:15:37 UTC (rev 96303)
+++ projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/metadata/impl/PreInstallImpl.java	2009-11-12 09:39:16 UTC (rev 96304)
@@ -26,6 +26,7 @@
 
 import org.jboss.ejb3.packagemanager.metadata.PackageType;
 import org.jboss.ejb3.packagemanager.metadata.PreInstallType;
+import org.jboss.ejb3.packagemanager.metadata.ScriptType;
 
 /**
  * PreInstallMetadataImpl
@@ -44,7 +45,7 @@
    /**
     * pre-install scripts
     */
-   private List<PreInstallScript> scripts;
+   private List<ScriptType> scripts;
 
    /**
     * Constructor
@@ -58,7 +59,7 @@
    /**
     * @see org.jboss.ejb3.packagemanager.metadata.PreInstallType#addScript(PreInstallScript)
     */
-   public void addScript(PreInstallScript script)
+   public void addScript(ScriptType script)
    {
       if (script == null)
       {
@@ -66,7 +67,7 @@
       }
       if (this.scripts == null)
       {
-         this.scripts = new ArrayList<PreInstallScript>();
+         this.scripts = new ArrayList<ScriptType>();
       }
       this.scripts.add(script);
    }
@@ -82,7 +83,7 @@
    /**
     * @see org.jboss.ejb3.packagemanager.metadata.PreInstallType#getScripts()
     */
-   public List<PreInstallScript> getScripts()
+   public List<ScriptType> getScripts()
    {
       return this.scripts;
    }
@@ -90,7 +91,7 @@
    /**
     * @see org.jboss.ejb3.packagemanager.metadata.PreInstallType#setScripts(java.util.List)
     */
-   public void setScripts(List<PreInstallScript> scripts)
+   public void setScripts(List<ScriptType> scripts)
    {
       if (scripts == null)
       {

Modified: projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/metadata/impl/PreUnInstallImpl.java
===================================================================
--- projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/metadata/impl/PreUnInstallImpl.java	2009-11-12 09:15:37 UTC (rev 96303)
+++ projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/metadata/impl/PreUnInstallImpl.java	2009-11-12 09:39:16 UTC (rev 96304)
@@ -26,6 +26,7 @@
 
 import org.jboss.ejb3.packagemanager.metadata.PackageType;
 import org.jboss.ejb3.packagemanager.metadata.PreUnInstallType;
+import org.jboss.ejb3.packagemanager.metadata.ScriptType;
 
 /**
  * PreUnInstallImpl
@@ -43,7 +44,7 @@
    /**
     * pre-install scripts
     */
-   private List<PreUninstallScript> scripts;
+   private List<ScriptType> scripts;
 
    /**
     * Constructor
@@ -57,7 +58,7 @@
    /**
     * @see org.jboss.ejb3.packagemanager.metadata.PreUnInstallType#addScript(PreUninstallScript)
     */
-   public void addScript(PreUninstallScript script)
+   public void addScript(ScriptType script)
    {
       if (script == null)
       {
@@ -65,7 +66,7 @@
       }
       if (this.scripts == null)
       {
-         this.scripts = new ArrayList<PreUninstallScript>();
+         this.scripts = new ArrayList<ScriptType>();
       }
       this.scripts.add(script);
    }
@@ -81,7 +82,7 @@
    /**
     * @see org.jboss.ejb3.packagemanager.metadata.PreUnInstallType#getScripts()
     */
-   public List<PreUninstallScript> getScripts()
+   public List<ScriptType> getScripts()
    {
       return this.scripts;
    }
@@ -89,7 +90,7 @@
    /**
     * @see org.jboss.ejb3.packagemanager.metadata.PreUnInstallType#setScripts(List)
     */
-   public void setScripts(List<PreUninstallScript> scripts)
+   public void setScripts(List<ScriptType> scripts)
    {
       if (scripts == null)
       {

Modified: projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/script/ScriptProcessor.java
===================================================================
--- projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/script/ScriptProcessor.java	2009-11-12 09:15:37 UTC (rev 96303)
+++ projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/script/ScriptProcessor.java	2009-11-12 09:39:16 UTC (rev 96304)
@@ -25,7 +25,7 @@
 
 import org.jboss.ejb3.packagemanager.PackageContext;
 import org.jboss.ejb3.packagemanager.PackageManagerContext;
-import org.jboss.ejb3.packagemanager.entity.InstalledPackage;
+import org.jboss.ejb3.packagemanager.entity.PersistentPackage;
 import org.jboss.ejb3.packagemanager.exception.ScriptProcessingException;
 
 /**
@@ -41,7 +41,7 @@
    
    void processPostInstallScript(PackageManagerContext pkgManagerCtx, PackageContext pkgCtx, File script) throws ScriptProcessingException;
    
-   void processPreUnInstallScript(PackageManagerContext pkgManagerCtx, InstalledPackage installedPackage, File script) throws ScriptProcessingException;
+   void processPreUnInstallScript(PackageManagerContext pkgManagerCtx, PersistentPackage installedPackage, File script) throws ScriptProcessingException;
    
-   void processPostUnInstallScript(PackageManagerContext pkgManagerCtx, InstalledPackage installedPackage, File script) throws ScriptProcessingException;
+   void processPostUnInstallScript(PackageManagerContext pkgManagerCtx, PersistentPackage installedPackage, File script) throws ScriptProcessingException;
 }

Modified: projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/script/impl/AntScriptProcessor.java
===================================================================
--- projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/script/impl/AntScriptProcessor.java	2009-11-12 09:15:37 UTC (rev 96303)
+++ projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/script/impl/AntScriptProcessor.java	2009-11-12 09:39:16 UTC (rev 96304)
@@ -33,8 +33,8 @@
 import org.apache.tools.ant.ProjectHelper;
 import org.jboss.ejb3.packagemanager.PackageContext;
 import org.jboss.ejb3.packagemanager.PackageManagerContext;
-import org.jboss.ejb3.packagemanager.entity.InstalledPackage;
-import org.jboss.ejb3.packagemanager.entity.PackageManagerEntity;
+import org.jboss.ejb3.packagemanager.entity.PersistentPackage;
+import org.jboss.ejb3.packagemanager.entity.PersistentPackageManager;
 import org.jboss.ejb3.packagemanager.exception.ScriptProcessingException;
 import org.jboss.ejb3.packagemanager.script.ScriptProcessor;
 import org.jboss.logging.Logger;
@@ -71,10 +71,10 @@
    }
 
    /**
-    * @see org.jboss.ejb3.packagemanager.script.ScriptProcessor#processPostUnInstallScript(PackageManagerContext, InstalledPackage, File)
+    * @see org.jboss.ejb3.packagemanager.script.ScriptProcessor#processPostUnInstallScript(PackageManagerContext, PersistentPackage, File)
     */
    @Override
-   public void processPostUnInstallScript(PackageManagerContext pkgManagerCtx, InstalledPackage installedPackage, File script)
+   public void processPostUnInstallScript(PackageManagerContext pkgManagerCtx, PersistentPackage installedPackage, File script)
          throws ScriptProcessingException
    {
       // Set the properties JBOSS_HOME and PM_HOME for the 
@@ -108,10 +108,10 @@
    }
 
    /**
-    * @see org.jboss.ejb3.packagemanager.script.ScriptProcessor#processPreUnInstallScript(PackageManagerContext, InstalledPackage, File)
+    * @see org.jboss.ejb3.packagemanager.script.ScriptProcessor#processPreUnInstallScript(PackageManagerContext, PersistentPackage, File)
     */
    @Override
-   public void processPreUnInstallScript(PackageManagerContext pkgManagerCtx, InstalledPackage installedPackage, File script)
+   public void processPreUnInstallScript(PackageManagerContext pkgManagerCtx, PersistentPackage installedPackage, File script)
          throws ScriptProcessingException
    {
       // Set the properties JBOSS_HOME and PM_HOME for the 

Modified: projects/ejb3/trunk/package-manager/src/test/java/org/jboss/ejb3/packagemanager/test/install/unit/BasicInstallTestCase.java
===================================================================
--- projects/ejb3/trunk/package-manager/src/test/java/org/jboss/ejb3/packagemanager/test/install/unit/BasicInstallTestCase.java	2009-11-12 09:15:37 UTC (rev 96303)
+++ projects/ejb3/trunk/package-manager/src/test/java/org/jboss/ejb3/packagemanager/test/install/unit/BasicInstallTestCase.java	2009-11-12 09:39:16 UTC (rev 96304)
@@ -27,12 +27,8 @@
 import org.jboss.ejb3.packagemanager.PackageManager;
 import org.jboss.ejb3.packagemanager.PackageManagerEnvironment;
 import org.jboss.ejb3.packagemanager.PackageManagerFactory;
-import org.jboss.ejb3.packagemanager.impl.DefaultPackageManagerImpl;
-import org.jboss.ejb3.packagemanager.main.Main;
 import org.jboss.ejb3.packagemanager.test.common.PackageManagerTestCase;
-import org.jboss.ejb3.packagemanager.test.uninstall.unit.UnInstallTestCase;
 import org.jboss.logging.Logger;
-import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
@@ -124,6 +120,30 @@
    }
 
    /**
+    * Tests that the post-install script runs during the install process  
+    * 
+    * @throws Exception
+    */
+   @Test
+   public void testPostInstallScriptExecution() throws Exception
+   {
+      File postInstallScriptPackage = this.createPackageWithPostInstallScript("post-install-test-package.jar");
+
+      // As a sanity check, ensure that the file supposed to be created by our post-install 
+      // step is not already present
+      this.assertFileAbsenceUnderJBossHome(jbossHome, "bin/post-install.txt");
+
+      // first install
+      pkgMgr.installPackage(postInstallScriptPackage.getAbsolutePath());
+
+      // simple check to ensure installation was successful
+      this.assertFileExistenceUnderJBossHome(jbossHome, "server/default/deploy/dummy.jar");
+
+      // check that post-install script was run
+      this.assertFileExistenceUnderJBossHome(jbossHome, "bin/post-install.txt");
+   }
+
+   /**
     * Note: This test assumes the presence of a "package" at 
     * http://snapshots.jboss.org/maven2/org/jboss/ejb3/tmp/simple-package.jar
     * 

Modified: projects/ejb3/trunk/package-manager/src/test/java/org/jboss/ejb3/packagemanager/test/uninstall/unit/UnInstallTestCase.java
===================================================================
--- projects/ejb3/trunk/package-manager/src/test/java/org/jboss/ejb3/packagemanager/test/uninstall/unit/UnInstallTestCase.java	2009-11-12 09:15:37 UTC (rev 96303)
+++ projects/ejb3/trunk/package-manager/src/test/java/org/jboss/ejb3/packagemanager/test/uninstall/unit/UnInstallTestCase.java	2009-11-12 09:39:16 UTC (rev 96304)
@@ -27,13 +27,9 @@
 import org.jboss.ejb3.packagemanager.PackageManagerEnvironment;
 import org.jboss.ejb3.packagemanager.PackageManagerFactory;
 import org.jboss.ejb3.packagemanager.exception.PackageNotInstalledException;
-import org.jboss.ejb3.packagemanager.impl.DefaultPackageManagerImpl;
 import org.jboss.ejb3.packagemanager.test.common.PackageManagerTestCase;
 import org.jboss.logging.Logger;
-import org.junit.After;
-import org.junit.AfterClass;
 import org.junit.Assert;
-import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
@@ -190,5 +186,34 @@
       this.assertFileExistenceUnderJBossHome(jbossHome, "bin/post-uninstall.txt");
       
    }
+   
+   /**
+    * Tests that the pre-uninstall script runs during the uninstall process  
+    * 
+    * @throws Exception
+    */
+   @Test
+   public void testPreUnInstallScriptExecution() throws Exception
+   {
+      File preUnInstallScriptPackage = this.createPackageWithPreUnInstallScript("pre-uninstall-test-package.jar");
+      
+      // As a sanity check, ensure that the file supposed to be created by our pre-uninstall 
+      // step is not already present
+      this.assertFileAbsenceUnderJBossHome(jbossHome, "bin/pre-uninstall.txt");
+      
+      // first install
+      pkgMgr.installPackage(preUnInstallScriptPackage.getAbsolutePath());
+      
+      // simple check to ensure installation was successful
+      this.assertFileExistenceUnderJBossHome(jbossHome, "server/default/deploy/dummy.jar");
+      
+      // now uninstall
+      pkgMgr.removePackage("common-package-with-pre-uninstall");
+      // make sure uninstall was successful
+      this.assertFileAbsenceUnderJBossHome(jbossHome, "server/default/deploy/dummy.jar");
+      // check that pre-uninstall script was run
+      this.assertFileExistenceUnderJBossHome(jbossHome, "bin/pre-uninstall.txt");
+      
+   }
 
 }




More information about the jboss-cvs-commits mailing list