You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2009/10/10 11:48:00 UTC

svn commit: r823835 - in /openejb/branches/openejb-3.1.2: ./ assembly/openejb-tomcat/openejb-tomcat-webapp/src/main/resources/META-INF/org.apache.openejb.tomcat/ container/openejb-core/src/main/java/org/apache/openejb/config/ container/openejb-core/src...

Author: dblevins
Date: Sat Oct 10 09:47:59 2009
New Revision: 823835

URL: http://svn.apache.org/viewvc?rev=823835&view=rev
Log:
Merged changes from trunk

Added:
    openejb/branches/openejb-3.1.2/container/openejb-core/src/main/java/org/apache/openejb/config/Cipher.java
      - copied unchanged from r823819, openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/Cipher.java
    openejb/branches/openejb-3.1.2/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/PasswordCipher.java
      - copied unchanged from r823819, openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/PasswordCipher.java
    openejb/branches/openejb-3.1.2/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/PlainTextPasswordCipher.java
      - copied unchanged from r823819, openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/PlainTextPasswordCipher.java
    openejb/branches/openejb-3.1.2/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/StaticDESPasswordCipher.java
      - copied unchanged from r823819, openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/StaticDESPasswordCipher.java
    openejb/branches/openejb-3.1.2/container/openejb-core/src/main/resources/META-INF/org.apache.openejb.cli/cipher
      - copied unchanged from r823819, openejb/trunk/openejb3/container/openejb-core/src/main/resources/META-INF/org.apache.openejb.cli/cipher
    openejb/branches/openejb-3.1.2/container/openejb-core/src/main/resources/META-INF/org.apache.openejb.resource.jdbc.PasswordCipher/
      - copied from r823819, openejb/trunk/openejb3/container/openejb-core/src/main/resources/META-INF/org.apache.openejb.resource.jdbc.PasswordCipher/
    openejb/branches/openejb-3.1.2/container/openejb-core/src/main/resources/META-INF/org.apache.openejb.resource.jdbc.PasswordCipher/PlainText
      - copied unchanged from r823819, openejb/trunk/openejb3/container/openejb-core/src/main/resources/META-INF/org.apache.openejb.resource.jdbc.PasswordCipher/PlainText
    openejb/branches/openejb-3.1.2/container/openejb-core/src/main/resources/META-INF/org.apache.openejb.resource.jdbc.PasswordCipher/Static3DES
      - copied unchanged from r823819, openejb/trunk/openejb3/container/openejb-core/src/main/resources/META-INF/org.apache.openejb.resource.jdbc.PasswordCipher/Static3DES
Removed:
    openejb/branches/openejb-3.1.2/container/openejb-core/src/main/java/org/apache/openejb/config/Codec.java
    openejb/branches/openejb-3.1.2/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/PasswordCodec.java
    openejb/branches/openejb-3.1.2/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/PlainTextPasswordCodec.java
    openejb/branches/openejb-3.1.2/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/StaticDESPasswordCodec.java
    openejb/branches/openejb-3.1.2/container/openejb-core/src/main/resources/META-INF/org.apache.openejb.cli/codec
    openejb/branches/openejb-3.1.2/container/openejb-core/src/main/resources/META-INF/org.apache.openejb.resource.jdbc.PasswordCodec/
Modified:
    openejb/branches/openejb-3.1.2/   (props changed)
    openejb/branches/openejb-3.1.2/assembly/openejb-tomcat/openejb-tomcat-webapp/src/main/resources/META-INF/org.apache.openejb.tomcat/service-jar.xml
    openejb/branches/openejb-3.1.2/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
    openejb/branches/openejb-3.1.2/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/BasicDataSource.java
    openejb/branches/openejb-3.1.2/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/BasicDataSourceUtil.java
    openejb/branches/openejb-3.1.2/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/BasicManagedDataSource.java
    openejb/branches/openejb-3.1.2/container/openejb-core/src/main/resources/META-INF/org.apache.openejb.embedded/service-jar.xml
    openejb/branches/openejb-3.1.2/container/openejb-core/src/main/resources/META-INF/org.apache.openejb/service-jar.xml
    openejb/branches/openejb-3.1.2/container/openejb-core/src/main/resources/org/apache/openejb/config/Messages.properties
    openejb/branches/openejb-3.1.2/container/openejb-core/src/test/java/org/apache/openejb/config/BusinessInterfacesTest.java   (props changed)
    openejb/branches/openejb-3.1.2/examples/alternate-descriptors/src/main/resources/META-INF/test.ejb-jar.xml   (props changed)

