Was it intended that this change would upgrade howl to 1.0.1?

I know this was discussed with the package upgrades and David even mentioned that the jar wasn't published on any of the repos yet. That's the last I can find on the topic.

It is in fact causing a problem since this version can't be found on any of the repos.

Joe



[EMAIL PROTECTED] wrote:
Author: djencks
Date: Fri May 12 14:29:24 2006
New Revision: 405881

URL: http://svn.apache.org/viewcvs?rev=405881&view=rev
Log:
GERONIMO-1507 offline deployer.  Also GERONIMO-1861 make a backup copy of 
config.xml

Added:
    
geronimo/branches/1.1/assemblies/j2ee-jetty-server/src/var/config/offline-deployer-list
    
geronimo/branches/1.1/assemblies/j2ee-tomcat-server/src/var/config/offline-deployer-list
    
geronimo/branches/1.1/assemblies/minimal-jetty-server/src/var/config/offline-deployer-list
    
geronimo/branches/1.1/assemblies/minimal-tomcat-server/src/var/config/offline-deployer-list
    
geronimo/branches/1.1/modules/deploy-tool/src/java/org/apache/geronimo/deployment/cli/LocalServer.java
Removed:
    
geronimo/branches/1.1/modules/deployment/src/java/org/apache/geronimo/deployment/GBeanDataRegistry.java
Modified:
    geronimo/branches/1.1/etc/explicit_versions.properties
    geronimo/branches/1.1/etc/project.properties
    
geronimo/branches/1.1/modules/deploy-tool/src/java/org/apache/geronimo/deployment/cli/ServerConnection.java
    
geronimo/branches/1.1/modules/deployment/src/java/org/apache/geronimo/deployment/DeploymentConfigurationManager.java
    
geronimo/branches/1.1/modules/deployment/src/test/org/apache/geronimo/deployment/SingleFileHotDeployerTest.java
    geronimo/branches/1.1/modules/kernel/project.xml
    
geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/config/ConfigurationManager.java
    
geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/config/KernelConfigurationManager.java
    
geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/config/MultiParentClassLoader.java
    
geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/config/SimpleConfigurationManager.java
    
geronimo/branches/1.1/modules/system/src/java/org/apache/geronimo/system/main/CommandLine.java
    
geronimo/branches/1.1/modules/system/src/java/org/apache/geronimo/system/main/CommandLineManifest.java
    
geronimo/branches/1.1/modules/system/src/test/org/apache/geronimo/system/plugin/PluginInstallerTest.java
    geronimo/branches/1.1/plugins/geronimo-assembly-plugin/plugin.jelly
    geronimo/branches/1.1/plugins/geronimo-assembly-plugin/project.xml

Added: 
geronimo/branches/1.1/assemblies/j2ee-jetty-server/src/var/config/offline-deployer-list
URL: 
http://svn.apache.org/viewcvs/geronimo/branches/1.1/assemblies/j2ee-jetty-server/src/var/config/offline-deployer-list?rev=405881&view=auto
==============================================================================
--- 
geronimo/branches/1.1/assemblies/j2ee-jetty-server/src/var/config/offline-deployer-list
 (added)
+++ 
geronimo/branches/1.1/assemblies/j2ee-jetty-server/src/var/config/offline-deployer-list
 Fri May 12 14:29:24 2006
@@ -0,0 +1,7 @@
+#list of deployers to be started for offline deployment
+geronimo/geronimo-gbean-deployer/${pom.currentVersion}/car
+geronimo/j2ee-deployer/${pom.currentVersion}/car
+geronimo/openejb-deployer/${pom.currentVersion}/car
+geronimo/client-deployer/${pom.currentVersion}/car
+geronimo/axis-deployer/${pom.currentVersion}/car
+geronimo/jetty-deployer/${pom.currentVersion}/car

Added: 
geronimo/branches/1.1/assemblies/j2ee-tomcat-server/src/var/config/offline-deployer-list
URL: 
http://svn.apache.org/viewcvs/geronimo/branches/1.1/assemblies/j2ee-tomcat-server/src/var/config/offline-deployer-list?rev=405881&view=auto
==============================================================================
--- 
geronimo/branches/1.1/assemblies/j2ee-tomcat-server/src/var/config/offline-deployer-list
 (added)
+++ 
geronimo/branches/1.1/assemblies/j2ee-tomcat-server/src/var/config/offline-deployer-list
 Fri May 12 14:29:24 2006
@@ -0,0 +1,7 @@
+#list of deployers to be started for offline deployment
+geronimo/geronimo-gbean-deployer/${pom.currentVersion}/car
+geronimo/j2ee-deployer/${pom.currentVersion}/car
+geronimo/openejb-deployer/${pom.currentVersion}/car
+geronimo/client-deployer/${pom.currentVersion}/car
+geronimo/axis-deployer/${pom.currentVersion}/car
+geronimo/tomcat-deployer/${pom.currentVersion}/car

Added: 
geronimo/branches/1.1/assemblies/minimal-jetty-server/src/var/config/offline-deployer-list
URL: 
http://svn.apache.org/viewcvs/geronimo/branches/1.1/assemblies/minimal-jetty-server/src/var/config/offline-deployer-list?rev=405881&view=auto
==============================================================================
--- 
geronimo/branches/1.1/assemblies/minimal-jetty-server/src/var/config/offline-deployer-list
 (added)
+++ 
geronimo/branches/1.1/assemblies/minimal-jetty-server/src/var/config/offline-deployer-list
 Fri May 12 14:29:24 2006
