You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by jd...@apache.org on 2008/10/21 08:04:03 UTC
svn commit: r706527 - in /geronimo/gshell/trunk:
gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/
gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/activation/
gshell-application/src/main/java...
Author: jdillon
Date: Mon Oct 20 23:04:02 2008
New Revision: 706527
URL: http://svn.apache.org/viewvc?rev=706527&view=rev
Log:
Expose bundle and activation bits in the application API
Added:
geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/activation/
geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/activation/ActivationContext.java (contents, props changed)
- copied, changed from r706146, geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/activation/ActivationContext.java
geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/activation/ActivationRule.java (contents, props changed)
- copied, changed from r706146, geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/activation/ActivationRule.java
geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/activation/ActivationTask.java (contents, props changed)
- copied, changed from r706146, geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/activation/ActivationTask.java
geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/bundle/
geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/bundle/Bundle.java (contents, props changed)
- copied, changed from r706146, geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/bundle/Bundle.java
geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/bundle/NoSuchBundleException.java (contents, props changed)
- copied, changed from r706146, geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/bundle/NoSuchBundleException.java
geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/bundle/BundleSupport.java (with props)
Removed:
geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/activation/ActivationContext.java
geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/activation/ActivationRule.java
geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/activation/ActivationTask.java
geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/bundle/Bundle.java
geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/bundle/NoSuchBundleException.java
Modified:
geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/Plugin.java
geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/PluginImpl.java
geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/activation/BundleActivationRule.java
geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/activation/DefaultBundleActivationRule.java
geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/bundle/CommandBundle.java
Modified: geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/Plugin.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/Plugin.java?rev=706527&r1=706526&r2=706527&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/Plugin.java (original)
+++ geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/Plugin.java Mon Oct 20 23:04:02 2008
@@ -20,8 +20,14 @@
package org.apache.geronimo.gshell.application.plugin;
import org.apache.geronimo.gshell.application.ClassPath;
+import org.apache.geronimo.gshell.application.plugin.bundle.Bundle;
+import org.apache.geronimo.gshell.application.plugin.bundle.NoSuchBundleException;
+import org.apache.geronimo.gshell.application.plugin.activation.ActivationRule;
import org.apache.geronimo.gshell.application.model.Artifact;
+import java.util.Collection;
+import java.util.List;
+
/**
* Plugin.
*
@@ -35,13 +41,13 @@
ClassPath getClassPath();
- /*
- boolean isEnabled();
+ Collection<String> getBundleNames();
+
+ Bundle getBundle(String name) throws NoSuchBundleException;
+
+ List<ActivationRule> getActivationRules();
- void enable() throws Exception;
+ void setActivationRules(List<ActivationRule> rules);
- void disable() throws Exception;
- */
-
void activate();
}
\ No newline at end of file
Copied: geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/activation/ActivationContext.java (from r706146, geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/activation/ActivationContext.java)
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/activation/ActivationContext.java?p2=geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/activation/ActivationContext.java&p1=geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/activation/ActivationContext.java&r1=706146&r2=706527&rev=706527&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/activation/ActivationContext.java (original)
+++ geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/activation/ActivationContext.java Mon Oct 20 23:04:02 2008
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.geronimo.gshell.wisdom.plugin.activation;
+package org.apache.geronimo.gshell.application.plugin.activation;
import org.apache.geronimo.gshell.application.plugin.Plugin;
Propchange: geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/activation/ActivationContext.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/activation/ActivationContext.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/activation/ActivationContext.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/activation/ActivationContext.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Copied: geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/activation/ActivationRule.java (from r706146, geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/activation/ActivationRule.java)
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/activation/ActivationRule.java?p2=geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/activation/ActivationRule.java&p1=geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/activation/ActivationRule.java&r1=706146&r2=706527&rev=706527&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/activation/ActivationRule.java (original)
+++ geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/activation/ActivationRule.java Mon Oct 20 23:04:02 2008
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.geronimo.gshell.wisdom.plugin.activation;
+package org.apache.geronimo.gshell.application.plugin.activation;
/**
* An activation rule. Rules optionally add tasks to the context to perform some action.
Propchange: geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/activation/ActivationRule.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/activation/ActivationRule.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/activation/ActivationRule.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/activation/ActivationRule.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Copied: geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/activation/ActivationTask.java (from r706146, geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/activation/ActivationTask.java)
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/activation/ActivationTask.java?p2=geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/activation/ActivationTask.java&p1=geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/activation/ActivationTask.java&r1=706146&r2=706527&rev=706527&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/activation/ActivationTask.java (original)
+++ geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/activation/ActivationTask.java Mon Oct 20 23:04:02 2008
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.geronimo.gshell.wisdom.plugin.activation;
+package org.apache.geronimo.gshell.application.plugin.activation;
/**
* An activation task, which is the basic unit of operation for "active" bits.
Propchange: geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/activation/ActivationTask.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/activation/ActivationTask.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/activation/ActivationTask.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/activation/ActivationTask.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Copied: geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/bundle/Bundle.java (from r706146, geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/bundle/Bundle.java)
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/bundle/Bundle.java?p2=geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/bundle/Bundle.java&p1=geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/bundle/Bundle.java&r1=706146&r2=706527&rev=706527&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/bundle/Bundle.java (original)
+++ geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/bundle/Bundle.java Mon Oct 20 23:04:02 2008
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.geronimo.gshell.wisdom.plugin.bundle;
+package org.apache.geronimo.gshell.application.plugin.bundle;
/**
* Plugin bundle.
Propchange: geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/bundle/Bundle.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/bundle/Bundle.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/bundle/Bundle.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Copied: geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/bundle/NoSuchBundleException.java (from r706146, geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/bundle/NoSuchBundleException.java)
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/bundle/NoSuchBundleException.java?p2=geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/bundle/NoSuchBundleException.java&p1=geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/bundle/NoSuchBundleException.java&r1=706146&r2=706527&rev=706527&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/bundle/NoSuchBundleException.java (original)
+++ geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/bundle/NoSuchBundleException.java Mon Oct 20 23:04:02 2008
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.geronimo.gshell.wisdom.plugin.bundle;
+package org.apache.geronimo.gshell.application.plugin.bundle;
import org.apache.geronimo.gshell.command.CommandException;
Propchange: geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/bundle/NoSuchBundleException.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/bundle/NoSuchBundleException.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/bundle/NoSuchBundleException.java
------------------------------------------------------------------------------
svn:mergeinfo =
Propchange: geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/bundle/NoSuchBundleException.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/PluginImpl.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/PluginImpl.java?rev=706527&r1=706526&r2=706527&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/PluginImpl.java (original)
+++ geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/PluginImpl.java Mon Oct 20 23:04:02 2008
@@ -22,13 +22,13 @@
import org.apache.geronimo.gshell.application.ClassPath;
import org.apache.geronimo.gshell.application.model.Artifact;
import org.apache.geronimo.gshell.application.plugin.Plugin;
+import org.apache.geronimo.gshell.application.plugin.bundle.Bundle;
import org.apache.geronimo.gshell.spring.BeanContainer;
import org.apache.geronimo.gshell.spring.BeanContainerAware;
-import org.apache.geronimo.gshell.wisdom.plugin.activation.ActivationContext;
-import org.apache.geronimo.gshell.wisdom.plugin.activation.ActivationRule;
-import org.apache.geronimo.gshell.wisdom.plugin.activation.ActivationTask;
-import org.apache.geronimo.gshell.wisdom.plugin.bundle.Bundle;
-import org.apache.geronimo.gshell.wisdom.plugin.bundle.NoSuchBundleException;
+import org.apache.geronimo.gshell.application.plugin.activation.ActivationContext;
+import org.apache.geronimo.gshell.application.plugin.activation.ActivationRule;
+import org.apache.geronimo.gshell.application.plugin.activation.ActivationTask;
+import org.apache.geronimo.gshell.application.plugin.bundle.NoSuchBundleException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -50,10 +50,6 @@
private final String name;
- /*
- private boolean enabled = false;
- */
-
private Artifact artifact;
private ClassPath classPath;
@@ -137,44 +133,14 @@
return container.getBean(id, Bundle.class);
}
- /*
- public synchronized boolean isEnabled() {
- return enabled;
- }
-
- public synchronized void enable() throws Exception {
- if (enabled) {
- throw new IllegalStateException("Plugin already enabled: " + name);
- }
-
- log.debug("Enabling plugin: {}", name);
-
- // TODO:
-
- enabled = true;
- }
-
- public synchronized void disable() throws Exception {
- if (!enabled) {
- throw new IllegalStateException("Plugin not enabled: " + name);
- }
-
- log.debug("Disabling bundle: {}", name);
-
- // TODO:
-
- enabled = false;
- }
- */
-
public List<ActivationRule> getActivationRules() {
return activationRules;
}
- public void setActivationRules(final List<ActivationRule> activationRules) {
- assert activationRules != null;
+ public void setActivationRules(final List<ActivationRule> rules) {
+ assert rules != null;
- this.activationRules = activationRules;
+ this.activationRules = rules;
}
public void activate() {
Modified: geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/activation/BundleActivationRule.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/activation/BundleActivationRule.java?rev=706527&r1=706526&r2=706527&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/activation/BundleActivationRule.java (original)
+++ geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/activation/BundleActivationRule.java Mon Oct 20 23:04:02 2008
@@ -20,7 +20,10 @@
package org.apache.geronimo.gshell.wisdom.plugin.activation;
import org.apache.geronimo.gshell.wisdom.plugin.PluginImpl;
-import org.apache.geronimo.gshell.wisdom.plugin.bundle.Bundle;
+import org.apache.geronimo.gshell.application.plugin.bundle.Bundle;
+import org.apache.geronimo.gshell.application.plugin.activation.ActivationContext;
+import org.apache.geronimo.gshell.application.plugin.activation.ActivationRule;
+import org.apache.geronimo.gshell.application.plugin.activation.ActivationTask;
/**
* Activation rule which will enable a named-bundle.
Modified: geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/activation/DefaultBundleActivationRule.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/activation/DefaultBundleActivationRule.java?rev=706527&r1=706526&r2=706527&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/activation/DefaultBundleActivationRule.java (original)
+++ geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/activation/DefaultBundleActivationRule.java Mon Oct 20 23:04:02 2008
@@ -19,6 +19,8 @@
package org.apache.geronimo.gshell.wisdom.plugin.activation;
+import org.apache.geronimo.gshell.application.plugin.activation.ActivationContext;
+
/**
* Activation rule which will enable a named-bundle only if no other activation rules have added tasks.
*
Added: geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/bundle/BundleSupport.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/bundle/BundleSupport.java?rev=706527&view=auto
==============================================================================
--- geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/bundle/BundleSupport.java (added)
+++ geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/bundle/BundleSupport.java Mon Oct 20 23:04:02 2008
@@ -0,0 +1,81 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.gshell.wisdom.plugin.bundle;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.apache.geronimo.gshell.application.plugin.bundle.Bundle;
+
+/**
+ * Support for {@link org.apache.geronimo.gshell.application.plugin.bundle.Bundle} components.
+ *
+ * @version $Rev$ $Date$
+ */
+public abstract class BundleSupport
+ implements Bundle
+{
+ protected final Logger log = LoggerFactory.getLogger(getClass());
+
+ private final String name;
+
+ private boolean enabled = false;
+
+ protected BundleSupport(final String name) {
+ assert name != null;
+
+ this.name = name;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public synchronized boolean isEnabled() {
+ return enabled;
+ }
+
+ public synchronized void enable() throws Exception {
+ if (enabled) {
+ throw new IllegalStateException("Bundle already enabled: " + name);
+ }
+
+ log.debug("Enabling bundle: {}", name);
+
+ doEnable();
+
+ enabled = true;
+ }
+
+ protected abstract void doEnable() throws Exception;
+
+ public synchronized void disable() throws Exception {
+ if (!enabled) {
+ throw new IllegalStateException("Bundle not enabled: " + name);
+ }
+
+ log.debug("Disabling bundle: {}", name);
+
+ doDisable();
+
+ enabled = false;
+ }
+
+ protected abstract void doDisable() throws Exception;
+}
\ No newline at end of file
Modified: geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/bundle/CommandBundle.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/bundle/CommandBundle.java?rev=706527&r1=706526&r2=706527&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/bundle/CommandBundle.java (original)
+++ geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/bundle/CommandBundle.java Mon Oct 20 23:04:02 2008
@@ -22,6 +22,7 @@
import org.apache.geronimo.gshell.command.Command;
import org.apache.geronimo.gshell.registry.AliasRegistry;
import org.apache.geronimo.gshell.registry.CommandRegistry;
+import org.apache.geronimo.gshell.wisdom.plugin.bundle.BundleSupport;
import java.util.List;
import java.util.Map;
@@ -64,7 +65,7 @@
return aliases;
}
- public void setAliases(final Map<String, String> aliases) {
+ public void setAliases(final Map<String,String> aliases) {
assert aliases != null;
this.aliases = aliases;