[jboss-cvs] JBossAS SVN: r97062 - in projects/ejb3/trunk/package-manager/src: main/java/org/jboss/ejb3/packagemanager/db and 8 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Nov 27 00:13:15 EST 2009


Author: jaikiran
Date: 2009-11-27 00:13:13 -0500 (Fri, 27 Nov 2009)
New Revision: 97062

Added:
   projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/Constants.java
   projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/main/Setup.java
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/main/Main.java
   projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/proxy/PackageManagerInvocationHandler.java
   projects/ejb3/trunk/package-manager/src/main/resources/package.xsd
   projects/ejb3/trunk/package-manager/src/main/resources/setup.sh
   projects/ejb3/trunk/package-manager/src/test/java/org/jboss/ejb3/packagemanager/test/dependency/unit/DependencyInstallTestCase.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/resources/org/jboss/ejb3/packagemanager/test/common/package-with-just-install-file.xml
   projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/common/package-with-packaged-dependency.xml
   projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/common/package-with-post-install-script.xml
   projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/common/package-with-post-uninstall-script.xml
   projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/common/package-with-pre-install-script.xml
   projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/common/package-with-pre-uninstall-script.xml
   projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/dependency/unit/dependee-package1.xml
   projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/dependency/unit/dependee-package2.xml
   projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/dependency/unit/dependee-package3.xml
   projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/dependency/unit/package-with-multiple-packaged-dependencies.xml
   projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/dependency/unit/package-with-unprocessed-dependencies.xml
   projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/upgrade/unit/package-version1.xml
   projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/upgrade/unit/package-version2.xml
Log:
EJBTHREE-1942 Fixed/changed the target namespace of package.xsd schema

Added: projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/Constants.java
===================================================================
--- projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/Constants.java	                        (rev 0)
+++ projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/Constants.java	2009-11-27 05:13:13 UTC (rev 97062)
@@ -0,0 +1,37 @@
+/*
+* 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;
+
+/**
+ * Constants
+ *
+ * @author Jaikiran Pai
+ * @version $Revision: $
+ */
+public class Constants
+{
+
+   /**
+    * System property representing package manager home
+    */
+   public static final String PACKAGE_MANAGER_HOME_SYSTEM_PROPERTY = "PACKAGE_MANAGER_HOME";
+}

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-27 04:53:56 UTC (rev 97061)
+++ projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/db/DefaultDatabaseManager.java	2009-11-27 05:13:13 UTC (rev 97062)
@@ -82,10 +82,6 @@
       PackageManagerEnvironment environment = pkgMgrCtx.getPackageManagerEnvironment();
       // we use derby (filesystem) based DB
       File dbHome = environment.getDataDir();
-      if (!dbHome.exists())
-      {
-         dbHome.mkdirs();
-      }
       // set the Derby system home property to point to the package manager db
       System.setProperty("derby.system.home", dbHome.getAbsolutePath());
 

Modified: projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/main/Main.java
===================================================================
--- projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/main/Main.java	2009-11-27 04:53:56 UTC (rev 97061)
+++ projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/main/Main.java	2009-11-27 05:13:13 UTC (rev 97062)
@@ -30,6 +30,7 @@
 import java.sql.SQLException;
 import java.util.Set;
 
+import org.jboss.ejb3.packagemanager.Constants;
 import org.jboss.ejb3.packagemanager.PackageManager;
 import org.jboss.ejb3.packagemanager.PackageManagerEnvironment;
 import org.jboss.ejb3.packagemanager.PackageManagerFactory;