@@ -0,0 +1,7 @@
+#list of deployers to be started for offline deployment
+geronimo/geronimo-gbean-deployer/${pom.currentVersion}/car
+geronimo/j2ee-deployer/${pom.currentVersion}/car
+geronimo/jetty-deployer/${pom.currentVersion}/car
+geronimo/unavailable-ejb-deployer/${pom.currentVersion}/car
+geronimo/unavailable-webservices-deployer/${pom.currentVersion}/car
+geronimo/unavailable-client-deployer/${pom.currentVersion}/car

Added: 
geronimo/branches/1.1/assemblies/minimal-tomcat-server/src/var/config/offline-deployer-list
URL: 
http://svn.apache.org/viewcvs/geronimo/branches/1.1/assemblies/minimal-tomcat-server/src/var/config/offline-deployer-list?rev=405881&view=auto
==============================================================================
--- 
geronimo/branches/1.1/assemblies/minimal-tomcat-server/src/var/config/offline-deployer-list
 (added)
+++ 
geronimo/branches/1.1/assemblies/minimal-tomcat-server/src/var/config/offline-deployer-list
 Fri May 12 14:29:24 2006
@@ -0,0 +1,7 @@
+#list of deployers to be started for offline deployment
+geronimo/geronimo-gbean-deployer/${pom.currentVersion}/car
+geronimo/j2ee-deployer/${pom.currentVersion}/car
+geronimo/tomcat-deployer/${pom.currentVersion}/car
+geronimo/unavailable-ejb-deployer/${pom.currentVersion}/car
+geronimo/unavailable-webservices-deployer/${pom.currentVersion}/car
+geronimo/unavailable-client-deployer/${pom.currentVersion}/car

Modified: geronimo/branches/1.1/etc/explicit_versions.properties
URL: 
http://svn.apache.org/viewcvs/geronimo/branches/1.1/etc/explicit_versions.properties?rev=405881&r1=405880&r2=405881&view=diff
==============================================================================
--- geronimo/branches/1.1/etc/explicit_versions.properties (original)
+++ geronimo/branches/1.1/etc/explicit_versions.properties Fri May 12 14:29:24 
2006
@@ -42,7 +42,7 @@
 dom4j///=1.4
 dwr///=1.0
 eclipse_compiler///=3.0.1
-howl///=0.1.11
+howl///=1.0.1
 #security:
 hsqldb///=1.7.2.2
 jasper///=5.5.15

Modified: geronimo/branches/1.1/etc/project.properties
URL: 
http://svn.apache.org/viewcvs/geronimo/branches/1.1/etc/project.properties?rev=405881&r1=405880&r2=405881&view=diff
==============================================================================
--- geronimo/branches/1.1/etc/project.properties (original)
+++ geronimo/branches/1.1/etc/project.properties Fri May 12 14:29:24 2006
@@ -97,7 +97,7 @@
 release_notes_version=1.0
geronimo_packaging_plugin_version=1.1.0-8
-geronimo_assembly_plugin_version=1.1.0-11
+geronimo_assembly_plugin_version=1.1.0-12
 geronimo_deployment_plugin_version=1.1.0-3
 geronimo_dependency_plugin_version=1.1.0-3
@@ -153,7 +153,7 @@
 dom4j_version=1.4
 dwr_version=1.1.1
 eclipse_compiler_version=3.0.1
-howl_version=0.1.11
+howl_version=1.0.1
 #security:
 hsqldb_version=1.7.2.2
 jasper_version=5.5.15

Added: 
geronimo/branches/1.1/modules/deploy-tool/src/java/org/apache/geronimo/deployment/cli/LocalServer.java
URL: 
http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/deploy-tool/src/java/org/apache/geronimo/deployment/cli/LocalServer.java?rev=405881&view=auto
==============================================================================
--- 
geronimo/branches/1.1/modules/deploy-tool/src/java/org/apache/geronimo/deployment/cli/LocalServer.java
 (added)
+++ 
geronimo/branches/1.1/modules/deploy-tool/src/java/org/apache/geronimo/deployment/cli/LocalServer.java
 Fri May 12 14:29:24 2006
@@ -0,0 +1,80 @@
+/**
+ *
+ * Copyright 2006 The Apache Software Foundation
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+
+package org.apache.geronimo.deployment.cli;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.apache.geronimo.gbean.AbstractName;
+import org.apache.geronimo.gbean.AbstractNameQuery;
+import org.apache.geronimo.kernel.GBeanNotFoundException;
+import org.apache.geronimo.kernel.Kernel;
+import org.apache.geronimo.kernel.config.PersistentConfigurationList;
+import org.apache.geronimo.kernel.repository.Artifact;
+import org.apache.geronimo.system.main.CommandLine;
+import org.apache.geronimo.system.serverinfo.ServerInfo;
+
+/**
+ * @version $Rev:$ $Date:$
+ */
+public class LocalServer extends CommandLine {
+
+    public LocalServer(String configListLocation) throws Exception {
+        startKernel(Artifact.create("geronimo/j2ee-system//car"));
+        Runtime.getRuntime().addShutdownHook(new Thread("Geronimo shutdown 
thread") {
+            public void run() {
+                getKernel().shutdown();
+            }
+        });
+        List configs = getConfigurationList(configListLocation);
+        loadConfigurations(configs);
+    }
+
+    public Kernel getKernel() {
+        return super.getKernel();
+    }
+
+    protected List getConfigurationList(String path) throws 
GBeanNotFoundException, IOException {
+        ServerInfo serverInfo = (ServerInfo) 
getKernel().getGBean(ServerInfo.class);
+        File configFile = serverInfo.resolve(path);
+        List modules = new ArrayList();
+        BufferedReader in = new BufferedReader(new FileReader(configFile));
+        try {
+            String artifactString;
+            while ((artifactString = in.readLine()) != null) {
+                artifactString = artifactString.trim();
+                if (!artifactString.startsWith("#") && artifactString.length() 
> 0) {
+                    Artifact artifact = Artifact.create(artifactString);
+                    modules.add(artifact);
+                }
+            }
+        } finally {
+            in.close();
+        }
+        return modules;
+    }
+
+}

