[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