Propchange: openejb/branches/openejb-3.1.2/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Oct 10 09:47:59 2009
@@ -1,2 +1,2 @@
 /openejb/branches/openejb-3.1.1:779593
-/openejb/trunk/openejb3:823293,823642,823667,823678,823709
+/openejb/trunk/openejb3:823293,823642,823667,823678,823709,823768-823819

Modified: openejb/branches/openejb-3.1.2/assembly/openejb-tomcat/openejb-tomcat-webapp/src/main/resources/META-INF/org.apache.openejb.tomcat/service-jar.xml
URL: http://svn.apache.org/viewvc/openejb/branches/openejb-3.1.2/assembly/openejb-tomcat/openejb-tomcat-webapp/src/main/resources/META-INF/org.apache.openejb.tomcat/service-jar.xml?rev=823835&r1=823834&r2=823835&view=diff
==============================================================================
--- openejb/branches/openejb-3.1.2/assembly/openejb-tomcat/openejb-tomcat-webapp/src/main/resources/META-INF/org.apache.openejb.tomcat/service-jar.xml (original)
+++ openejb/branches/openejb-3.1.2/assembly/openejb-tomcat/openejb-tomcat-webapp/src/main/resources/META-INF/org.apache.openejb.tomcat/service-jar.xml Sat Oct 10 09:47:59 2009
@@ -324,6 +324,8 @@
 
     Password
 
+    PasswordCipher  PlainText
+
     # The connection properties that will be sent to the JDBC
     # driver when establishing new connections
     #
@@ -512,6 +514,8 @@
     #Password pass
     Password
 
+    PasswordCipher  PlainText
+
     # The connection properties that will be sent to the JDBC
     # driver when establishing new connections
     #

Modified: openejb/branches/openejb-3.1.2/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
URL: http://svn.apache.org/viewvc/openejb/branches/openejb-3.1.2/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java?rev=823835&r1=823834&r2=823835&view=diff
==============================================================================
--- openejb/branches/openejb-3.1.2/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java (original)
+++ openejb/branches/openejb-3.1.2/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java Sat Oct 10 09:47:59 2009
@@ -162,6 +162,7 @@
 import java.util.TreeSet;
 import java.util.Collection;
 import java.util.LinkedHashSet;