@@ -40,7 +41,6 @@
 /**
  * Main
  * 
- * TODO: Command line parsing is WIP.
  * 
  * @author Jaikiran Pai
  * @version $Revision: $
@@ -66,7 +66,6 @@
    public static void main(String[] args) throws PackageManagerException
    {
       CmdLineParser cmdLineParser = new CmdLineParser();
-      CmdLineParser.Option setupCmdOption = cmdLineParser.addStringOption("setup");
       CmdLineParser.Option installCmdOption = cmdLineParser.addStringOption('i', "install");
       CmdLineParser.Option upgradeCmdOption = cmdLineParser.addStringOption('u', "upgrade");
       CmdLineParser.Option removeCmdOption = cmdLineParser.addStringOption('r', "remove");
@@ -85,76 +84,44 @@
          throw new PackageManagerException(e.getMessage());
       }
       File currentDir = new File(".");
-      String packageManagerHome = (String) cmdLineParser.getOptionValue(packageManagerHomeCmdOption,currentDir.getAbsolutePath());
-      String jbossHome = (String) cmdLineParser.getOptionValue(jbossHomeCmdOption);
+      // Get the package manager home from system property. If not set, then defaults to
+      // current directory
+      String packageManagerHomeEnvVariableValue = System.getProperty(Constants.PACKAGE_MANAGER_HOME_SYSTEM_PROPERTY, currentDir.getAbsolutePath());
+      // Override the package manager home if it's explicitly passed through the -p option
+      String packageManagerHome = (String) cmdLineParser.getOptionValue(packageManagerHomeCmdOption,packageManagerHomeEnvVariableValue);
       if (packageManagerHome == null)
       {
          throw new PackageManagerException("Package manager home has not been set");
       }
-      if (jbossHome == null)
-      {
-         throw new PackageManagerException("JBoss Home has not been set");
-      }
-
+     
       File pmHome = new File(packageManagerHome);
       if (!pmHome.exists())
       {
          throw new PackageManagerException("Package manager home " + pmHome + " does not exist!");
       }
-
+      logger.info("Using Package Manager Home: " + packageManagerHome);
+      PackageManagerEnvironment env = new PackageManagerEnvironment(packageManagerHome);
+      // Check for JBOSS_HOME
+      String jbossHome = (String) cmdLineParser.getOptionValue(jbossHomeCmdOption);
+      if (packageManagerHome == null)
+      {
+         throw new PackageManagerException("Package manager home has not been set");
+      }
+      if (jbossHome == null)
+      {
+         throw new PackageManagerException("JBoss Home has not been set");
+      }
       File jbHome = new File(jbossHome);
       if (!jbHome.exists())
       {
          throw new PackageManagerException("JBoss home " + jbHome + " does not exist!");
       }
-      logger.info("Using Package Manager Home: " + packageManagerHome);
       logger.info("Using JBoss Home: " + jbossHome);
-      PackageManagerEnvironment env = new PackageManagerEnvironment(packageManagerHome);
+      
+      // Create a package manager now
       PackageManager pm = PackageManagerFactory.getDefaultPackageManager(env, jbossHome);
 
-      String schemaSetupScript = (String) cmdLineParser.getOptionValue(setupCmdOption);
-      if (schemaSetupScript != null)
-      {
-         File schemaFile = new File(schemaSetupScript);
-         if (!schemaFile.exists())
-         {
-            throw new PackageManagerException(
-                  "Could not setup the database for package manager, because of non-existent schema file "
-                        + schemaSetupScript);
-         }
-         Connection conn = null;
-         try
-         {
-            conn = DriverManager.getConnection("jdbc:derby:pmdb;create=true");
-            DBUtil.runSql(conn, schemaFile);
-            logger.info("Successfully setup the package manager database");
-         }
-         catch (SQLException sqle)
-         {
-            throw new PackageManagerException("Could not setup package manager database: ", sqle);
-         }
-         catch (IOException ioe)
-         {
-            throw new PackageManagerException("Could not setup package manager database: ", ioe);
-         }
-         finally
-         {
-            if (conn != null)
-            {
-               try
-               {
-                  conn.close();
-               }
-               catch (SQLException sqle)
-               {
-                  // can't do much
-                  logger.trace("Could not close connection:",sqle);
-               }
-            }
-         }
-
-      }
-
+      // Parse the options from the command line and do appropriate action(s) 
       Boolean query = (Boolean) cmdLineParser.getOptionValue(queryCmdOption, Boolean.FALSE);
       String packageToInstall = (String) cmdLineParser.getOptionValue(installCmdOption);
       String packageToUpgrade = (String) cmdLineParser.getOptionValue(upgradeCmdOption);

Added: projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/main/Setup.java
===================================================================
--- projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/main/Setup.java	                        (rev 0)
+++ projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/main/Setup.java	2009-11-27 05:13:13 UTC (rev 97062)
@@ -0,0 +1,154 @@
+/*
+* 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.main;
+
+import jargs.gnu.CmdLineParser;
+
+import java.io.File;
+import java.io.IOException;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.SQLException;
+
+import org.jboss.ejb3.packagemanager.Constants;
+import org.jboss.ejb3.packagemanager.PackageManagerEnvironment;
+import org.jboss.ejb3.packagemanager.exception.PackageManagerException;
+import org.jboss.ejb3.packagemanager.util.DBUtil;
+import org.jboss.logging.Logger;
+
+/**
+ * Setup
+ *
+ * @author Jaikiran Pai
+ * @version $Revision: $
+ */
+public class Setup
+{
+
+   /**
+    * Logger
+    */
+   private static Logger logger = Logger.getLogger(Setup.class);
+   
+   /**
+    * One of the entry points to the package manager.
+    * Accepts the command line arguments and carries out appropriate operations
+    * through the package-manager.
+    * 
+    *  TODO: The command line arguments, haven't yet been finalized
+    * 
+    * @param args
+    * @throws PackageManagerException 
+    */
+   public static void main(String[] args) throws PackageManagerException
+   {
+      CmdLineParser cmdLineParser = new CmdLineParser();
+      CmdLineParser.Option schemaFileCmdOption = cmdLineParser.addStringOption('f', "file");
+      
+      try
+      {
+         cmdLineParser.parse(args);
+      }
+      catch (CmdLineParser.OptionException e)
+      {
+         System.err.println("Error parsing command " + e.getMessage());
+         printUsage();
+         throw new PackageManagerException(e.getMessage());
+      }
+      File currentDir = new File(".");
+      // Get the package manager home from system property. If not set, then defaults to
+      // current directory
+      String packageManagerHome = System.getProperty(Constants.PACKAGE_MANAGER_HOME_SYSTEM_PROPERTY, currentDir.getAbsolutePath());
+      if (packageManagerHome == null)
+      {
+         throw new PackageManagerException("Package manager home has not been set");
+      }
+     
+      File pmHome = new File(packageManagerHome);
+      if (!pmHome.exists())
+      {
+         throw new PackageManagerException("Package manager home " + pmHome + " does not exist!");
+      }
+      logger.info("Using Package Manager Home: " + packageManagerHome);
+      PackageManagerEnvironment env = new PackageManagerEnvironment(packageManagerHome);
+      
+      // Run the setup script
+      String schemaSetupScript = (String) cmdLineParser.getOptionValue(schemaFileCmdOption);
+      if (schemaSetupScript != null)
+      {
+         File schemaFile = new File(schemaSetupScript);
+         if (!schemaFile.exists())
+         {
+            throw new PackageManagerException(
+                  "Could not setup the database for package manager, because of non-existent schema file "
+                        + schemaSetupScript);
+         }
+         Connection conn = null;
+         // We use Derby Embedded which is file based (so point to the DB home).
+         // TODO: This should ideally be handled by the PackageDatabaseManager,
+         // or some central place which is aware of the DB type. Let's just
+         // do this here for now.
+         File dbHome = env.getDataDir();
+         // set the Derby system home property to point to the package manager db
+         System.setProperty("derby.system.home", dbHome.getAbsolutePath());
+         logger.info("Package manager DB home set to " + System.getProperty("derby.system.home"));
+
+         try
+         {
+            conn = DriverManager.getConnection("jdbc:derby:pmdb;create=true");
+            DBUtil.runSql(conn, schemaFile);
+            logger.info("Successfully setup the package manager database");
+         }
+         catch (SQLException sqle)
+         {
+            throw new PackageManagerException("Could not setup package manager database: ", sqle);
+         }
+         catch (IOException ioe)
+         {
+            throw new PackageManagerException("Could not setup package manager database: ", ioe);
+         }
+         finally
+         {
+            if (conn != null)
+            {
+               try
+               {
+                  conn.close();
+               }
+               catch (SQLException sqle)
+               {
+                  // can't do much
+                  logger.trace("Could not close connection:",sqle);
+               }
+            }
+         }
+
+      }
+   }
+
+   
+   private static void printUsage()
+   {
+      System.out.println("Usage: setup [-f path_to_schema_file]");
+   }
+
+}