Modified: 
geronimo/branches/1.1/modules/deploy-tool/src/java/org/apache/geronimo/deployment/cli/ServerConnection.java
URL: 
http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/deploy-tool/src/java/org/apache/geronimo/deployment/cli/ServerConnection.java?rev=405881&r1=405880&r2=405881&view=diff
==============================================================================
--- 
geronimo/branches/1.1/modules/deploy-tool/src/java/org/apache/geronimo/deployment/cli/ServerConnection.java
 (original)
+++ 
geronimo/branches/1.1/modules/deploy-tool/src/java/org/apache/geronimo/deployment/cli/ServerConnection.java
 Fri May 12 14:29:24 2006
@@ -31,6 +31,7 @@
 import java.util.Map;
 import java.util.Properties;
 import java.util.jar.JarFile;
+
 import javax.enterprise.deploy.shared.factories.DeploymentFactoryManager;
 import javax.enterprise.deploy.spi.DeploymentManager;
 import 
javax.enterprise.deploy.spi.exceptions.DeploymentManagerCreationException;
@@ -40,7 +41,12 @@
 import 
org.apache.geronimo.deployment.plugin.factories.AuthenticationFailedException;
 import org.apache.geronimo.deployment.plugin.factories.DeploymentFactoryImpl;
 import org.apache.geronimo.deployment.plugin.jmx.JMXDeploymentManager;
+import org.apache.geronimo.deployment.plugin.jmx.LocalDeploymentManager;
 import org.apache.geronimo.util.SimpleEncryption;