+import java.util.Iterator;
 
 /**
  * @version $Rev$ $Date$
@@ -353,36 +354,45 @@
 
             ClassFinder finder;
             try {
+                File file = new File(webModule.getJarLocation());
+                URL[] urls = DeploymentLoader.getWebappUrls(file);
                 final ClassLoader webClassLoader = webModule.getClassLoader();
-                ClassLoader parent = webClassLoader.getParent();
+                finder = new ClassFinder(webClassLoader, asList(urls));
 
-                if (webClassLoader instanceof TempClassLoader) parent = parent.getParent();
-
-                UrlSet urlSet = new UrlSet(webClassLoader);
-                urlSet = urlSet.exclude(parent);
-                
-                finder = new ClassFinder(webClassLoader, urlSet.getUrls());
+                ClassFinder finder2 = new ClassFinder(webClassLoader);
                 webModule.setFinder(finder);
             } catch (Exception e) {
                 startupLogger.warning("Unable to scrape for @WebService or @WebServiceProvider annotations. ClassFinder failed.", e);
                 return webModule;
             }
 
-            // TODO: Possible this class is also annotated @Stateless or @Singleton, in which case we maybe should skip it
+            if (webApp == null) {
+                webApp = new WebApp();
+                webModule.setWebApp(webApp);
+            }
+
+            List<String> existingServlets = new ArrayList<String>();
+            for (Servlet servlet : webApp.getServlet()) {
+                existingServlets.add(servlet.getServletClass());
+            }
+            
             List<Class> classes = new ArrayList<Class>();
             classes.addAll(finder.findAnnotatedClasses(WebService.class));
             classes.addAll(finder.findAnnotatedClasses(WebServiceProvider.class));
+
             for (Class<?> webServiceClass : classes) {
+                // If this class is also annotated @Stateless or @Singleton, we should skip it
+                if (webServiceClass.isAnnotationPresent(Singleton.class)) continue;
+                if (webServiceClass.isAnnotationPresent(Stateless.class)) continue;
+
                 int modifiers = webServiceClass.getModifiers();
                 if (!Modifier.isPublic(modifiers) || Modifier.isFinal(modifiers) || isAbstract(modifiers)) {
                     continue;
                 }
 
+                if (existingServlets.contains(webServiceClass.getName())) continue;
+
                 // create webApp and webservices objects if they don't exist already
-                if (webApp == null) {
-                    webApp = new WebApp();
-                    webModule.setWebApp(webApp);
-                }
 
                 // add new <servlet/> element
                 Servlet servlet = new Servlet();

Modified: openejb/branches/openejb-3.1.2/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/BasicDataSource.java
URL: http://svn.apache.org/viewvc/openejb/branches/openejb-3.1.2/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/BasicDataSource.java?rev=823835&r1=823834&r2=823835&view=diff
==============================================================================
--- openejb/branches/openejb-3.1.2/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/BasicDataSource.java (original)
+++ openejb/branches/openejb-3.1.2/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/BasicDataSource.java Sat Oct 10 09:47:59 2009
@@ -23,7 +23,6 @@
 
 import javax.sql.DataSource;
 
-import org.apache.commons.dbcp.SQLNestedException;
 import org.apache.openejb.loader.SystemInstance;
 
 public class BasicDataSource extends org.apache.commons.dbcp.BasicDataSource {
@@ -33,9 +32,9 @@
      * ciphered value.
      * 
      * <em>The default is no codec.</em>. In other words, it means password is
-     * not ciphered. The {@link PlainTextPasswordCodec} can also be used.
+     * not ciphered. The {@link PlainTextPasswordCipher} can also be used.
      */
-    private String passwordCodecClass = null;
+    private String passwordCipher = null;
 
     /**
      * Returns the password codec class name to use to retrieve plain text
@@ -43,20 +42,20 @@
      * 
      * @return the password codec class
      */
-    public synchronized String getPasswordCodecClass() {
-        return this.passwordCodecClass;
+    public synchronized String getPasswordCipher() {
+        return this.passwordCipher;
     }
 
     /**
      * <p>
-     * Sets the {@link #passwordCodecClass}.
+     * Sets the {@link #passwordCipher}.
      * </p>
      * 
-     * @param passwordCodecClass
+     * @param passwordCipher
      *            password codec value
      */
-    public synchronized void setPasswordCodecClass(String passwordCodecClass) {
-        this.passwordCodecClass = passwordCodecClass;
+    public synchronized void setPasswordCipher(String passwordCipher) {
+        this.passwordCipher = passwordCipher;
     }
     
 
@@ -96,9 +95,9 @@
         }
         
         // check password codec if available
-        if (null != passwordCodecClass) {
-            PasswordCodec codec = BasicDataSourceUtil.getPasswordCodec(passwordCodecClass);
-            String plainPwd = codec.decode(password.toCharArray());
+        if (null != passwordCipher) {
+            PasswordCipher cipher = BasicDataSourceUtil.getPasswordCipher(passwordCipher);
+            String plainPwd = cipher.decrypt(password.toCharArray());
 
             // override previous password value
             super.setPassword(plainPwd);
@@ -130,5 +129,5 @@
             }
         }
     }
-    
+
 }

