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/09/12 09:47:43 UTC
svn commit: r694633 - in /geronimo/gshell/trunk:
gshell-application/src/main/java/org/apache/geronimo/gshell/application/
gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/
gshell-assembly/src/main/underlay/etc/ gshell-mode...
Author: jdillon
Date: Fri Sep 12 00:47:42 2008
New Revision: 694633
URL: http://svn.apache.org/viewvc?rev=694633&view=rev
Log:
Add plugin elements to model
Added PluginManager component to handle loading plugins
Added:
geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/
geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/PluginManager.java (with props)
geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/Plugin.java (contents, props changed)
- copied, changed from r694338, geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/Dependency.java
geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/PluginGroup.java (contents, props changed)
- copied, changed from r694338, geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/DependencyGroup.java
geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/Artifact.java (contents, props changed)
- copied, changed from r694338, geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/DependencySupport.java
geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/
geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/PluginManagerImpl.java (contents, props changed)
- copied, changed from r694356, geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/application/SettingsManagerImpl.java
geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/event/
geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/event/PluginLoadedEvent.java (contents, props changed)
- copied, changed from r694356, geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/application/event/ShellCreatedEvent.java
Removed:
geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/DependencySupport.java
Modified:
geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/ApplicationManager.java
geronimo/gshell/trunk/gshell-assembly/src/main/underlay/etc/application.xml
geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/ApplicationModel.java
geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/Dependency.java
geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/DependencyGroup.java
geronimo/gshell/trunk/gshell-model/src/test/java/org/apache/geronimo/gshell/model/application/ApplicationMarshallerTest.java
geronimo/gshell/trunk/gshell-model/src/test/resources/org/apache/geronimo/gshell/model/application/application1.xml
geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/application/ApplicationManagerImpl.java
geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/resources/META-INF/spring/components.xml
geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/resources/META-INF/spring/components.xml
Modified: geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/ApplicationManager.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/ApplicationManager.java?rev=694633&r1=694632&r2=694633&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/ApplicationManager.java (original)
+++ geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/ApplicationManager.java Fri Sep 12 00:47:42 2008
@@ -22,7 +22,7 @@
import org.apache.geronimo.gshell.shell.ShellFactory;
/**
- * Provides the interface to manager applications.
+ * Provides the interface to manage applications.
*
* @version $Rev$ $Date$
*/
Added: geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/PluginManager.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/PluginManager.java?rev=694633&view=auto
==============================================================================
--- geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/PluginManager.java (added)
+++ geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/PluginManager.java Fri Sep 12 00:47:42 2008
@@ -0,0 +1,29 @@
+/*
+ * 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.application.plugin;
+
+/**
+ * Provides the interface to manage plugins.
+ *
+ * @version $Rev$ $Date$
+ */
+public interface PluginManager
+{
+}
\ No newline at end of file
Propchange: geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/PluginManager.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/PluginManager.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/PluginManager.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/plugin/PluginManager.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: geronimo/gshell/trunk/gshell-assembly/src/main/underlay/etc/application.xml
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-assembly/src/main/underlay/etc/application.xml?rev=694633&r1=694632&r2=694633&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-assembly/src/main/underlay/etc/application.xml (original)
+++ geronimo/gshell/trunk/gshell-assembly/src/main/underlay/etc/application.xml Fri Sep 12 00:47:42 2008
@@ -44,63 +44,43 @@
-->
</remoteRepositories>
- <dependencyGroups>
- <dependencyGroup>
+ <dependencies>
+ <dependency>
<groupId>org.apache.geronimo.gshell.wisdom</groupId>
+ <artifactId>gshell-wisdom-core</artifactId>
<version>1.0-alpha-2-SNAPSHOT</version>
+ </dependency>
+ </dependencies>
- <dependency>
- <artifactId>gshell-wisdom-core</artifactId>
- </dependency>
- </dependencyGroup>
-
- <dependencyGroup>
+ <pluginGroups>
+ <pluginGroup>
<groupId>org.apache.geronimo.gshell.commands</groupId>
<version>1.0-alpha-2-SNAPSHOT</version>
- <dependency>
+ <plugin>
<artifactId>gshell-builtins</artifactId>
- </dependency>
+ </plugin>
<!--
- <dependency>
+ <plugin>
<artifactId>gshell-optional</artifactId>
- </dependency>
+ </plugin>
- <dependency>
+ <plugin>
<artifactId>gshell-repository</artifactId>
- </dependency>
+ </plugin>
- <dependency>
+ <plugin>
<artifactId>gshell-bsf</artifactId>
- </dependency>
+ </plugin>
- <dependency>
+ <plugin>
<artifactId>gshell-vfs</artifactId>
- </dependency>
+ </plugin>
-->
- </dependencyGroup>
-
- <!--
- <dependencyGroup>
- <groupId>org.apache.geronimo.gshell.remote</groupId>
- <version>1.0-alpha-2-SNAPSHOT</version>
-
- <dependency>
- <artifactId>gshell-remote-client</artifactId>
- </dependency>
-
- <dependency>
- <artifactId>gshell-remote-server</artifactId>
- </dependency>
- </dependencyGroup>
- -->
- </dependencyGroups>
+ </pluginGroup>
+ </pluginGroups>
- <!--
- TODO: Need plugins
- -->
-
<branding>
<name>gshell</name>
</branding>
Modified: geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/ApplicationModel.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/ApplicationModel.java?rev=694633&r1=694632&r2=694633&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/ApplicationModel.java (original)
+++ geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/ApplicationModel.java Fri Sep 12 00:47:42 2008
@@ -25,6 +25,8 @@
import org.apache.geronimo.gshell.model.common.DescriptorSupport;
import org.apache.geronimo.gshell.model.common.LocalRepository;
import org.apache.geronimo.gshell.model.common.RemoteRepository;
+import org.apache.geronimo.gshell.model.application.Plugin;
+import org.apache.geronimo.gshell.model.application.PluginGroup;
import org.apache.geronimo.gshell.model.layout.Layout;
import java.util.ArrayList;
@@ -46,11 +48,17 @@
private List<Dependency> dependencies;
private List<DependencyGroup> dependencyGroups;
-
+
+ private List<Plugin> plugins;
+
+ private List<PluginGroup> pluginGroups;
+
private Branding branding;
private Layout layout;
+ // LocalRepository
+
public LocalRepository getLocalRepository() {
return localRepository;
}
@@ -59,7 +67,9 @@
this.localRepository = localRepository;
}
- public List<RemoteRepository> remoteRepositories() {
+ // RemoteRepository
+
+ public List<RemoteRepository> getRemoteRepositories() {
if (remoteRepositories == null) {
remoteRepositories = new ArrayList<RemoteRepository>();
}
@@ -70,10 +80,12 @@
public void add(final RemoteRepository repository) {
assert repository != null;
- remoteRepositories().add(repository);
+ getRemoteRepositories().add(repository);
}
- public List<DependencyGroup> dependencyGroups() {
+ // DependencyGroup
+
+ public List<DependencyGroup> getDependencyGroups() {
if (dependencyGroups == null) {
dependencyGroups = new ArrayList<DependencyGroup>();
}
@@ -84,10 +96,12 @@
public void add(final DependencyGroup group) {
assert group != null;
- dependencyGroups().add(group);
+ getDependencyGroups().add(group);
}
- public List<Dependency> dependencies() {
+ // Dependency
+
+ public List<Dependency> getDependencies() {
if (dependencies == null) {
dependencies = new ArrayList<Dependency>();
}
@@ -95,17 +109,17 @@
return dependencies;
}
- public List<Dependency> dependencies(boolean includeGroups) {
+ public List<Dependency> getDependencies(boolean includeGroups) {
if (!includeGroups) {
- return dependencies();
+ return getDependencies();
}
List<Dependency> list = new ArrayList<Dependency>();
- list.addAll(dependencies());
+ list.addAll(getDependencies());
- for (DependencyGroup group : dependencyGroups()) {
- list.addAll(group.dependencies());
+ for (DependencyGroup group : getDependencyGroups()) {
+ list.addAll(group.getDependencies());
}
return list;
@@ -114,9 +128,59 @@
public void add(final Dependency dependency) {
assert dependency != null;
- dependencies().add(dependency);
+ getDependencies().add(dependency);
}
+ // PluginGroup
+
+ public List<PluginGroup> getPluginGroups() {
+ if (pluginGroups == null) {
+ pluginGroups = new ArrayList<PluginGroup>();
+ }
+
+ return pluginGroups;
+ }
+
+ public void add(final PluginGroup group) {
+ assert group != null;
+
+ getPluginGroups().add(group);
+ }
+
+ // Plugin
+
+ public List<Plugin> getPlugins() {
+ if (plugins == null) {
+ plugins = new ArrayList<Plugin>();
+ }
+
+ return plugins;
+ }
+
+ public List<Plugin> getPlugins(boolean includeGroups) {
+ if (!includeGroups) {
+ return getPlugins();
+ }
+
+ List<Plugin> list = new ArrayList<Plugin>();
+
+ list.addAll(getPlugins());
+
+ for (PluginGroup group : getPluginGroups()) {
+ list.addAll(group.getPlugins());
+ }
+
+ return list;
+ }
+
+ public void add(final Plugin plugin) {
+ assert plugin != null;
+
+ getPlugins().add(plugin);
+ }
+
+ // Branding
+
public Branding getBranding() {
if (branding == null) {
throw new IllegalStateException("Missing 'branding' configuration");
@@ -129,6 +193,8 @@
this.branding = branding;
}
+ // Layout
+
public Layout getLayout() {
return layout;
}
Copied: geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/Plugin.java (from r694338, geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/Dependency.java)
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/Plugin.java?p2=geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/Plugin.java&p1=geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/Dependency.java&r1=694338&r2=694633&rev=694633&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/Dependency.java (original)
+++ geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/Plugin.java Fri Sep 12 00:47:42 2008
@@ -17,29 +17,30 @@
* under the License.
*/
-package org.apache.geronimo.gshell.model.common;
+package org.apache.geronimo.gshell.model.application;
import com.thoughtworks.xstream.annotations.XStreamAlias;
+import org.apache.geronimo.gshell.model.common.Artifact;
/**
- * Dependency artifact configuration.
+ * Plugin artifact configuration.
*
* @version $Rev$ $Date$
*/
-@XStreamAlias("dependency")
-public class Dependency
- extends DependencySupport
+@XStreamAlias("plugin")
+public class Plugin
+ extends Artifact
{
public static final String DEFAULT_TYPE = "jar";
- private transient DependencyGroup dependencyGroup;
+ private transient PluginGroup pluginGroup;
- public DependencyGroup getDependencyGroup() {
- return dependencyGroup;
+ public PluginGroup getPluginGroup() {
+ return pluginGroup;
}
- public void setDependencyGroup(final DependencyGroup group) {
- this.dependencyGroup = group;
+ public void setPluginGroup(final PluginGroup group) {
+ this.pluginGroup = group;
}
// Return configuration detals from the group if not directly configured
@@ -48,8 +49,8 @@
public String getGroupId() {
String tmp = super.getGroupId();
- if (tmp == null && dependencyGroup != null) {
- tmp = dependencyGroup.getGroupId();
+ if (tmp == null && pluginGroup != null) {
+ tmp = pluginGroup.getGroupId();
}
return tmp;
@@ -59,8 +60,8 @@
public String getArtifactId() {
String tmp = super.getArtifactId();
- if (tmp == null && dependencyGroup != null) {
- tmp = dependencyGroup.getArtifactId();
+ if (tmp == null && pluginGroup != null) {
+ tmp = pluginGroup.getArtifactId();
}
return tmp;
@@ -70,8 +71,8 @@
public String getClassifier() {
String tmp = super.getClassifier();
- if (tmp == null && dependencyGroup != null) {
- tmp = dependencyGroup.getClassifier();
+ if (tmp == null && pluginGroup != null) {
+ tmp = pluginGroup.getClassifier();
}
return tmp;
@@ -81,8 +82,8 @@
public String getType() {
String tmp = super.getType();
- if (tmp == null && dependencyGroup != null) {
- tmp = dependencyGroup.getType();
+ if (tmp == null && pluginGroup != null) {
+ tmp = pluginGroup.getType();
}
if (tmp == null) {
@@ -96,8 +97,8 @@
public String getVersion() {
String tmp = super.getVersion();
- if (tmp == null && dependencyGroup != null) {
- tmp = dependencyGroup.getVersion();
+ if (tmp == null && pluginGroup != null) {
+ tmp = pluginGroup.getVersion();
}
return tmp;
Propchange: geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/Plugin.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/Plugin.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/Plugin.java
------------------------------------------------------------------------------
svn:mergeinfo =
Propchange: geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/Plugin.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Copied: geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/PluginGroup.java (from r694338, geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/DependencyGroup.java)
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/PluginGroup.java?p2=geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/PluginGroup.java&p1=geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/DependencyGroup.java&r1=694338&r2=694633&rev=694633&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/DependencyGroup.java (original)
+++ geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/PluginGroup.java Fri Sep 12 00:47:42 2008
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.geronimo.gshell.model.common;
+package org.apache.geronimo.gshell.model.application;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamImplicit;
@@ -25,38 +25,40 @@
import java.util.ArrayList;
import java.util.List;
+import org.apache.geronimo.gshell.model.common.Artifact;
+
/**
- * Groups dependency elements to allow artifact configuration to be shared.
+ * Groups plugin elements to allow artifact configuration to be shared.
*
* @version $Rev$ $Date$
*/
-@XStreamAlias("dependencyGroup")
-public class DependencyGroup
- extends DependencySupport
+@XStreamAlias("pluginGroup")
+public class PluginGroup
+ extends Artifact
{
@XStreamImplicit
- private List<Dependency> dependencies;
+ private List<Plugin> plugins;
- public List<Dependency> dependencies() {
- if (dependencies == null) {
- dependencies = new ArrayList<Dependency>();
+ public List<Plugin> getPlugins() {
+ if (plugins == null) {
+ plugins = new ArrayList<Plugin>();
}
- return dependencies;
+ return plugins;
}
-
- public void add(final Dependency dependency) {
- assert dependency != null;
- dependencies().add(dependency);
+ public void add(final Plugin plugin) {
+ assert plugin != null;
+
+ getPlugins().add(plugin);
}
public int size() {
- return dependencies().size();
+ return getPlugins().size();
}
-
+
public boolean isEmpty() {
- return dependencies().isEmpty();
+ return getPlugins().isEmpty();
}
/**
@@ -65,8 +67,8 @@
@SuppressWarnings({"UnusedDeclaration"})
private Object readResolve() {
if (!isEmpty()) {
- for (Dependency child : dependencies()) {
- child.setDependencyGroup(this);
+ for (Plugin child : getPlugins()) {
+ child.setPluginGroup(this);
}
}
Propchange: geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/PluginGroup.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/PluginGroup.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/PluginGroup.java
------------------------------------------------------------------------------
svn:mergeinfo =
Propchange: geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/PluginGroup.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Copied: geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/Artifact.java (from r694338, geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/DependencySupport.java)
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/Artifact.java?p2=geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/Artifact.java&p1=geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/DependencySupport.java&r1=694338&r2=694633&rev=694633&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/DependencySupport.java (original)
+++ geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/Artifact.java Fri Sep 12 00:47:42 2008
@@ -22,11 +22,11 @@
import org.apache.geronimo.gshell.model.Element;
/**
- * Support for {@link Dependency} and {@link DependencyGroup} elements.
+ * Defines an artifact (groupId, artifactId, version, etc).
*
* @version $Rev$ $Date$
*/
-public abstract class DependencySupport
+public abstract class Artifact
extends Element
{
private String groupId;
Propchange: geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/Artifact.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/Artifact.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/Artifact.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/Dependency.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/Dependency.java?rev=694633&r1=694632&r2=694633&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/Dependency.java (original)
+++ geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/Dependency.java Fri Sep 12 00:47:42 2008
@@ -28,7 +28,7 @@
*/
@XStreamAlias("dependency")
public class Dependency
- extends DependencySupport
+ extends Artifact
{
public static final String DEFAULT_TYPE = "jar";
Modified: geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/DependencyGroup.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/DependencyGroup.java?rev=694633&r1=694632&r2=694633&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/DependencyGroup.java (original)
+++ geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/DependencyGroup.java Fri Sep 12 00:47:42 2008
@@ -32,12 +32,12 @@
*/
@XStreamAlias("dependencyGroup")
public class DependencyGroup
- extends DependencySupport
+ extends Artifact
{
@XStreamImplicit
private List<Dependency> dependencies;
- public List<Dependency> dependencies() {
+ public List<Dependency> getDependencies() {
if (dependencies == null) {
dependencies = new ArrayList<Dependency>();
}
@@ -48,15 +48,15 @@
public void add(final Dependency dependency) {
assert dependency != null;
- dependencies().add(dependency);
+ getDependencies().add(dependency);
}
public int size() {
- return dependencies().size();
+ return getDependencies().size();
}
public boolean isEmpty() {
- return dependencies().isEmpty();
+ return getDependencies().isEmpty();
}
/**
@@ -65,7 +65,7 @@
@SuppressWarnings({"UnusedDeclaration"})
private Object readResolve() {
if (!isEmpty()) {
- for (Dependency child : dependencies()) {
+ for (Dependency child : getDependencies()) {
child.setDependencyGroup(this);
}
}
Modified: geronimo/gshell/trunk/gshell-model/src/test/java/org/apache/geronimo/gshell/model/application/ApplicationMarshallerTest.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-model/src/test/java/org/apache/geronimo/gshell/model/application/ApplicationMarshallerTest.java?rev=694633&r1=694632&r2=694633&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-model/src/test/java/org/apache/geronimo/gshell/model/application/ApplicationMarshallerTest.java (original)
+++ geronimo/gshell/trunk/gshell-model/src/test/java/org/apache/geronimo/gshell/model/application/ApplicationMarshallerTest.java Fri Sep 12 00:47:42 2008
@@ -86,7 +86,7 @@
ApplicationModel root = marshaller.unmarshal(input);
- root.dependencies(true);
+ root.getDependencies(true);
System.out.println(root);
}
@@ -96,7 +96,7 @@
ApplicationModel root = marshaller.unmarshal(url);
- root.dependencies(true);
+ root.getDependencies(true);
System.out.println(root);
}
Modified: geronimo/gshell/trunk/gshell-model/src/test/resources/org/apache/geronimo/gshell/model/application/application1.xml
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-model/src/test/resources/org/apache/geronimo/gshell/model/application/application1.xml?rev=694633&r1=694632&r2=694633&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-model/src/test/resources/org/apache/geronimo/gshell/model/application/application1.xml (original)
+++ geronimo/gshell/trunk/gshell-model/src/test/resources/org/apache/geronimo/gshell/model/application/application1.xml Fri Sep 12 00:47:42 2008
@@ -42,13 +42,13 @@
</remoteRepositories>
<!--
- <dependencies>
+ <getDependencies>
<dependency>
<groupId>a</groupId>
<artifactId>b</artifactId>
<version>c</version>
</dependency>
- </dependencies>
+ </getDependencies>
-->
<dependencyGroups>
Modified: geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/application/ApplicationManagerImpl.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/application/ApplicationManagerImpl.java?rev=694633&r1=694632&r2=694633&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/application/ApplicationManagerImpl.java (original)
+++ geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/application/ApplicationManagerImpl.java Fri Sep 12 00:47:42 2008
@@ -19,8 +19,8 @@
package org.apache.geronimo.gshell.wisdom.application;
-import org.apache.geronimo.gshell.application.ApplicationConfiguration;
import org.apache.geronimo.gshell.application.Application;
+import org.apache.geronimo.gshell.application.ApplicationConfiguration;
import org.apache.geronimo.gshell.application.ApplicationManager;
import org.apache.geronimo.gshell.application.ApplicationSecurityManager;
import org.apache.geronimo.gshell.application.settings.SettingsManager;
@@ -43,9 +43,9 @@
import org.apache.maven.artifact.factory.ArtifactFactory;
import org.apache.maven.artifact.resolver.ArtifactResolutionRequest;
import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
+import org.apache.maven.artifact.resolver.filter.AndArtifactFilter;
import org.apache.maven.artifact.resolver.filter.ExclusionSetFilter;
import org.apache.maven.artifact.resolver.filter.ScopeArtifactFilter;
-import org.apache.maven.artifact.resolver.filter.AndArtifactFilter;
import org.codehaus.plexus.interpolation.PropertiesBasedValueSource;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -77,13 +77,13 @@
@Autowired
private SettingsManager settingsManager;
-
- private Application application;
-
+
private BeanContainer container;
private BeanContainer applicationContainer;
+ private Application application;
+
public void setBeanContainer(final BeanContainer container) {
assert container != null;
@@ -182,7 +182,7 @@
}
// Setup remote repositories
- for (RemoteRepository repo : applicationModel.remoteRepositories()) {
+ for (RemoteRepository repo : applicationModel.getRemoteRepositories()) {
artifactManager.getRepositoryManager().addRemoteRepository(repo.getId(), repo.getLocationUri());
}
}
@@ -194,7 +194,7 @@
List<URL> classPath = createClassPath(applicationModel);
- BeanContainer child = container.createChild(applicationModel.getId(), classPath);
+ BeanContainer child = container.createChild("application[" + applicationModel.getId() + "]", classPath);
log.debug("Application container: {}", child);
@@ -263,7 +263,7 @@
request.setFilter(filter);
Set<Artifact> artifacts = new LinkedHashSet<Artifact>();
- List<Dependency> dependencies = applicationModel.dependencies(true); // include groups
+ List<Dependency> dependencies = applicationModel.getDependencies(true); // include groups
if (!dependencies.isEmpty()) {
ArtifactFactory factory = artifactManager.getArtifactFactory();
Modified: geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/resources/META-INF/spring/components.xml
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/resources/META-INF/spring/components.xml?rev=694633&r1=694632&r2=694633&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/resources/META-INF/spring/components.xml (original)
+++ geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/resources/META-INF/spring/components.xml Fri Sep 12 00:47:42 2008
@@ -28,9 +28,9 @@
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd">
<context:annotation-config/>
-
- <bean id="applicationManager" class="org.apache.geronimo.gshell.wisdom.application.ApplicationManagerImpl"/>
<bean id="settingsManager" class="org.apache.geronimo.gshell.wisdom.application.SettingsManagerImpl"/>
+ <bean id="applicationManager" class="org.apache.geronimo.gshell.wisdom.application.ApplicationManagerImpl"/>
+
</beans>
\ No newline at end of file
Copied: geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/PluginManagerImpl.java (from r694356, geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/application/SettingsManagerImpl.java)
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/PluginManagerImpl.java?p2=geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/PluginManagerImpl.java&p1=geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/application/SettingsManagerImpl.java&r1=694356&r2=694633&rev=694633&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/application/SettingsManagerImpl.java (original)
+++ geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/PluginManagerImpl.java Fri Sep 12 00:47:42 2008
@@ -17,115 +17,165 @@
* under the License.
*/
-package org.apache.geronimo.gshell.wisdom.application;
+package org.apache.geronimo.gshell.wisdom.plugin;
-import org.apache.geronimo.gshell.application.settings.SettingsConfiguration;
-import org.apache.geronimo.gshell.application.settings.SettingsManager;
-import org.apache.geronimo.gshell.application.settings.Settings;
-import org.apache.geronimo.gshell.artifact.ArtifactManager;
-import org.apache.geronimo.gshell.model.common.RemoteRepository;
-import org.apache.geronimo.gshell.model.interpolate.Interpolator;
-import org.apache.geronimo.gshell.model.interpolate.InterpolatorSupport;
-import org.apache.geronimo.gshell.model.settings.SettingsModel;
import org.apache.geronimo.gshell.spring.BeanContainerAware;
import org.apache.geronimo.gshell.spring.BeanContainer;
-import org.apache.geronimo.gshell.wisdom.application.event.SettingsConfiguredEvent;
-import org.codehaus.plexus.interpolation.PropertiesBasedValueSource;
-import org.slf4j.Logger;
+import org.apache.geronimo.gshell.application.plugin.PluginManager;
+import org.apache.geronimo.gshell.application.Application;
+import org.apache.geronimo.gshell.artifact.ArtifactManager;
+import org.apache.geronimo.gshell.wisdom.application.event.ApplicationConfiguredEvent;
+import org.apache.geronimo.gshell.wisdom.plugin.event.PluginLoadedEvent;
+import org.apache.geronimo.gshell.model.application.Plugin;
+import org.apache.maven.artifact.resolver.ArtifactResolutionRequest;
+import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
+import org.apache.maven.artifact.resolver.filter.AndArtifactFilter;
+import org.apache.maven.artifact.resolver.filter.ScopeArtifactFilter;
+import org.apache.maven.artifact.resolver.filter.ExclusionSetFilter;
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.factory.ArtifactFactory;
import org.slf4j.LoggerFactory;
+import org.slf4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.ApplicationListener;
+import org.springframework.context.ApplicationEvent;
+
+import java.util.List;
+import java.util.Set;
+import java.util.LinkedHashSet;
+import java.util.LinkedList;
+import java.net.URL;
+import java.io.File;
/**
- * Default implementation of the {@link SettingsManager} component.
+ * Default implementation of the {@link PluginManager} component.
*
* @version $Rev$ $Date$
*/
-public class SettingsManagerImpl
- implements SettingsManager, BeanContainerAware
+public class PluginManagerImpl
+ implements PluginManager, BeanContainerAware, ApplicationListener
{
private final Logger log = LoggerFactory.getLogger(getClass());
@Autowired
private ArtifactManager artifactManager;
- private SettingsConfiguration settingsConfiguration;
-
- private Settings settings;
-
private BeanContainer container;
public void setBeanContainer(final BeanContainer container) {
assert container != null;
+ System.out.println("Setting bean container: " + container);
+
this.container = container;
}
- public Settings getSettings() {
- if (settings == null) {
- throw new IllegalStateException("Not configured");
- }
+ public void onApplicationEvent(final ApplicationEvent event) {
+ assert event != null;
- return settings;
- }
+ if (event instanceof ApplicationConfiguredEvent) {
+ ApplicationConfiguredEvent targetEvent = (ApplicationConfiguredEvent)event;
- public void configure(final SettingsConfiguration config) throws Exception {
- assert config != null;
+ loadPlugins(targetEvent.getApplication());
+ }
+ }
- log.trace("Configuring; config: {}", config);
+ private void loadPlugins(final Application application) {
+ assert application != null;
- // Validate the configuration
- config.validate();
+ log.debug("Loading plugins for application: {}", application.getModel().getId());
- if (config.getModel() != null) {
- // Interpolate the model
- interpolate(config);
+ List<Plugin> plugins = application.getModel().getPlugins(true);
- // Configure settings
- configure(config.getModel());
+ for (Plugin plugin : plugins) {
+ try {
+ loadPlugin(plugin);
+ }
+ catch (Exception e) {
+ log.error("Failed to load plugin: " + plugin, e);
+ }
}
+ }
- // TODO: Merge in some default settings or something?
+ private void loadPlugin(final Plugin plugin) throws Exception {
+ assert plugin != null;
- settingsConfiguration = config;
+ log.debug("Loading plugin: {}", plugin);
- settings = new Settings()
- {
- public SettingsModel getModel() {
- return settingsConfiguration.getModel();
- }
- };
+ List<URL> classPath = createClassPath(plugin);
- log.debug("Settings configured");
+ BeanContainer pluginContainer = container.createChild("plugin[" + plugin + "]", classPath);
- container.publish(new SettingsConfiguredEvent(this));
+ pluginContainer.publish(new PluginLoadedEvent(this, plugin));
}
- private void interpolate(final SettingsConfiguration config) throws Exception {
- assert config != null;
-
- SettingsModel model = config.getModel();
- Interpolator<SettingsModel> interp = new InterpolatorSupport<SettingsModel>();
+ private List<URL> createClassPath(final Plugin plugin) throws Exception {
+ assert plugin != null;
- // Add value sources to resolve muck
- interp.addValueSource(new PropertiesBasedValueSource(System.getProperties()));
- interp.addValueSource(new PropertiesBasedValueSource(model.getProperties()));
+ ArtifactResolutionRequest request = new ArtifactResolutionRequest();
- model = interp.interpolate(model);
+ AndArtifactFilter filter = new AndArtifactFilter();
- // Update the configuration with the new model
- config.setModel(model);
- }
+ filter.add(new ScopeArtifactFilter(Artifact.SCOPE_RUNTIME));
- private void configure(final SettingsModel settingsModel) throws Exception {
- assert settingsModel != null;
+ filter.add(new ExclusionSetFilter(new String[] {
+ "aopalliance",
+ "geronimo-annotation_1.0_spec",
+ "gshell-ansi",
+ "gshell-api",
+ "gshell-application",
+ "gshell-clp",
+ "gshell-i18n",
+ "gshell-io",
+ "gshell-model",
+ "gshell-spring",
+ "gshell-yarn",
+ "gshell-interpolation",
+ "gshell-layout",
+ "jcl104-over-slf4j",
+ "jline",
+ "plexus-classworlds",
+ "slf4j-api",
+ "spring-core",
+ "spring-context",
+ "spring-beans",
+ "xpp3_min",
+ "xstream",
+ }));
+
+ request.setFilter(filter);
+
+ Set<Artifact> artifacts = new LinkedHashSet<Artifact>();
+ ArtifactFactory factory = artifactManager.getArtifactFactory();
+
+ Artifact pluginArtifact = factory.createArtifact(plugin.getGroupId(), plugin.getArtifactId(), plugin.getVersion(), null, plugin.getType());
+ assert pluginArtifact != null;
+
+ log.debug("Plugin artifact: {}", pluginArtifact);
+
+ artifacts.add(pluginArtifact);
+
+ request.setArtifactDependencies(artifacts);
+
+ ArtifactResolutionResult result = artifactManager.resolve(request);
+
+ List<URL> classPath = new LinkedList<URL>();
+ Set<Artifact> resolvedArtifacts = result.getArtifacts();
+
+ if (resolvedArtifacts != null && !resolvedArtifacts.isEmpty()) {
+ log.debug("Plugin classpath:");
+
+ for (Artifact artifact : resolvedArtifacts) {
+ File file = artifact.getFile();
+ assert file != null;
- // TODO: Add settings interpolation here
+ URL url = file.toURI().toURL();
+ log.debug(" + {}", url);
- // Setup remote repositories
- for (RemoteRepository repo : settingsModel.remoteRepositories()) {
- artifactManager.getRepositoryManager().addRemoteRepository(repo.getId(), repo.getLocationUri());
+ classPath.add(url);
+ }
}
- // TODO: apply other artifact related settings (proxy, auth, whatever)
+ return classPath;
}
}
\ No newline at end of file
Propchange: geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/PluginManagerImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/PluginManagerImpl.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/PluginManagerImpl.java
------------------------------------------------------------------------------
svn:mergeinfo =
Propchange: geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/PluginManagerImpl.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Copied: geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/event/PluginLoadedEvent.java (from r694356, geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/application/event/ShellCreatedEvent.java)
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/event/PluginLoadedEvent.java?p2=geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/event/PluginLoadedEvent.java&p1=geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/application/event/ShellCreatedEvent.java&r1=694356&r2=694633&rev=694633&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/application/event/ShellCreatedEvent.java (original)
+++ geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/event/PluginLoadedEvent.java Fri Sep 12 00:47:42 2008
@@ -17,24 +17,33 @@
* under the License.
*/
-package org.apache.geronimo.gshell.wisdom.application.event;
+package org.apache.geronimo.gshell.wisdom.plugin.event;
-import org.apache.geronimo.gshell.shell.Shell;
import org.springframework.context.ApplicationEvent;
+import org.apache.geronimo.gshell.application.plugin.PluginManager;
+import org.apache.geronimo.gshell.model.application.Plugin;
/**
- * Event fired once the application has constructed a shell.
- *
+ * Event fire once a plugin has been loaded.
+ *
* @version $Rev$ $Date$
*/
-public class ShellCreatedEvent
+public class PluginLoadedEvent
extends ApplicationEvent
{
- public ShellCreatedEvent(final Shell source) {
+ private Plugin plugin;
+
+ public PluginLoadedEvent(final PluginManager source, final Plugin plugin) {
super(source);
+
+ this.plugin = plugin;
+ }
+
+ public PluginManager getPluginManager() {
+ return (PluginManager)getSource();
}
- public Shell getShell() {
- return (Shell) getSource();
+ public Plugin getPlugin() {
+ return plugin;
}
}
\ No newline at end of file
Propchange: geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/event/PluginLoadedEvent.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/event/PluginLoadedEvent.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/event/PluginLoadedEvent.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/event/PluginLoadedEvent.java
------------------------------------------------------------------------------
svn:mergeinfo =
Propchange: geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/event/PluginLoadedEvent.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/resources/META-INF/spring/components.xml
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/resources/META-INF/spring/components.xml?rev=694633&r1=694632&r2=694633&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/resources/META-INF/spring/components.xml (original)
+++ geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/resources/META-INF/spring/components.xml Fri Sep 12 00:47:42 2008
@@ -28,6 +28,8 @@
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd">
<context:annotation-config/>
+
+ <bean id="pluginManager" class="org.apache.geronimo.gshell.wisdom.plugin.PluginManagerImpl"/>
<bean id="commandContainerFactory" class="org.apache.geronimo.gshell.wisdom.command.CommandContainerFactoryImpl"/>