Modified: projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/proxy/PackageManagerInvocationHandler.java
===================================================================
--- projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/proxy/PackageManagerInvocationHandler.java	2009-11-27 04:53:56 UTC (rev 97061)
+++ projects/ejb3/trunk/package-manager/src/main/java/org/jboss/ejb3/packagemanager/proxy/PackageManagerInvocationHandler.java	2009-11-27 05:13:13 UTC (rev 97062)
@@ -46,10 +46,20 @@
 public class PackageManagerInvocationHandler implements InvocationHandler
 {
 
+   /**
+    * Package manager
+    */
    private PackageManager packageManager;
 
+   /**
+    * Logger
+    */
    private static Logger logger = Logger.getLogger(PackageManagerInvocationHandler.class);
 
+   /**
+    * Constructs an invocation handler for a package manager
+    * @param packageManager
+    */
    public PackageManagerInvocationHandler(PackageManager packageManager)
    {
       this.packageManager = packageManager;
@@ -88,7 +98,10 @@
       {
          // start new tx
          txManager.begin();
-         logger.debug("Started in invocation handler " + txManager.getTransaction() + " for method " + method);
+         if (logger.isTraceEnabled())
+         {
+            logger.trace("Started tx " + txManager.getTransaction() + " for method " + method);
+         }
          currentTx = txManager.getTransaction();
          registerForSynchronization(txManager.getTransaction());
          txInitiator = true;
@@ -102,12 +115,18 @@
             if (txManager.getStatus() == Status.STATUS_MARKED_ROLLBACK)
             {
                txManager.rollback();
+               if (logger.isTraceEnabled())
+               {
+                  logger.trace("Rolled back tx " + txManager.getTransaction() + " for method " + method);
+               }
             }
             else
             {
-               logger.debug("Commiting in invocation handler " + txManager.getTransaction() + " for method " + method);
                txManager.commit();
-               logger.debug("Commited in invocation handler " + txManager.getTransaction() + " for method " + method);
+               if (logger.isTraceEnabled())
+               {
+                  logger.trace("Committed tx for method " + method);
+               }
             }
 
          }
@@ -140,9 +159,17 @@
          {
             // suspend current tx
             txManager.suspend();
+            if (logger.isTraceEnabled())
+            {
+               logger.trace("Suspended tx " + txManager.getTransaction() + " for method " + method);
+            }
          }
          // start new tx and invoke the method
          txManager.begin();
+         if (logger.isTraceEnabled())
+         {
+            logger.trace("Started tx " + txManager.getTransaction() + " for method " + method);
+         }
          Transaction newTx = txManager.getTransaction();
          registerForSynchronization(newTx);
          try
@@ -152,11 +179,19 @@
             {
                // rollback
                newTx.rollback();
+               if (logger.isTraceEnabled())
+               {
+                  logger.trace("Rolled back tx " + txManager.getTransaction() + " for method " + method);
+               }
             }
             else
             {
                // method successfully completed, so commit tx
                newTx.commit();
+               if (logger.isTraceEnabled())
+               {
+                  logger.trace("Committed tx " + txManager.getTransaction() + " for method " + method);
+               }
             }
             return result;
          }

Modified: projects/ejb3/trunk/package-manager/src/main/resources/package.xsd
===================================================================
--- projects/ejb3/trunk/package-manager/src/main/resources/package.xsd	2009-11-27 04:53:56 UTC (rev 97061)
+++ projects/ejb3/trunk/package-manager/src/main/resources/package.xsd	2009-11-27 05:13:13 UTC (rev 97062)
@@ -22,10 +22,12 @@
   -->
 
 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
-        targetNamespace="http://www.jboss.org/schema"
-        xmlns:jboss="http://www.jboss.org/schema">
+        targetNamespace="org/jboss/packagemanager/package"
+        xmlns:package="org/jboss/packagemanager/package"
+        elementFormDefault="qualified"
+        attributeFormDefault="unqualified">
 
-    <xs:element name="package" type="jboss:packageType">
+    <xs:element name="package" type="package:packageType">
         <xs:annotation>
             <xs:documentation>
                 A package represents a collection of files that are to be installed into
@@ -42,13 +44,13 @@
     <xs:complexType name="packageType">
 
             <xs:sequence>
-                <xs:element name="system-requirements" minOccurs="0" maxOccurs="1" type="jboss:system-requirementsType"/>
-                <xs:element name="file" minOccurs="0" maxOccurs="unbounded" type="jboss:fileType"/>
-                <xs:element name="dependencies" minOccurs="0" maxOccurs="1" type="jboss:dependenciesType"/>
-                <xs:element name="pre-install" minOccurs="0" maxOccurs="1" type="jboss:pre-installType"/>
-                <xs:element name="post-install" minOccurs="0" maxOccurs="1" type="jboss:post-installType"/>
-                <xs:element name="pre-uninstall" minOccurs="0" maxOccurs="1" type="jboss:pre-uninstallType"/>
-                <xs:element name="post-uninstall" minOccurs="0" maxOccurs="1" type="jboss:post-uninstallType"/>
+                <xs:element name="system-requirements" minOccurs="0" maxOccurs="1" type="package:system-requirementsType"/>
+                <xs:element name="file" minOccurs="0" maxOccurs="unbounded" type="package:fileType"/>
+                <xs:element name="dependencies" minOccurs="0" maxOccurs="1" type="package:dependenciesType"/>
+                <xs:element name="pre-install" minOccurs="0" maxOccurs="1" type="package:pre-installType"/>
+                <xs:element name="post-install" minOccurs="0" maxOccurs="1" type="package:post-installType"/>
+                <xs:element name="pre-uninstall" minOccurs="0" maxOccurs="1" type="package:pre-uninstallType"/>
+                <xs:element name="post-uninstall" minOccurs="0" maxOccurs="1" type="package:post-uninstallType"/>
             </xs:sequence>
             <xs:attribute name="name" use="required" type="xs:string"/>
             <xs:attribute name="version" use="required" type="xs:string"/>
@@ -95,8 +97,8 @@
             </xs:documentation>
         </xs:annotation>
         <xs:sequence>
-            <xs:element name="packaged-dependency" minOccurs="0" maxOccurs="unbounded" type="jboss:packaged-dependencyType"/>
-            <xs:element name="unprocessed-dependencies" minOccurs="0" maxOccurs="1" type="jboss:unprocessed-dependenciesType"/>
+            <xs:element name="packaged-dependency" minOccurs="0" maxOccurs="unbounded" type="package:packaged-dependencyType"/>
+            <xs:element name="unprocessed-dependencies" minOccurs="0" maxOccurs="1" type="package:unprocessed-dependenciesType"/>
         </xs:sequence>
         
 
@@ -115,7 +117,7 @@
 
         </xs:annotation>
         <xs:sequence>
-            <xs:element name="script" minOccurs="1" maxOccurs="unbounded" type="jboss:scriptType"/>    
+            <xs:element name="script" minOccurs="1" maxOccurs="unbounded" type="package:scriptType"/>    
         </xs:sequence>
 
     </xs:complexType>
@@ -131,7 +133,7 @@
 
         </xs:annotation>
         <xs:sequence>
-            <xs:element name="script" minOccurs="1" maxOccurs="unbounded" type="jboss:scriptType"/>
+            <xs:element name="script" minOccurs="1" maxOccurs="unbounded" type="package:scriptType"/>
         </xs:sequence>
     </xs:complexType>
 
@@ -146,7 +148,7 @@
 
         </xs:annotation>
         <xs:sequence>
-            <xs:element name="script" minOccurs="1" maxOccurs="unbounded" type="jboss:scriptType"/>
+            <xs:element name="script" minOccurs="1" maxOccurs="unbounded" type="package:scriptType"/>
         </xs:sequence>
 
     </xs:complexType>
@@ -162,7 +164,7 @@
 
         </xs:annotation>
         <xs:sequence>
-            <xs:element name="script" minOccurs="1" maxOccurs="unbounded" type="jboss:scriptType"/>
+            <xs:element name="script" minOccurs="1" maxOccurs="unbounded" type="package:scriptType"/>
         </xs:sequence>
     </xs:complexType>
 

Modified: projects/ejb3/trunk/package-manager/src/main/resources/setup.sh
===================================================================
--- projects/ejb3/trunk/package-manager/src/main/resources/setup.sh	2009-11-27 04:53:56 UTC (rev 97061)
+++ projects/ejb3/trunk/package-manager/src/main/resources/setup.sh	2009-11-27 05:13:13 UTC (rev 97062)
@@ -64,7 +64,7 @@
 PACKAGE_MANAGER_CLASSPATH="$PACKAGE_MANAGER_HOME/lib/*"
 
 # Setup JBoss Package Manager specific properties
-JAVA_OPTS="-Dprogram.name=$PROGNAME $JAVA_OPTS"
+JAVA_OPTS="-Dprogram.name=$PROGNAME -DPACKAGE_MANAGER_HOME=$PACKAGE_MANAGER_HOME $JAVA_OPTS"
 
 # Sample JPDA settings for remote socket debugging
 #JAVA_OPTS="$JAVA_OPTS -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y"
@@ -88,7 +88,7 @@
 
 "$JAVA" $JAVA_OPTS \
          -classpath "$PACKAGE_MANAGER_CLASSPATH" \
-         org.jboss.ejb3.packagemanager.main.Main --setup "$PACKAGE_MANAGER_HOME/script/schema.sql" \
+         org.jboss.ejb3.packagemanager.main.Setup -f "$PACKAGE_MANAGER_HOME/script/schema.sql" \
          "$@"
       PACKAGE_MANAGER_STATUS=$?
 

Modified: projects/ejb3/trunk/package-manager/src/test/java/org/jboss/ejb3/packagemanager/test/dependency/unit/DependencyInstallTestCase.java
===================================================================
--- projects/ejb3/trunk/package-manager/src/test/java/org/jboss/ejb3/packagemanager/test/dependency/unit/DependencyInstallTestCase.java	2009-11-27 04:53:56 UTC (rev 97061)
+++ projects/ejb3/trunk/package-manager/src/test/java/org/jboss/ejb3/packagemanager/test/dependency/unit/DependencyInstallTestCase.java	2009-11-27 05:13:13 UTC (rev 97062)
@@ -110,7 +110,7 @@
    public void testPackageWithMultiplePackagedDependencies() throws Exception
    {
       File packageToInstall = this
-            .createPackageWithMultiplePackagedDependencies("package-with-multiple-packaged-dependencies.jar");
+            .createPackageWithMultiplePackagedDependencies("package-with-multiple-packaged-dependencies");
 
       this.pkgMgr.installPackage(packageToInstall.toURI().toURL());
 
@@ -147,6 +147,7 @@
 
       URL packageXmlURL = this.getResource(this.getClass(), "package-with-unprocessed-dependencies.xml");
       File file = new File(packageXmlURL.getFile());
+      file = this.processPackageXml(file, "package-with-unprocessed-dependencies", DEFAULT_PACKAGE_VERSION);
       archive.addResource("package.xml", file);
 
       // now write out the package to disk
@@ -168,9 +169,11 @@
     * @return
     * @throws IOException
     */
-   protected File createPackageWithMultiplePackagedDependencies(String packageFileName) throws IOException
+   protected File createPackageWithMultiplePackagedDependencies(String packageName) throws IOException
    {
 
+      String packageFileName = packageName + JAR_SUFFIX;
+      
       File dummyJar = this.createDummyJar();
       // create dependee package#1
       File dependeePackageOne = new File(perTestTargetDir, "dependee-package-one.jar");
@@ -178,6 +181,7 @@
       archiveOne.addResource("dummy1.jar", dummyJar);
       URL packageXmlURL = this.getResource(this.getClass(), "dependee-package1.xml");
       File file = new File(packageXmlURL.getFile());
+      file = this.processPackageXml(file, "dependee-package1" , DEFAULT_PACKAGE_VERSION);
       archiveOne.addResource("package.xml", file);
       // pre-install script
       URL preInstallScriptXml = this.getResource(this.getClass(), "pre-install-build.xml");
@@ -194,6 +198,7 @@
       archiveTwo.addResource("dummy2.jar", dummyJar);
       URL packageXmlTwo = this.getResource(this.getClass(), "dependee-package2.xml");
       File packageXmlTwoFile = new File(packageXmlTwo.getFile());
+      packageXmlTwoFile = this.processPackageXml(packageXmlTwoFile, "dependee-package2" , DEFAULT_PACKAGE_VERSION);
       archiveTwo.addResource("package.xml", packageXmlTwoFile);
       // post-install script
       URL postInstallXml = this.getResource(this.getClass(), "post-install-build.xml");
@@ -210,6 +215,7 @@
       archiveThree.addResource("dummy3.jar", dummyJar);
       URL packageXmlThree = this.getResource(this.getClass(), "dependee-package3.xml");
       File packageXmlThreeFile = new File(packageXmlThree.getFile());
+      packageXmlThreeFile = this.processPackageXml(packageXmlThreeFile, "dependee-package3" , DEFAULT_PACKAGE_VERSION);
       archiveThree.addResource("package.xml", packageXmlThreeFile);
       // pre-install and post-install script
       URL scriptXml = this.getResource(this.getClass(), "build.xml");
@@ -226,6 +232,7 @@
       aggregatedArchive.addResource("dummy-main.jar", dummyJar);
       URL aggPackageXml = this.getResource(this.getClass(), "package-with-multiple-packaged-dependencies.xml");
       File aggPackageXmlFile = new File(aggPackageXml.getFile());
+      aggPackageXmlFile = this.processPackageXml(aggPackageXmlFile, packageName , DEFAULT_PACKAGE_VERSION);
       aggregatedArchive.addResource("package.xml", aggPackageXmlFile);
       URL someDeployerConfigXml = this.getResource(this.getClass(), "some-deployer-jboss-beans.xml");
       File deployerConfigFile = new File(someDeployerConfigXml.getFile());

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-27 04:53:56 UTC (rev 97061)
+++ projects/ejb3/trunk/package-manager/src/test/java/org/jboss/ejb3/packagemanager/test/install/unit/BasicInstallTestCase.java	2009-11-27 05:13:13 UTC (rev 97062)
@@ -145,7 +145,7 @@
 
    /**
     * Note: This test assumes the presence of a "package" at 
-    * http://snapshots.jboss.org/maven2/org/jboss/ejb3/tmp/simple-package.jar
+    * http://snapshots.jboss.org/maven2/org/jboss/ejb3/tmp/simple-package/1.0.0.Alpha1/simple-package-1.0.0.Alpha1.jar
     * 
     * TODO: Once we have packages uploaded to Maven repo, we can point to a different
     * URL from this tmp one.
@@ -162,7 +162,7 @@
    public void testHttpPackageInstall() throws Exception
    {
       // TODO: See javadocs of this test. This URL will change in near future
-      String httpPackageURL = "http://snapshots.jboss.org/maven2/org/jboss/ejb3/tmp/simple-package.jar";
+      String httpPackageURL = "http://snapshots.jboss.org/maven2/org/jboss/ejb3/tmp/simple-package/1.0.0.Alpha1/simple-package-1.0.0.Alpha1.jar";
       // install the package
       this.pkgMgr.installPackage(httpPackageURL);
 

Modified: projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/common/package-with-just-install-file.xml
===================================================================
--- projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/common/package-with-just-install-file.xml	2009-11-27 04:53:56 UTC (rev 97061)
+++ projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/common/package-with-just-install-file.xml	2009-11-27 05:13:13 UTC (rev 97062)
@@ -1,8 +1,7 @@
-<sh:package name="${package.name}" version="${package.version}"
-xmlns:sh="http://www.jboss.org/schema">
+<package name="${package.name}" version="${package.version}" xmlns="org/jboss/packagemanager/package">
 
     <!--  Package to install a dummy jar into JBOSS_AS/common/lib -->  
   <file name="dummy.jar" dest-path="common/lib" type="library"/>
   
   
-</sh:package>
\ No newline at end of file
+</package>
\ No newline at end of file

Modified: projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/common/package-with-packaged-dependency.xml
===================================================================
--- projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/common/package-with-packaged-dependency.xml	2009-11-27 04:53:56 UTC (rev 97061)
+++ projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/common/package-with-packaged-dependency.xml	2009-11-27 05:13:13 UTC (rev 97062)
@@ -1,5 +1,4 @@
-<sh:package name="${package.name}" version="${package.version}"
-xmlns:sh="http://www.jboss.org/schema">
+<package name="${package.name}" version="${package.version}" xmlns="org/jboss/packagemanager/package">
 
     <!--  Package to install a dummy jar into JBOSS_AS/server/default/lib -->  
   <file name="dummy.jar" dest-path="server/default/lib" type="library"/>
@@ -8,4 +7,4 @@
     <packaged-dependency file="dependee-package.jar"/>
   </dependencies>
   
-</sh:package>
\ No newline at end of file
+</package>
\ No newline at end of file

Modified: projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/common/package-with-post-install-script.xml
===================================================================
--- projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/common/package-with-post-install-script.xml	2009-11-27 04:53:56 UTC (rev 97061)
+++ projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/common/package-with-post-install-script.xml	2009-11-27 05:13:13 UTC (rev 97062)
@@ -1,5 +1,4 @@
-<sh:package name="${package.name}" version="${package.version}"
-xmlns:sh="http://www.jboss.org/schema">
+<package name="${package.name}" version="${package.version}" xmlns="org/jboss/packagemanager/package">
 
     <!--  Package to install a dummy jar into JBOSS_AS/server/default/deploy -->  
   <file name="dummy.jar" dest-path="server/default/deploy" type="library"/>
@@ -8,4 +7,4 @@
     <script name="build.xml"/>
   </post-install>
   
-</sh:package>
\ No newline at end of file
+</package>
\ No newline at end of file

Modified: projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/common/package-with-post-uninstall-script.xml
===================================================================
--- projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/common/package-with-post-uninstall-script.xml	2009-11-27 04:53:56 UTC (rev 97061)
+++ projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/common/package-with-post-uninstall-script.xml	2009-11-27 05:13:13 UTC (rev 97062)
@@ -1,5 +1,4 @@
-<sh:package name="${package.name}" version="${package.version}"
-xmlns:sh="http://www.jboss.org/schema">
+<package name="${package.name}" version="${package.version}" xmlns="org/jboss/packagemanager/package">
 
     <!--  Package to install a dummy jar into JBOSS_AS/server/default/deploy -->  
   <file name="dummy.jar" dest-path="server/default/deploy" type="library"/>
@@ -8,4 +7,4 @@
     <script name="build.xml"/>
   </post-uninstall>
   
-</sh:package>
\ No newline at end of file
+</package>
\ No newline at end of file

Modified: projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/common/package-with-pre-install-script.xml
===================================================================
--- projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/common/package-with-pre-install-script.xml	2009-11-27 04:53:56 UTC (rev 97061)
+++ projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/common/package-with-pre-install-script.xml	2009-11-27 05:13:13 UTC (rev 97062)
@@ -1,6 +1,4 @@
-<sh:package name="${package.name}" version="${package.version}"
-xmlns:sh="http://www.jboss.org/schema">
-
+<package name="${package.name}" version="${package.version}" xmlns="org/jboss/packagemanager/package">
     <!--  Package to install a dummy jar into JBOSS_AS/server/default/deploy -->  
   <file name="dummy.jar" dest-path="server/default/deploy" type="library"/>
   
@@ -8,4 +6,4 @@
     <script name="build.xml"/>
   </pre-install>
   
-</sh:package>
\ No newline at end of file
+</package>
\ No newline at end of file

Modified: projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/common/package-with-pre-uninstall-script.xml
===================================================================
--- projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/common/package-with-pre-uninstall-script.xml	2009-11-27 04:53:56 UTC (rev 97061)
+++ projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/common/package-with-pre-uninstall-script.xml	2009-11-27 05:13:13 UTC (rev 97062)
@@ -1,6 +1,4 @@
-<sh:package name="${package.name}" version="${package.version}"
-xmlns:sh="http://www.jboss.org/schema">
-
+<package name="${package.name}" version="${package.version}" xmlns="org/jboss/packagemanager/package">
     <!--  Package to install a dummy jar into JBOSS_AS/server/default/deploy -->  
   <file name="dummy.jar" dest-path="server/default/deploy" type="library"/>
   
@@ -8,4 +6,4 @@
     <script name="build.xml"/>
   </pre-uninstall>
   
-</sh:package>
\ No newline at end of file
+</package>
\ No newline at end of file

Modified: projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/dependency/unit/dependee-package1.xml
===================================================================
--- projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/dependency/unit/dependee-package1.xml	2009-11-27 04:53:56 UTC (rev 97061)
+++ projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/dependency/unit/dependee-package1.xml	2009-11-27 05:13:13 UTC (rev 97062)
@@ -1,6 +1,4 @@
-<sh:package name="DependencyInstallTestCase-dependeee-package1" version="1.0.0"
-xmlns:sh="http://www.jboss.org/schema">
-
+<package name="${package.name}" version="${package.version}" xmlns="org/jboss/packagemanager/package">
       
   <file name="dummy1.jar" dest-path="server/default/deployers" type="library"/>
   
@@ -8,4 +6,4 @@
     <script path="scripts" name="pre-install-build.xml"/>
   </pre-install>
   
-</sh:package>
\ No newline at end of file
+</package>
\ No newline at end of file

Modified: projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/dependency/unit/dependee-package2.xml
===================================================================
--- projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/dependency/unit/dependee-package2.xml	2009-11-27 04:53:56 UTC (rev 97061)
+++ projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/dependency/unit/dependee-package2.xml	2009-11-27 05:13:13 UTC (rev 97062)
@@ -1,11 +1,9 @@
-<sh:package name="DependencyInstallTestCase-dependeee-package2" version="1.0.1"
-xmlns:sh="http://www.jboss.org/schema">
+<package name="${package.name}" version="${package.version}" xmlns="org/jboss/packagemanager/package">
 
-      
   <file name="dummy2.jar" dest-path="server/default/deployers" type="library"/>
   
   <post-install>
     <script path="scripts" name="post-install-build.xml"/>
   </post-install>
   
-</sh:package>
\ No newline at end of file
+</package>
\ No newline at end of file

Modified: projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/dependency/unit/dependee-package3.xml
===================================================================
--- projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/dependency/unit/dependee-package3.xml	2009-11-27 04:53:56 UTC (rev 97061)
+++ projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/dependency/unit/dependee-package3.xml	2009-11-27 05:13:13 UTC (rev 97062)
@@ -1,6 +1,4 @@
-<sh:package name="DependencyInstallTestCase-dependeee-package3" version="0.0.1"
-xmlns:sh="http://www.jboss.org/schema">
-
+<package name="${package.name}" version="${package.version}" xmlns="org/jboss/packagemanager/package">
       
   <file name="dummy3.jar" dest-path="server/default/deployers" type="library"/>
   
@@ -12,4 +10,4 @@
     <script name="build.xml"/>
   </post-install>
   
-</sh:package>
\ No newline at end of file
+</package>
\ No newline at end of file

Modified: projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/dependency/unit/package-with-multiple-packaged-dependencies.xml
===================================================================
--- projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/dependency/unit/package-with-multiple-packaged-dependencies.xml	2009-11-27 04:53:56 UTC (rev 97061)
+++ projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/dependency/unit/package-with-multiple-packaged-dependencies.xml	2009-11-27 05:13:13 UTC (rev 97062)
@@ -1,6 +1,4 @@
-<sh:package name="DependencyInstallTestCase-package-with-multiple-packaged-deps" version="1.0.0-Alpha1"
-xmlns:sh="http://www.jboss.org/schema">
-
+<package name="${package.name}" version="${package.version}" xmlns="org/jboss/packagemanager/package">
       
   <file name="dummy-main.jar" dest-path="server/default/deployers" type="library"/>
   <file name="some-deployer-jboss-beans.xml" src-path="some-config-folder" dest-path="server/default/deployers" type="config"/>
@@ -11,4 +9,4 @@
     <packaged-dependency file="/subfolder/deep-nested-folder/dependee-package3.jar"/>
   </dependencies>
   
-</sh:package>
\ No newline at end of file
+</package>
\ No newline at end of file

Modified: projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/dependency/unit/package-with-unprocessed-dependencies.xml
===================================================================
--- projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/dependency/unit/package-with-unprocessed-dependencies.xml	2009-11-27 04:53:56 UTC (rev 97061)
+++ projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/dependency/unit/package-with-unprocessed-dependencies.xml	2009-11-27 05:13:13 UTC (rev 97062)
@@ -1,6 +1,4 @@
-<sh:package name="DependencyInstallTestCase-package-with-unprocessed-deps" version="1.0.0"
-xmlns:sh="http://www.jboss.org/schema">
-
+<package name="${package.name}" version="${package.version}" xmlns="org/jboss/packagemanager/package">
       
   <file name="dummy.jar" dest-path="server/default/deployers" type="library"/>
   <file name="some-deployer-jboss-beans.xml" dest-path="server/default/deployers" type="config"/>
@@ -9,4 +7,4 @@
     <unprocessed-dependencies file="ivy.xml"/>
   </dependencies>
   
-</sh:package>
\ No newline at end of file
+</package>
\ No newline at end of file

Modified: projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/upgrade/unit/package-version1.xml
===================================================================
--- projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/upgrade/unit/package-version1.xml	2009-11-27 04:53:56 UTC (rev 97061)
+++ projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/upgrade/unit/package-version1.xml	2009-11-27 05:13:13 UTC (rev 97062)
@@ -1,5 +1,4 @@
-<sh:package name="${package.name}" version="${package.version}"
-xmlns:sh="http://www.jboss.org/schema">
+<package name="${package.name}" version="${package.version}" xmlns="org/jboss/packagemanager/package">
 
     <!--  Package to install a dummy jar into JBOSS_AS/server/default/deploy -->  
   <file name="dummy-version1.jar" dest-path="server/default/deploy" type="library"/>
@@ -13,4 +12,4 @@
     <script name="build-version1.xml"/>
   </post-uninstall>
   
-</sh:package>
\ No newline at end of file
+</package>
\ No newline at end of file

Modified: projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/upgrade/unit/package-version2.xml
===================================================================
--- projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/upgrade/unit/package-version2.xml	2009-11-27 04:53:56 UTC (rev 97061)
+++ projects/ejb3/trunk/package-manager/src/test/resources/org/jboss/ejb3/packagemanager/test/upgrade/unit/package-version2.xml	2009-11-27 05:13:13 UTC (rev 97062)
@@ -1,6 +1,4 @@
-<sh:package name="${package.name}" version="${package.version}"
-xmlns:sh="http://www.jboss.org/schema">
-
+<package name="${package.name}" version="${package.version}" xmlns="org/jboss/packagemanager/package">
     <!--  Package to install a dummy jar into JBOSS_AS/server/default/deploy -->  
   <file name="dummy-version2.jar" dest-path="server/default/deploy" type="library"/>
   <file name="common-util.jar" dest-path="common/lib" type="library"/>
@@ -13,4 +11,4 @@
     <script name="build-version2.xml"/>
   </post-uninstall>
   
-</sh:package>
\ No newline at end of file
+</package>
\ No newline at end of file




More information about the jboss-cvs-commits mailing list