Modified: openejb/branches/openejb-3.1.2/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/BasicDataSourceUtil.java
URL: http://svn.apache.org/viewvc/openejb/branches/openejb-3.1.2/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/BasicDataSourceUtil.java?rev=823835&r1=823834&r2=823835&view=diff
==============================================================================
--- openejb/branches/openejb-3.1.2/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/BasicDataSourceUtil.java (original)
+++ openejb/branches/openejb-3.1.2/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/BasicDataSourceUtil.java Sat Oct 10 09:47:59 2009
@@ -84,59 +84,59 @@
     }
     
     /**
-     * Create a {@link PasswordCodec} instance from the
-     * {@link #passwordCodecClass}.
+     * Create a {@link PasswordCipher} instance from the
+     * {@link #passwordCipherClass}.
      * 
-     * @param passwordCodecClass the password codec to look for
-     * @return the password codec from the {@link #passwordCodecClass}
+     * @param passwordCipherClass the password cipher to look for
+     * @return the password cipher from the {@link #passwordCipherClass}
      *         optionally set.
      * @throws SQLException
      *             if the driver can not be found.
      */
-    public static PasswordCodec getPasswordCodec(String passwordCodecClass) throws SQLException {
-        // Load the password codec class
-        Class pwdCodec = null;
+    public static PasswordCipher getPasswordCipher(String passwordCipherClass) throws SQLException {
+        // Load the password cipher class
+        Class pwdCipher = null;
 
-        // try looking for implementation in /META-INF/org.apache.openejb.resource.jdbc.PasswordCodec
+        // try looking for implementation in /META-INF/org.apache.openejb.resource.jdbc.PasswordCipher
         ResourceFinder finder = new ResourceFinder("META-INF/");
         Map<String, Class> impls;
         try {
-            impls = finder.mapAllImplementations(PasswordCodec.class);
+            impls = finder.mapAllImplementations(PasswordCipher.class);
             
         } catch (Throwable t) {
             String message = 
-                "Password codec '" + passwordCodecClass + 
-                "' not found in META-INF/org.apache.openejb.resource.jdbc.PasswordCodec.";
+                "Password cipher '" + passwordCipherClass +
+                "' not found in META-INF/org.apache.openejb.resource.jdbc.PasswordCipher.";
             throw new SQLNestedException(message, t);
         }
-        pwdCodec = impls.get(passwordCodecClass);
+        pwdCipher = impls.get(passwordCipherClass);
 
-        // if not found in META-INF/org.apache.openejb.resource.jdbc.PasswordCodec
+        // if not found in META-INF/org.apache.openejb.resource.jdbc.PasswordCipher
         // we can try to load the class.
-        if (null == pwdCodec) {
+        if (null == pwdCipher) {
             try {
                 try {
-                    pwdCodec = Class.forName(passwordCodecClass);
+                    pwdCipher = Class.forName(passwordCipherClass);
                     
                 } catch (ClassNotFoundException cnfe) {
-                    pwdCodec = Thread.currentThread().getContextClassLoader().loadClass(passwordCodecClass);
+                    pwdCipher = Thread.currentThread().getContextClassLoader().loadClass(passwordCipherClass);
                 }
             } catch (Throwable t) {
-                String message = "Cannot load password codec class '" + passwordCodecClass + "'";
+                String message = "Cannot load password cipher class '" + passwordCipherClass + "'";
                 throw new SQLNestedException(message, t);
             }
         }
 
         // Create an instance
-        PasswordCodec codec = null;
+        PasswordCipher cipher = null;
         try {
-            codec = (PasswordCodec) pwdCodec.newInstance();
+            cipher = (PasswordCipher) pwdCipher.newInstance();
 
         } catch (Throwable t) {
-            String message = "Cannot create password codec instance";
+            String message = "Cannot create password cipher instance";
             throw new SQLNestedException(message, t);
         }
 
-        return codec;
+        return cipher;
     }
 }

Modified: openejb/branches/openejb-3.1.2/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/BasicManagedDataSource.java
URL: http://svn.apache.org/viewvc/openejb/branches/openejb-3.1.2/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/BasicManagedDataSource.java?rev=823835&r1=823834&r2=823835&view=diff
==============================================================================
--- openejb/branches/openejb-3.1.2/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/BasicManagedDataSource.java (original)
+++ openejb/branches/openejb-3.1.2/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/BasicManagedDataSource.java Sat Oct 10 09:47:59 2009
@@ -32,9 +32,9 @@
      * ciphered value.
      * 
      * <em>The default is no codec.</em>. In other words, it means password is
-     * not ciphered. The {@link PlainTextPasswordCodec} can also be used.
+     * not ciphered. The {@link PlainTextPasswordCipher} can also be used.
      */
-    private String passwordCodecClass = null;
+    private String passwordCipher = null;
 
     /**
      * Returns the password codec class name to use to retrieve plain text
@@ -42,20 +42,20 @@
      * 
      * @return the password codec class
      */
-    public synchronized String getPasswordCodecClass() {
-        return this.passwordCodecClass;
+    public synchronized String getPasswordCipher() {
+        return this.passwordCipher;
     }
 
     /**
      * <p>
-     * Sets the {@link #passwordCodecClass}.
+     * Sets the {@link #passwordCipher}.
      * </p>
      * 
-     * @param passwordCodecClass
+     * @param passwordCipher
      *            password codec value
      */
-    public synchronized void setPasswordCodecClass(String passwordCodecClass) {
-        this.passwordCodecClass = passwordCodecClass;
+    public synchronized void setPasswordCipher(String passwordCipher) {
+        this.passwordCipher = passwordCipher;
     }
     
     public synchronized String getUserName() {
@@ -94,9 +94,9 @@
         }
         
         // check password codec if available
-        if (null != passwordCodecClass) {
-            PasswordCodec codec = BasicDataSourceUtil.getPasswordCodec(passwordCodecClass);
-            String plainPwd = codec.decode(password.toCharArray());
+        if (null != passwordCipher) {
+            PasswordCipher cipher = BasicDataSourceUtil.getPasswordCipher(passwordCipher);
+            String plainPwd = cipher.decrypt(password.toCharArray());
 
             // override previous password value
             super.setPassword(plainPwd);
@@ -132,5 +132,5 @@
 
     protected void wrapTransactionManager() {
     }
-    
+
 }

Modified: openejb/branches/openejb-3.1.2/container/openejb-core/src/main/resources/META-INF/org.apache.openejb.embedded/service-jar.xml
URL: http://svn.apache.org/viewvc/openejb/branches/openejb-3.1.2/container/openejb-core/src/main/resources/META-INF/org.apache.openejb.embedded/service-jar.xml?rev=823835&r1=823834&r2=823835&view=diff
==============================================================================
--- openejb/branches/openejb-3.1.2/container/openejb-core/src/main/resources/META-INF/org.apache.openejb.embedded/service-jar.xml (original)
+++ openejb/branches/openejb-3.1.2/container/openejb-core/src/main/resources/META-INF/org.apache.openejb.embedded/service-jar.xml Sat Oct 10 09:47:59 2009
@@ -310,6 +310,8 @@
 
     Password
 
+    PasswordCipher  PlainText
+
     # The connection properties that will be sent to the JDBC
     # driver when establishing new connections
     #
@@ -498,6 +500,8 @@
     #Password pass
     Password
 
+    PasswordCipher  PlainText
+
     # The connection properties that will be sent to the JDBC
     # driver when establishing new connections
     #

Modified: openejb/branches/openejb-3.1.2/container/openejb-core/src/main/resources/META-INF/org.apache.openejb/service-jar.xml
URL: http://svn.apache.org/viewvc/openejb/branches/openejb-3.1.2/container/openejb-core/src/main/resources/META-INF/org.apache.openejb/service-jar.xml?rev=823835&r1=823834&r2=823835&view=diff
==============================================================================
--- openejb/branches/openejb-3.1.2/container/openejb-core/src/main/resources/META-INF/org.apache.openejb/service-jar.xml (original)
+++ openejb/branches/openejb-3.1.2/container/openejb-core/src/main/resources/META-INF/org.apache.openejb/service-jar.xml Sat Oct 10 09:47:59 2009
@@ -313,6 +313,9 @@
 
     Password
 
+    PasswordCipher  PlainText
+
+
     # The connection properties that will be sent to the JDBC
     # driver when establishing new connections
     #
@@ -497,6 +500,8 @@
 
     Password
 
+    PasswordCipher  PlainText
+
     # The connection properties that will be sent to the JDBC
     # driver when establishing new connections
     #

Modified: openejb/branches/openejb-3.1.2/container/openejb-core/src/main/resources/org/apache/openejb/config/Messages.properties
URL: http://svn.apache.org/viewvc/openejb/branches/openejb-3.1.2/container/openejb-core/src/main/resources/org/apache/openejb/config/Messages.properties?rev=823835&r1=823834&r2=823835&view=diff
==============================================================================
--- openejb/branches/openejb-3.1.2/container/openejb-core/src/main/resources/org/apache/openejb/config/Messages.properties (original)
+++ openejb/branches/openejb-3.1.2/container/openejb-core/src/main/resources/org/apache/openejb/config/Messages.properties Sat Oct 10 09:47:59 2009
@@ -17,21 +17,21 @@
 #
 # $Rev$ $Date$
 #
-# codec
-# formatter.printHelp("codec [options] <value>", "\n"+i18n("cmd.codec.description"), options, "\n");
-cmd.codec.description = Uses a password codec implementation to encode/decode a value.
+# cipher
+# formatter.printHelp("cipher [options] <value>", "\n"+i18n("cmd.cipher.description"), options, "\n");
+cmd.cipher.description = Uses a password cipher implementation to encrypt/decrypt a value.
 
-#options.addOption(option("h", "help", "cmd.codec.opt.help"));
-cmd.codec.opt.help = Lists these options and exits.
+#options.addOption(option("h", "help", "cmd.cipher.opt.help"));
+cmd.cipher.opt.help = Lists these options and exits.
 
-#options.addOption(option("i", "codec", "cmd.codec.opt.impl"));
-cmd.codec.opt.impl = Specifies the password codec implementation to use.
+#options.addOption(option("i", "cipher", "cmd.cipher.opt.impl"));
+cmd.cipher.opt.impl = Specifies the password cipher implementation to use (default is Static3DES).
 
-#options.addOption(option("d", "decode", "cmd.codec.opt.decode"));
-cmd.codec.opt.decode = Switches command line tool to decode.
+#options.addOption(option("d", "decrypt", "cmd.cipher.opt.decrypt"));
+cmd.cipher.opt.decrypt = Switches command line tool to decrypt.
 
-#options.addOption(option("e", "encode", "cmd.codec.opt.encode"));
-cmd.codec.opt.encode = Switches command line tool to encode (default).
+#options.addOption(option("e", "encrypt", "cmd.cipher.opt.encrypt"));
+cmd.cipher.opt.encrypt = Switches command line tool to encrypt (default).
 
 # Undeploy
 #formatter.printHelp("undeploy [options] <moduleId> [<moduleId>...]", "\n"+ Undeploy.i18n("cmd.deploy.description"), options, "\n");

Propchange: openejb/branches/openejb-3.1.2/container/openejb-core/src/test/java/org/apache/openejb/config/BusinessInterfacesTest.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Oct 10 09:47:59 2009
@@ -1,2 +1,2 @@
 /openejb/branches/openejb-3.1.1/container/openejb-core/src/test/java/org/apache/openejb/config/UberInterfaceTest.java:779593
-/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/config/BusinessInterfacesTest.java:823293,823642,823667,823678,823709
+/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/config/BusinessInterfacesTest.java:823293,823642,823667,823678,823709,823768-823819

Propchange: openejb/branches/openejb-3.1.2/examples/alternate-descriptors/src/main/resources/META-INF/test.ejb-jar.xml
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Oct 10 09:47:59 2009
@@ -1,2 +1,2 @@
 /openejb/branches/openejb-3.1.1/examples/alternate-descriptors/src/main/resources/META-INF/ejb-jar.xml:779593
-/openejb/trunk/openejb3/examples/alternate-descriptors/src/main/resources/META-INF/test.ejb-jar.xml:823293,823642,823667,823678,823709
+/openejb/trunk/openejb3/examples/alternate-descriptors/src/main/resources/META-INF/test.ejb-jar.xml:823293,823642,823667,823678,823709,823768-823819