+import org.apache.geronimo.kernel.Kernel;
+import org.apache.geronimo.kernel.config.ConfigurationManager;
+import org.apache.geronimo.kernel.config.ConfigurationUtil;
+import org.apache.geronimo.kernel.config.KernelConfigurationManager;
/**
  * Supports online connections to the server, via JSR-88, valid only
@@ -50,6 +56,7 @@
  */
 public class ServerConnection {
     private final static Map OPTION_HELP = new LinkedHashMap(9);
+
     static {
         OPTION_HELP.put("--uri", "A URI to contact the server.  If not specified, 
the deployer defaults to " +
                 "operating on a Geronimo server running on the standard port on 
localhost.\n" +
@@ -69,7 +76,9 @@
         OPTION_HELP.put("--password", "Specifies a password to use to authenticate 
to the server.");
         OPTION_HELP.put("--syserr", "Enables error logging to syserr.  Disabled by 
default.");
         OPTION_HELP.put("--verbose", "Enables verbose execution mode.  Disabled by 
default.");
+        OPTION_HELP.put("--offline", "Deploy offline to a local server, using 
whatever deployers are available in the local server");
     }
+
     public static Map getOptionHelp() {
         return OPTION_HELP;
     }
@@ -80,19 +89,18 @@
      * argument).  For example, if the arguments were "--user bob foo" then
      * this should return true for "--user" and "bob" and false for "foo".
      *
-     * @param args The previous arguments on the command line
+     * @param args   The previous arguments on the command line
      * @param option The argument we're checking at the moment
-     *
      * @return True if the argument we're checking is part of a general 
argument
      */
     public static boolean isGeneralOption(List args, String option) {
-        if(OPTION_HELP.containsKey(option) || option.equals("--url")) {
+        if (OPTION_HELP.containsKey(option) || option.equals("--url")) {
             return true;
         }
-        if(args.size() == 0) {
+        if (args.size() == 0) {
             return false;
         }
-        String last = (String) args.get(args.size()-1);
+        String last = (String) args.get(args.size() - 1);
         return last.equals("--uri") || last.equals("--url") || last.equals("--driver") 
|| last.equals("--user") ||
                 last.equals("--password") || last.equals("--host") || 
last.equals("--port");
     }
@@ -111,62 +119,64 @@
         Integer port = null;
         this.out = out;
         this.in = in;
-        for(int i = 0; i < args.length; i++) {
+        boolean offline = false;
+        for (int i = 0; i < args.length; i++) {
             String arg = args[i];
-            if(arg.equals("--uri") || arg.equals("--url")) {
-                if(uri != null) {
+            if (arg.equals("--uri") || arg.equals("--url")) {
+                if (uri != null) {
                     throw new DeploymentSyntaxException("Cannot specify more than 
one URI");
-                } else if(i >= args.length-1) {
+                } else if (i >= args.length - 1) {
                     throw new DeploymentSyntaxException("Must specify a URI (e.g. 
--uri deployer:...)");
                 }
-                if(host != null || port != null) {
+                if (host != null || port != null) {
                     throw new DeploymentSyntaxException("Cannot specify a URI as 
well as a host/port");
                 }
                 uri = args[++i];
-            } else if(arg.equals("--host")) {
-                if(host != null) {
+            } else if (arg.equals("--host")) {
+                if (host != null) {
                     throw new DeploymentSyntaxException("Cannot specify more than 
one host");
-                } else if(i >= args.length-1) {
+                } else if (i >= args.length - 1) {
                     throw new DeploymentSyntaxException("Must specify a hostname 
(e.g. --host localhost)");
                 }
-                if(uri != null) {
+                if (uri != null) {
                     throw new DeploymentSyntaxException("Cannot specify a URI as 
well as a host/port");
                 }
                 host = args[++i];
-            } else if(arg.equals("--port")) {
-                if(port != null) {
+            } else if (arg.equals("--port")) {
+                if (port != null) {
                     throw new DeploymentSyntaxException("Cannot specify more than 
one port");
-                } else if(i >= args.length-1) {
+                } else if (i >= args.length - 1) {
                     throw new DeploymentSyntaxException("Must specify a port (e.g. 
--port 1099)");
                 }
-                if(uri != null) {
+                if (uri != null) {
                     throw new DeploymentSyntaxException("Cannot specify a URI as 
well as a host/port");
                 }
                 try {
                     port = new Integer(args[++i]);
                 } catch (NumberFormatException e) {
-                    throw new DeploymentSyntaxException("Port must be a number 
("+e.getMessage()+")");
+                    throw new DeploymentSyntaxException("Port must be a number (" + 
e.getMessage() + ")");
                 }
-            } else if(arg.equals("--driver")) {
-                if(driver != null) {
+            } else if (arg.equals("--driver")) {
+                if (driver != null) {
                     throw new DeploymentSyntaxException("Cannot specify more than 
one driver");
-                } else if(i >= args.length-1) {
+                } else if (i >= args.length - 1) {
                     throw new DeploymentSyntaxException("Must specify a driver JAR 
(--driver jarfile)");
                 }
                 driver = args[++i];
-            } else if(arg.equals("--offline")) {
-                throw new DeploymentSyntaxException("This tool no longer handles 
offline deployment");
-            } else if(arg.equals("--user")) {
-                if(user != null) {
+            } else if (arg.equals("--offline")) {
+                //throw new DeploymentSyntaxException("This tool no longer handles 
offline deployment");
+                offline = true;
+            } else if (arg.equals("--user")) {
+                if (user != null) {
                     throw new DeploymentSyntaxException("Cannot specify more than 
one user name");
-                } else if(i >= args.length-1) {
+                } else if (i >= args.length - 1) {
                     throw new DeploymentSyntaxException("Must specify a username 
(--user username)");
                 }
                 user = args[++i];
-            } else if(arg.equals("--password")) {
-                if(password != null) {
+            } else if (arg.equals("--password")) {
+                if (password != null) {
                     throw new DeploymentSyntaxException("Cannot specify more than 
one password");
-                } else if(i >= args.length-1) {
+                } else if (i >= args.length - 1) {
                     throw new DeploymentSyntaxException("Must specify a password 
(--password password)");
                 }
                 password = args[++i];
@@ -175,23 +185,37 @@
             } else if (arg.equals("--syserr")) {
                 logToSysErr = true;
             } else {
-                throw new DeploymentException("Invalid option "+arg);
+                throw new DeploymentException("Invalid option " + arg);
             }
         }
-        if((driver != null) && uri == null) {
+        if ((driver != null) && uri == null) {
             throw new DeploymentSyntaxException("A custom driver requires a custom 
URI");
         }
-        if(host != null || port != null) {
-            uri = DEFAULT_URI+"://"+(host == null ? "" : host)+(port == null ? "" : 
":"+port);
+        if (host != null || port != null) {
+            uri = DEFAULT_URI + "://" + (host == null ? "" : host) + (port == null ? "" 
: ":" + port);
+        }
+        if (offline) {
+            LocalServer localServer;
+            try {
+                localServer = new 
LocalServer("var/config/offline-deployer-list");
+            } catch (Exception e) {
+                throw new DeploymentException("Could not start local server", 
e);
+            }
+            Kernel kernel = localServer.getKernel();
+            ConfigurationManager configurationManager = 
ConfigurationUtil.getConfigurationManager(kernel);
+            configurationManager.setOnline(false);
+
+            manager = new LocalDeploymentManager(localServer.getKernel());
+        } else {
+            tryToConnect(uri, driver, user, password, true);
         }
-        tryToConnect(uri, driver, user, password, true);
-        if(manager == null) {
+        if (manager == null) {
             throw new DeploymentException("Unexpected error; connection 
failed.");
         }
     }
public void close() throws DeploymentException {
-        if(manager != null) {
+        if (manager != null) {
             manager.release();
         }
     }
@@ -206,55 +230,59 @@
private void tryToConnect(String argURI, String driver, String user, String password, boolean authPrompt) throws DeploymentException {
         DeploymentFactoryManager mgr = DeploymentFactoryManager.getInstance();
-        if(driver != null) {
+        if (driver != null) {
             loadDriver(driver, mgr);
         } else {
             mgr.registerDeploymentFactory(new DeploymentFactoryImpl());
         }
         String useURI = argURI == null ? DEFAULT_URI : argURI;
- if(authPrompt && user == null && password == null) {
+        if (authPrompt && user == null && password == null) {
             InputStream in;
             // First check for .geronimo-deployer on class path (e.g. packaged 
in deployer.jar)
             in = 
ServerConnection.class.getResourceAsStream("/.geronimo-deployer");
             // If not there, check in home directory
-            if(in == null) {
+            if (in == null) {
                 File authFile = new File(System.getProperty("user.home"), 
".geronimo-deployer");
-                if(authFile.exists() && authFile.canRead()) {
+                if (authFile.exists() && authFile.canRead()) {
                     try {
                         in = new BufferedInputStream(new 
FileInputStream(authFile));
-                    } catch (FileNotFoundException e) {}
+                    } catch (FileNotFoundException e) {
+                    }
                 }
             }
-            if(in != null) {
+            if (in != null) {
                 try {
                     Properties props = new Properties();
                     props.load(in);
-                    String encryped = props.getProperty("login."+useURI);
-                    if(encryped != null) {
-                        if(encryped.startsWith("{Standard}")) {
+                    String encryped = props.getProperty("login." + useURI);
+                    if (encryped != null) {
+                        if (encryped.startsWith("{Standard}")) {
                             SavedAuthentication auth = (SavedAuthentication) 
SimpleEncryption.decrypt(encryped.substring(10));
-                            if(auth.uri.equals(useURI)) {
+                            if (auth.uri.equals(useURI)) {
                                 user = auth.user;
                                 password = new String(auth.password);
                             }
-                        } else if(encryped.startsWith("{Plain}")) {
+                        } else if (encryped.startsWith("{Plain}")) {
                             int pos = encryped.indexOf("/");
                             user = encryped.substring(7, pos);
-                            password = encryped.substring(pos+1);
+                            password = encryped.substring(pos + 1);
                         } else {
                             System.out.print(DeployUtils.reformat("Unknown 
encryption used in saved login file", 4, 72));
                         }
                     }
                 } catch (IOException e) {
-                    System.out.print(DeployUtils.reformat("Unable to read 
authentication from saved login file: "+e.getMessage(), 4, 72));
+                    System.out.print(DeployUtils.reformat("Unable to read 
authentication from saved login file: " + e.getMessage(), 4, 72));
                 } finally {
-                    try {in.close();}catch(IOException e) {}
+                    try {
+                        in.close();
+                    } catch (IOException e) {
+                    }
                 }
             }
         }
- if(authPrompt && !useURI.equals(DEFAULT_URI) && user == null && password == null) {
+        if (authPrompt && !useURI.equals(DEFAULT_URI) && user == null && 
password == null) {
             // Non-standard URI, but no authentication information
             doAuthPromptAndRetry(useURI, user, password);
             return;
@@ -262,15 +290,15 @@
             try {
                 manager = mgr.getDeploymentManager(useURI, user, password);
                 auth = new SavedAuthentication(useURI, user, password == null 
? null : password.toCharArray());
-            } catch(AuthenticationFailedException e) { // server's there, you 
just can't talk to it
-                if(authPrompt) {
+            } catch (AuthenticationFailedException e) { // server's there, you 
just can't talk to it
+                if (authPrompt) {
                     doAuthPromptAndRetry(useURI, user, password);
                     return;
                 } else {
                     throw new DeploymentException("Login Failed");
                 }
-            } catch(DeploymentManagerCreationException e) {
-                throw new DeploymentException("Unable to connect to server at 
"+useURI+" -- "+e.getMessage());
+            } catch (DeploymentManagerCreationException e) {
+                throw new DeploymentException("Unable to connect to server at " + useURI 
+ " -- " + e.getMessage());
             }
         }
@@ -282,37 +310,37 @@ private void loadDriver(String driver, DeploymentFactoryManager mgr) throws DeploymentException {
         File file = new File(driver);
-        if(!file.exists() || !file.canRead() || !DeployUtils.isJarFile(file)) {
-            throw new DeploymentSyntaxException("Driver 
'"+file.getAbsolutePath()+"' is not a readable JAR file");
+        if (!file.exists() || !file.canRead() || !DeployUtils.isJarFile(file)) 
{
+            throw new DeploymentSyntaxException("Driver '" + file.getAbsolutePath() + 
"' is not a readable JAR file");
         }
         String className = null;
         try {
             JarFile jar = new JarFile(file);
             className = 
jar.getManifest().getMainAttributes().getValue("J2EE-DeploymentFactory-Implementation-Class");
-            if(className == null) {
-                throw new DeploymentException("The driver JAR 
"+file.getAbsolutePath()+" does not specify a 
J2EE-DeploymentFactory-Implementation-Class; cannot load driver.");
+            if (className == null) {
+                throw new DeploymentException("The driver JAR " + file.getAbsolutePath() 
+ " does not specify a J2EE-DeploymentFactory-Implementation-Class; cannot load driver.");
             }
             jar.close();
             DeploymentFactory factory = (DeploymentFactory) 
Class.forName(className).newInstance();
             mgr.registerDeploymentFactory(factory);
-        } catch(DeploymentException e) {
+        } catch (DeploymentException e) {
             throw e;
-        } catch(Exception e) {
-            throw new DeploymentSyntaxException("Unable to load driver class 
"+className+" from JAR "+file.getAbsolutePath(), e);
+        } catch (Exception e) {
+            throw new DeploymentSyntaxException("Unable to load driver class " + 
className + " from JAR " + file.getAbsolutePath(), e);
         }
     }
private void doAuthPromptAndRetry(String uri, String user, String password) throws DeploymentException {
         try {
-            if(user == null) {
+            if (user == null) {
                 out.print("Username: ");
                 out.flush();
                 user = in.readLine();
             }
-            if(password == null) {
+            if (password == null) {
                 password = new PasswordPrompt("Password: ", 
out).getPassword(in);
             }
-        } catch(IOException e) {
+        } catch (IOException e) {
             throw new DeploymentException("Unable to prompt for login", e);
         }
         tryToConnect(uri, null, user, password, false);
@@ -349,13 +377,13 @@
             int priority = Thread.currentThread().getPriority();
             try {
                 Thread.currentThread().setPriority(Thread.MAX_PRIORITY);
-                String fullPrompt = "\r"+prompt+"          "+"\r"+prompt;
+                String fullPrompt = "\r" + prompt + "          " + "\r" + 
prompt;
                 StringBuffer clearline = new StringBuffer();
                 clearline.append('\r');
-                for(int i=prompt.length()+10; i>=0; i--) {
+                for (int i = prompt.length() + 10; i >= 0; i--) {
                     clearline.append(' ');
                 }
-                while(!done) {
+                while (!done) {
                     out.print(fullPrompt);
                     out.flush();
                     Thread.sleep(1);
@@ -377,7 +405,7 @@
          * the entered password.  For this to make sense, the input reader
          * here must be part of the same console as the output writer passed
          * to the constructor.
-         *
+         * <p/>
          * For higher security, should return a char[], but that will just
          * be defeated by the JSR-88 call that takes a String anyway, so
          * why bother?

Modified: 
geronimo/branches/1.1/modules/deployment/src/java/org/apache/geronimo/deployment/DeploymentConfigurationManager.java
URL: 
http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/deployment/src/java/org/apache/geronimo/deployment/DeploymentConfigurationManager.java?rev=405881&r1=405880&r2=405881&view=diff
==============================================================================
--- 
geronimo/branches/1.1/modules/deployment/src/java/org/apache/geronimo/deployment/DeploymentConfigurationManager.java
 (original)
+++ 
geronimo/branches/1.1/modules/deployment/src/java/org/apache/geronimo/deployment/DeploymentConfigurationManager.java
 Fri May 12 14:29:24 2006
@@ -84,6 +84,16 @@
         return super.getArtifactResolver();
     }
+ /**
+     * This configuration manager never starts any configurations
+     * @return false
+     */
+    public boolean isOnline() {
+        return false;
+    }
+
+    public void setOnline(boolean online) {
+    }
//
     // LOAD

Modified: 
geronimo/branches/1.1/modules/deployment/src/test/org/apache/geronimo/deployment/SingleFileHotDeployerTest.java
URL: 
http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/deployment/src/test/org/apache/geronimo/deployment/SingleFileHotDeployerTest.java?rev=405881&r1=405880&r2=405881&view=diff
==============================================================================
--- 
geronimo/branches/1.1/modules/deployment/src/test/org/apache/geronimo/deployment/SingleFileHotDeployerTest.java
 (original)
+++ 
geronimo/branches/1.1/modules/deployment/src/test/org/apache/geronimo/deployment/SingleFileHotDeployerTest.java
 Fri May 12 14:29:24 2006
@@ -453,5 +453,12 @@
         public ArtifactResolver getArtifactResolver() {
             return artifactResolver;
         }
+
+        public boolean isOnline() {
+            return true;
+        }
+
+        public void setOnline(boolean online) {
+        }
     }
 }

Modified: geronimo/branches/1.1/modules/kernel/project.xml
URL: 
http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/kernel/project.xml?rev=405881&r1=405880&r2=405881&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/kernel/project.xml (original)
+++ geronimo/branches/1.1/modules/kernel/project.xml Fri May 12 14:29:24 2006
@@ -103,33 +103,4 @@
         </dependency>
     </dependencies>
- <build>
-        <resources>
-            <resource>
-                <directory>${basedir}/src/java</directory>
-                <includes>
-                    <include>**/*.xml</include>
-                    <include>**/*.properties</include>
-                </includes>
-            </resource>
-        </resources>
-        <unitTest>
-            <includes>
-                <include>**/*Test.java</include>
-            </includes>
-            <excludes>
-                <exclude>**/Abstract*.java</exclude>
-            </excludes>
-            <resources>
-                <resource>
-                    
<directory>${basedir}/target/test-xdoclet/jmx/org/apache/geronimo/tools/xdoclet</directory>
-                    <targetPath>org/apache/geronimo/tools/xdoclet</targetPath>
-                    <includes>
-                        <include>*.xml</include>
-                    </includes>
-                </resource>
-            </resources>
-        </unitTest>
-    </build>
-
 </project>

Modified: 
geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/config/ConfigurationManager.java
URL: 
http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/config/ConfigurationManager.java?rev=405881&r1=405880&r2=405881&view=diff
==============================================================================
--- 
geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/config/ConfigurationManager.java
 (original)
+++ 
geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/config/ConfigurationManager.java
 Fri May 12 14:29:24 2006
@@ -463,4 +463,13 @@
      * configuration manager, etc.
      */
     ArtifactResolver getArtifactResolver();
+
+    /**
+     * Online means full functionality.  Offline typically means that 
configurations will never be started,
+     * although they may be marked in the persistent configuration list.
+     *
+     * @return online status of ConfigurationManager
+     */
+    boolean isOnline();
+    void setOnline(boolean online);
 }

Modified: 
geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/config/KernelConfigurationManager.java
URL: 
http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/config/KernelConfigurationManager.java?rev=405881&r1=405880&r2=405881&view=diff
==============================================================================
--- 
geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/config/KernelConfigurationManager.java
 (original)
+++ 
geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/config/KernelConfigurationManager.java
 Fri May 12 14:29:24 2006
@@ -57,6 +57,7 @@
     private final ArtifactManager artifactManager;
     protected final ClassLoader classLoader;
     private final ShutdownHook shutdownHook;
+    private boolean online = true;
public KernelConfigurationManager(Kernel kernel,
             Collection stores,
@@ -178,11 +179,21 @@
     }
public void start(Configuration configuration) throws InvalidConfigException {
-        
ConfigurationUtil.startConfigurationGBeans(configuration.getAbstractName(), 
configuration, kernel);
+        if (online) {
+            
ConfigurationUtil.startConfigurationGBeans(configuration.getAbstractName(), 
configuration, kernel);
+        }
if (configurationList != null && configuration.getConfigurationData().isAutoStart()) {
             configurationList.startConfiguration(configuration.getId());
         }
+    }
+
+    public boolean isOnline() {
+        return online;
+    }
+
+    public void setOnline(boolean online) {
+        this.online = online;
     }
protected void stop(Configuration configuration) {

Modified: 
geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/config/MultiParentClassLoader.java
URL: 
http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/config/MultiParentClassLoader.java?rev=405881&r1=405880&r2=405881&view=diff
==============================================================================
--- 
geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/config/MultiParentClassLoader.java
 (original)
+++ 
geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/config/MultiParentClassLoader.java
 Fri May 12 14:29:24 2006
@@ -246,7 +246,7 @@
             }
         }
- throw new ClassNotFoundException(name);
+        throw new ClassNotFoundException(name + " in classloader " + id);
     }
private boolean isNonOverridableClass(String name) {

Modified: 
geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/config/SimpleConfigurationManager.java
URL: 
http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/config/SimpleConfigurationManager.java?rev=405881&r1=405880&r2=405881&view=diff
==============================================================================
--- 
geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/config/SimpleConfigurationManager.java
 (original)
+++ 
geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/config/SimpleConfigurationManager.java
 Fri May 12 14:29:24 2006
@@ -1226,6 +1226,17 @@
         return artifactResolver;
     }
+ /**
+     * this configuration manager never starts configurations.
+     * @return false
+     */
+    public boolean isOnline() {
+        return false;
+    }
+
+    public void setOnline(boolean online) {
+    }
+
     private List getStoreList() {
         return new ArrayList(stores);
     }

Modified: 
geronimo/branches/1.1/modules/system/src/java/org/apache/geronimo/system/main/CommandLine.java
URL: 
http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/system/src/java/org/apache/geronimo/system/main/CommandLine.java?rev=405881&r1=405880&r2=405881&view=diff
==============================================================================
--- 
geronimo/branches/1.1/modules/system/src/java/org/apache/geronimo/system/main/CommandLine.java
 (original)
+++ 
geronimo/branches/1.1/modules/system/src/java/org/apache/geronimo/system/main/CommandLine.java
 Fri May 12 14:29:24 2006
@@ -20,6 +20,9 @@
 import java.io.InputStream;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Enumeration;
+import java.net.URL;
+
 import javax.management.ObjectName;
import org.apache.commons.logging.Log;
@@ -31,6 +34,9 @@
 import org.apache.geronimo.kernel.KernelFactory;
 import org.apache.geronimo.kernel.config.ConfigurationManager;
 import org.apache.geronimo.kernel.config.ConfigurationUtil;
+import org.apache.geronimo.kernel.config.NoSuchConfigException;
+import org.apache.geronimo.kernel.config.LifecycleException;
+import org.apache.geronimo.kernel.config.ConfigurationData;
 import org.apache.geronimo.kernel.log.GeronimoLogging;
 import org.apache.geronimo.kernel.repository.Artifact;
 import org.apache.geronimo.gbean.AbstractName;
@@ -61,7 +67,7 @@
             // the interesting entries from the manifest
             CommandLineManifest manifest = 
CommandLineManifest.getManifestEntries();
             List configurations = manifest.getConfigurations();
-            ObjectName mainGBean = manifest.getMainGBean();
+            AbstractName mainGBean = manifest.getMainGBean();
             String mainMethod = manifest.getMainMethod();
new CommandLine().invokeMainGBean(configurations, mainGBean, mainMethod, args);
@@ -78,34 +84,9 @@
     private Kernel kernel;
     private AbstractName configurationName;
- /**
-     * @deprecated use the next one with AbstractName
-     *
-     * @param configurations
-     * @param mainGBean
-     * @param mainMethod
-     * @param args
-     * @throws Exception
-     */
-    public void invokeMainGBean(List configurations, ObjectName mainGBean, 
String mainMethod, String[] args) throws Exception {
-        startKernel(configurations);
-
-        log.info("Server startup completed");
-
-        // invoke the main method
-        kernel.invoke(
-                mainGBean,
-                mainMethod,
-                new Object[]{args},
-                new String[]{String[].class.getName()});
-
-        log.info("Server shutdown begun");
-
-        stopKernel();
-    }
-
     public void invokeMainGBean(List configurations, AbstractName mainGBean, 
String mainMethod, String[] args) throws Exception {
-        startKernel(configurations);
+        startKernel();
+        loadConfigurations(configurations);
log.info("Server startup completed"); @@ -121,7 +102,7 @@
         stopKernel();
     }
- protected void startKernel(List configurations) throws Exception {
+    protected void startKernel() throws Exception {
         ClassLoader classLoader = CommandLine.class.getClassLoader();
         InputStream in = 
classLoader.getResourceAsStream("META-INF/config.ser");
@@ -132,6 +113,31 @@
         // load the configuration
         configurationName = 
ConfigurationUtil.loadBootstrapConfiguration(kernel, in, classLoader);
+ }
+
+    protected void startKernel(Artifact moduleId) throws Exception {
+        // boot the kernel
+        kernel = KernelFactory.newInstance().createKernel("geronimo");
+        kernel.boot();
+        ClassLoader classLoader = CommandLine.class.getClassLoader();
+        for (Enumeration modules = 
classLoader.getResources("META-INF/config.ser"); modules.hasMoreElements(); ) {
+            URL moduleDataURL = (URL) modules.nextElement();
+            InputStream in = moduleDataURL.openStream();
+            try {
+                ConfigurationData moduleData = 
ConfigurationUtil.readConfigurationData(in);
+                if (moduleId.matches(moduleData.getId())) {
+                    // load the configuration
+                    configurationName = 
ConfigurationUtil.loadBootstrapConfiguration(kernel, moduleData, classLoader);
+                    return;
+                }
+            } finally {
+                in.close();
+            }
+        }
+        throw new NoSuchConfigException(moduleId);
+    }
+
+    protected void loadConfigurations(List configurations) throws 
NoSuchConfigException, LifecycleException {
         // load and start the configurations
         ConfigurationManager configurationManager = 
ConfigurationUtil.getConfigurationManager(kernel);
         try {

Modified: 
geronimo/branches/1.1/modules/system/src/java/org/apache/geronimo/system/main/CommandLineManifest.java
URL: 
http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/system/src/java/org/apache/geronimo/system/main/CommandLineManifest.java?rev=405881&r1=405880&r2=405881&view=diff
==============================================================================
--- 
geronimo/branches/1.1/modules/system/src/java/org/apache/geronimo/system/main/CommandLineManifest.java
 (original)
+++ 
geronimo/branches/1.1/modules/system/src/java/org/apache/geronimo/system/main/CommandLineManifest.java
 Fri May 12 14:29:24 2006
@@ -30,6 +30,8 @@
 import javax.management.ObjectName;
 import javax.management.MalformedObjectNameException;
+import org.apache.geronimo.gbean.AbstractName;
+
 /**
  *
  *
@@ -65,11 +67,11 @@
         // get the main gbean class
         String mainGBeanString = mainAttributes.getValue(MAIN_GBEAN);
- ObjectName mainGBean = null;
+        AbstractName mainGBean = null;
         if(mainGBeanString != null) {
             try {
-                mainGBean = new ObjectName(mainGBeanString);
-            } catch (MalformedObjectNameException e) {
+                mainGBean = new AbstractName(new URI(mainGBeanString));
+            } catch (URISyntaxException e) {
                 System.err.println("Invalid Main-GBean name: " + 
mainGBeanString);
                 System.exit(1);
                 throw new AssertionError();
@@ -119,13 +121,13 @@
         return commandLineManifest;
     }
- private final ObjectName mainGBean;
+    private final AbstractName mainGBean;
     private final String mainMethod;
     private final List configurations;
     private final List endorsedDirs;
     private final List extensionDirs;
- public CommandLineManifest(ObjectName mainGBean, String mainMethod, List configurations, List endorsedDirs, List extensionDirs) {
+    public CommandLineManifest(AbstractName mainGBean, String mainMethod, List 
configurations, List endorsedDirs, List extensionDirs) {
         this.mainGBean = mainGBean;
         this.mainMethod = mainMethod;
         this.configurations = Collections.unmodifiableList(configurations);
@@ -133,7 +135,7 @@
         this.extensionDirs = extensionDirs;
     }
- public ObjectName getMainGBean() {
+    public AbstractName getMainGBean() {
         return mainGBean;
     }
Modified: 
geronimo/branches/1.1/modules/system/src/test/org/apache/geronimo/system/plugin/PluginInstallerTest.java
URL: 
http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/system/src/test/org/apache/geronimo/system/plugin/PluginInstallerTest.java?rev=405881&r1=405880&r2=405881&view=diff
==============================================================================
--- 
geronimo/branches/1.1/modules/system/src/test/org/apache/geronimo/system/plugin/PluginInstallerTest.java
 (original)
+++ 
geronimo/branches/1.1/modules/system/src/test/org/apache/geronimo/system/plugin/PluginInstallerTest.java
 Fri May 12 14:29:24 2006
@@ -123,6 +123,7 @@
     }
private static class MockConfigManager implements ConfigurationManager {
+
         public boolean isInstalled(Artifact configurationId) {
             return false;
         }
@@ -253,6 +254,13 @@
public ArtifactResolver getArtifactResolver() {
             return null;
+        }
+
+        public boolean isOnline() {
+            return true;
+        }
+
+        public void setOnline(boolean online) {
         }
     }
 }

Modified: geronimo/branches/1.1/plugins/geronimo-assembly-plugin/plugin.jelly
URL: 
http://svn.apache.org/viewcvs/geronimo/branches/1.1/plugins/geronimo-assembly-plugin/plugin.jelly?rev=405881&r1=405880&r2=405881&view=diff
==============================================================================
--- geronimo/branches/1.1/plugins/geronimo-assembly-plugin/plugin.jelly 
(original)
+++ geronimo/branches/1.1/plugins/geronimo-assembly-plugin/plugin.jelly Fri May 
12 14:29:24 2006
@@ -43,6 +43,10 @@
         <ant:mkdir dir="${geronimo.assembly.dest}/var/config"/>
         <velocity:merge basedir="${geronimo.assembly.src}/var/config" 
template="config.xml"
                         
name="${geronimo.assembly.dest}/var/config/config.xml"/>
+        <velocity:merge basedir="${geronimo.assembly.src}/var/config" 
template="config.xml"
+                        
name="${geronimo.assembly.dest}/var/config/config.xml.original"/>
+        <velocity:merge basedir="${geronimo.assembly.src}/var/config" 
template="offline-deployer-list"
+                        
name="${geronimo.assembly.dest}/var/config/offline-deployer-list"/>
     </goal>
<goal name="assemble:assemble-lib">

Modified: geronimo/branches/1.1/plugins/geronimo-assembly-plugin/project.xml
URL: 
http://svn.apache.org/viewcvs/geronimo/branches/1.1/plugins/geronimo-assembly-plugin/project.xml?rev=405881&r1=405880&r2=405881&view=diff
==============================================================================
--- geronimo/branches/1.1/plugins/geronimo-assembly-plugin/project.xml 
(original)
+++ geronimo/branches/1.1/plugins/geronimo-assembly-plugin/project.xml Fri May 
12 14:29:24 2006
@@ -23,7 +23,7 @@
     <id>geronimo-assembly-plugin</id>
     <name>Geronimo :: Maven Assembly Plugin</name>
     <description>A plugin used to assemble a distribution of 
Geronimo</description>
-    <currentVersion>1.1.0-11</currentVersion>
+    <currentVersion>1.1.0-12</currentVersion>
<dependencies>
         <dependency>





--
Joe Bohn
joe.bohn at earthlink.net

"He is no fool who gives what he cannot keep, to gain what he cannot lose." -- Jim Elliot

Reply via email to