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/17 13:07:04 UTC
svn commit: r705559 - in /geronimo/gshell/trunk:
gshell-application/src/main/java/org/apache/geronimo/gshell/application/
gshell-assembly/src/main/underlay/etc/
gshell-cli/src/main/java/org/apache/geronimo/gshell/cli/
gshell-cli/src/main/resources/org/...
Author: jdillon
Date: Fri Oct 17 04:07:03 2008
New Revision: 705559
URL: http://svn.apache.org/viewvc?rev=705559&view=rev
Log:
Removed the need for XStream on the boot classpath, using spring xml for application configuration
Added:
geronimo/gshell/trunk/gshell-support/gshell-ivy/src/main/java/org/apache/geronimo/gshell/ivy/ArtifactResolver.java (with props)
Removed:
geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/ApplicationModelLocator.java
geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/ApplicationModelMarshaller.java
geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/interpolate/
geronimo/gshell/trunk/gshell-model/src/test/java/
geronimo/gshell/trunk/gshell-model/src/test/resources/log4j.xml
geronimo/gshell/trunk/gshell-model/src/test/resources/org/
Modified:
geronimo/gshell/trunk/gshell-assembly/src/main/underlay/etc/application.xml
geronimo/gshell/trunk/gshell-cli/src/main/java/org/apache/geronimo/gshell/cli/Main.java
geronimo/gshell/trunk/gshell-cli/src/main/resources/org/apache/geronimo/gshell/cli/Main.properties
geronimo/gshell/trunk/gshell-model/pom.xml
geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/Model.java
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/application/Branding.java
geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/DependencyArtifact.java
geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/DependencyGroup.java
geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/PluginArtifact.java
geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/PluginGroup.java
geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/Artifact.java
geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/LocalRepository.java
geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/RemoteRepository.java
geronimo/gshell/trunk/gshell-support/gshell-ivy/src/test/java/org/apache/geronimo/gshell/ivy/IvyTest.java
geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/pom.xml
geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/application/ApplicationArtifactFilter.java
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/java/org/apache/geronimo/gshell/wisdom/application/ClassPathImpl.java
geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/builder/ShellBuilder.java
geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/builder/ShellBuilderImpl.java
geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/pom.xml
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=705559&r1=705558&r2=705559&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 Oct 17 04:07:03 2008
@@ -20,96 +20,74 @@
<!-- $Rev$ $Date$ -->
-<application>
-
- <!--
- TODO: Consider making application.xml a spring beans file, with a custom 'application' (and 'settings' for settings.xml) namespace.
- Will need a way to install application specific beans and config which is not in a plugin anyways.
- And, we can drop the need for XStream and some of the bits from gshell-model
- -->
-
- <groupId>org.apache.geronimo.gshell</groupId>
- <artifactId>gshell</artifactId>
- <name>GShell</name>
- <version>1.0-alpha-2-SNAPSHOT</version>
-
- <localRepository>
- <directory>${gshell.home}/var/repository</directory>
- </localRepository>
-
- <remoteRepositories>
- <remoteRepository>
- <id>cache</id>
- <location>file:${user.home}/.m2/repository</location>
- </remoteRepository>
-
- <!--
- <remoteRepository>
- <id>central</id>
- <location>http://repo1.maven.org/maven2</location>
- </remoteRepository>
- -->
- </remoteRepositories>
-
- <dependencyGroups>
- <dependencyGroup>
- <version>1.0-alpha-2-SNAPSHOT</version>
-
- <dependency>
- <groupId>org.apache.geronimo.gshell.wisdom</groupId>
- <artifactId>gshell-wisdom-core</artifactId>
- </dependency>
-
- <dependency>
- <groupId>org.apache.geronimo.gshell.support</groupId>
- <artifactId>gshell-vfs-local</artifactId>
- </dependency>
-
- <dependency>
- <groupId>org.apache.geronimo.gshell.support</groupId>
- <artifactId>gshell-vfs-truezip</artifactId>
- </dependency>
- </dependencyGroup>
- </dependencyGroups>
-
- <pluginGroups>
- <pluginGroup>
- <groupId>org.apache.geronimo.gshell.commands</groupId>
- <version>1.0-alpha-2-SNAPSHOT</version>
-
- <plugin>
- <artifactId>gshell-builtins</artifactId>
- </plugin>
-
- <plugin>
- <artifactId>gshell-admin</artifactId>
- </plugin>
-
- <plugin>
- <artifactId>gshell-log4j</artifactId>
- </plugin>
-
- <plugin>
- <artifactId>gshell-vfs</artifactId>
- </plugin>
- <plugin>
- <artifactId>gshell-remote</artifactId>
- </plugin>
-
- <plugin>
- <artifactId>gshell-optional</artifactId>
- </plugin>
-
- <plugin>
- <artifactId>gshell-repository</artifactId>
- </plugin>
-
- <plugin>
- <artifactId>gshell-bsf</artifactId>
- </plugin>
- </pluginGroup>
- </pluginGroups>
-
- <branding class="org.apache.geronimo.gshell.wisdom.branding.GShellBranding"/>
-
-</application>
\ No newline at end of file
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+ <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>
+
+ <bean class="org.apache.geronimo.gshell.model.application.ApplicationModel">
+ <property name="groupId" value="org.apache.geronimo.gshell"/>
+ <property name="artifactId" value="gshell"/>
+ <property name="name" value="GShell"/>
+ <property name="version" value="1.0-alpha-2-SNAPSHOT"/>
+
+ <property name="localRepository">
+ <bean class="org.apache.geronimo.gshell.model.common.LocalRepository">
+ <property name="directory" value="${gshell.home}/var/repository"/>
+ </bean>
+ </property>
+
+ <property name="remoteRepositories">
+ <list>
+ <bean class="org.apache.geronimo.gshell.model.common.RemoteRepository">
+ <property name="id" value="cache"/>
+ <property name="location" value="file:${user.home}/.m2/repository"/>
+ </bean>
+ </list>
+ </property>
+
+ <property name="branding">
+ <bean class="org.apache.geronimo.gshell.wisdom.branding.GShellBranding"/>
+ </property>
+
+ <property name="dependencies">
+ <list>
+ <bean class="org.apache.geronimo.gshell.model.application.DependencyArtifact">
+ <property name="groupId" value="org.apache.geronimo.gshell.wisdom"/>
+ <property name="artifactId" value="gshell-wisdom-core"/>
+ <property name="version" value="1.0-alpha-2-SNAPSHOT"/>
+ </bean>
+
+ <bean class="org.apache.geronimo.gshell.model.application.DependencyArtifact">
+ <property name="groupId" value="org.apache.geronimo.gshell.support"/>
+ <property name="artifactId" value="gshell-vfs-local"/>
+ <property name="version" value="1.0-alpha-2-SNAPSHOT"/>
+ </bean>
+
+ <bean class="org.apache.geronimo.gshell.model.application.DependencyArtifact">
+ <property name="groupId" value="org.apache.geronimo.gshell.support"/>
+ <property name="artifactId" value="gshell-vfs-truezip"/>
+ <property name="version" value="1.0-alpha-2-SNAPSHOT"/>
+ </bean>
+ </list>
+ </property>
+
+ <property name="plugins">
+ <list>
+ <bean class="org.apache.geronimo.gshell.model.application.PluginArtifact">
+ <property name="groupId" value="org.apache.geronimo.gshell.commands"/>
+ <property name="artifactId" value="gshell-builtins"/>
+ <property name="version" value="1.0-alpha-2-SNAPSHOT"/>
+ </bean>
+
+ <bean class="org.apache.geronimo.gshell.model.application.PluginArtifact">
+ <property name="groupId" value="org.apache.geronimo.gshell.commands"/>
+ <property name="artifactId" value="gshell-vfs"/>
+ <property name="version" value="1.0-alpha-2-SNAPSHOT"/>
+ </bean>
+ </list>
+ </property>
+ </bean>
+</beans>
\ No newline at end of file
Modified: geronimo/gshell/trunk/gshell-cli/src/main/java/org/apache/geronimo/gshell/cli/Main.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-cli/src/main/java/org/apache/geronimo/gshell/cli/Main.java?rev=705559&r1=705558&r2=705559&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-cli/src/main/java/org/apache/geronimo/gshell/cli/Main.java (original)
+++ geronimo/gshell/trunk/gshell-cli/src/main/java/org/apache/geronimo/gshell/cli/Main.java Fri Oct 17 04:07:03 2008
@@ -20,7 +20,6 @@
package org.apache.geronimo.gshell.cli;
import org.apache.geronimo.gshell.ansi.ANSI;
-import org.apache.geronimo.gshell.application.ApplicationModelLocator;
import org.apache.geronimo.gshell.clp.Argument;
import org.apache.geronimo.gshell.clp.CommandLineProcessor;
import org.apache.geronimo.gshell.clp.Option;
@@ -28,15 +27,14 @@
import org.apache.geronimo.gshell.i18n.MessageSource;
import org.apache.geronimo.gshell.i18n.ResourceBundleMessageSource;
import org.apache.geronimo.gshell.io.IO;
-import org.apache.geronimo.gshell.model.application.ApplicationModel;
import org.apache.geronimo.gshell.notification.ExitNotification;
import org.apache.geronimo.gshell.shell.Shell;
-import org.apache.geronimo.gshell.wisdom.builder.ShellBuilder;
-import org.apache.geronimo.gshell.wisdom.builder.ShellBuilderImpl;
+import org.apache.geronimo.gshell.terminal.AutoDetectedTerminal;
import org.apache.geronimo.gshell.terminal.UnixTerminal;
-import org.apache.geronimo.gshell.terminal.WindowsTerminal;
import org.apache.geronimo.gshell.terminal.UnsupportedTerminal;
-import org.apache.geronimo.gshell.terminal.AutoDetectedTerminal;
+import org.apache.geronimo.gshell.terminal.WindowsTerminal;
+import org.apache.geronimo.gshell.wisdom.builder.ShellBuilder;
+import org.apache.geronimo.gshell.wisdom.builder.ShellBuilderImpl;
import java.util.List;
import java.util.concurrent.atomic.AtomicReference;
@@ -80,11 +78,6 @@
System.setProperty("gshell.log.console.level", level);
}
- /*
- @Option(name="-a", aliases={"--application"})
- private String applicationDescriptor;
- */
-
@Option(name="-e", aliases={"--exception"})
private void setException(boolean flag) {
if (flag) {
@@ -209,20 +202,15 @@
builder.setClassLoader(getClass().getClassLoader());
builder.setIo(io);
- // Find our application descriptor
- ApplicationModel applicationModel = new ApplicationModelLocator().
- /*addLocation(applicationDescriptor).*/locate();
- builder.setApplicationModel(applicationModel);
-
// --help and --version need access to the application's information, so we have to handle these options late
if (help|version) {
if (help) {
Printer printer = new Printer(clp);
printer.setMessageSource(messages);
- printer.printUsage(io.out, applicationModel.getBranding().getProgramName());
+ printer.printUsage(io.out, "FIXME"/*applicationModel.getBranding().getProgramName()*/);
}
else if (version) {
- io.out.println(applicationModel.getVersion());
+ io.out.println("FIXME"/*applicationModel.getVersion()*/);
io.out.println();
}
Modified: geronimo/gshell/trunk/gshell-cli/src/main/resources/org/apache/geronimo/gshell/cli/Main.properties
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-cli/src/main/resources/org/apache/geronimo/gshell/cli/Main.properties?rev=705559&r1=705558&r2=705559&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-cli/src/main/resources/org/apache/geronimo/gshell/cli/Main.properties (original)
+++ geronimo/gshell/trunk/gshell-cli/src/main/resources/org/apache/geronimo/gshell/cli/Main.properties Fri Oct 17 04:07:03 2008
@@ -27,12 +27,6 @@
option.interactive=Run in interactive mode
-option.applicationDescriptor=Application descriptor
-option.applicationDescriptor.token=FILE
-
-option.settingsDescriptor=Settings descriptor
-option.settingsDescriptor.token=FILE
-
option.setException=Enable exception stack traces
option.setDebug=Enable DEBUG output
Modified: geronimo/gshell/trunk/gshell-model/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-model/pom.xml?rev=705559&r1=705558&r2=705559&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-model/pom.xml (original)
+++ geronimo/gshell/trunk/gshell-model/pom.xml Fri Oct 17 04:07:03 2008
@@ -34,7 +34,7 @@
<name>GShell Model</name>
<description>
- GShell XML models.
+ GShell models.
</description>
<dependencies>
@@ -42,34 +42,10 @@
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
-
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.geronimo.gshell.support</groupId>
- <artifactId>gshell-yarn</artifactId>
- </dependency>
-
- <dependency>
- <groupId>org.apache.geronimo.gshell.support</groupId>
- <artifactId>gshell-interpolation</artifactId>
- </dependency>
<dependency>
<groupId>org.apache.geronimo.gshell.support</groupId>
- <artifactId>gshell-marshal</artifactId>
- </dependency>
-
- <!--
- NOTE: Used for StringUtils.capitalise() only.
- -->
- <dependency>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-utils</artifactId>
+ <artifactId>gshell-yarn</artifactId>
</dependency>
</dependencies>
Modified: geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/Model.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/Model.java?rev=705559&r1=705558&r2=705559&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/Model.java (original)
+++ geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/Model.java Fri Oct 17 04:07:03 2008
@@ -19,9 +19,6 @@
package org.apache.geronimo.gshell.model;
-import org.apache.geronimo.gshell.marshal.Marshaller;
-import org.apache.geronimo.gshell.marshal.MarshallerAware;
-
/**
* Base class for root model elements.
*
@@ -29,9 +26,9 @@
*/
public abstract class Model
extends Element
- implements MarshallerAware
+ // implements MarshallerAware
{
- private transient Marshaller marshaller;
+ // private transient Marshaller marshaller;
/*
@XStreamAlias("version")
@@ -39,6 +36,7 @@
private String modelVersion;
*/
+ /*
public Marshaller getMarshaller() {
if (marshaller == null) {
throw new IllegalStateException("Marshaller is not bound");
@@ -50,6 +48,7 @@
public void setMarshaller(final Marshaller marshaller) {
this.marshaller = marshaller;
}
+ */
/*
public String getModelVersion() {
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=705559&r1=705558&r2=705559&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 Oct 17 04:07:03 2008
@@ -19,7 +19,6 @@
package org.apache.geronimo.gshell.model.application;
-import com.thoughtworks.xstream.annotations.XStreamAlias;
import org.apache.geronimo.gshell.model.common.DescriptorSupport;
import org.apache.geronimo.gshell.model.common.LocalRepository;
import org.apache.geronimo.gshell.model.common.RemoteRepository;
@@ -32,7 +31,6 @@
*
* @version $Rev$ $Date$
*/
-@XStreamAlias("application")
public class ApplicationModel
extends DescriptorSupport
{
@@ -70,6 +68,10 @@
return remoteRepositories;
}
+ public void setRemoteRepositories(final List<RemoteRepository> repositories) {
+ this.remoteRepositories = repositories;
+ }
+
public void add(final RemoteRepository repository) {
assert repository != null;
@@ -102,6 +104,10 @@
return dependencies;
}
+ public void setDependencies(final List<DependencyArtifact> dependencies) {
+ this.dependencies = dependencies;
+ }
+
public List<DependencyArtifact> getDependencies(boolean includeGroups) {
if (!includeGroups) {
return getDependencies();
@@ -150,6 +156,10 @@
return plugins;
}
+ public void setPlugins(final List<PluginArtifact> plugins) {
+ this.plugins = plugins;
+ }
+
public List<PluginArtifact> getPlugins(boolean includeGroups) {
if (!includeGroups) {
return getPlugins();
Modified: geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/Branding.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/Branding.java?rev=705559&r1=705558&r2=705559&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/Branding.java (original)
+++ geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/Branding.java Fri Oct 17 04:07:03 2008
@@ -19,9 +19,7 @@
package org.apache.geronimo.gshell.model.application;
-import com.thoughtworks.xstream.annotations.XStreamAlias;
import org.apache.geronimo.gshell.model.Element;
-import org.codehaus.plexus.util.StringUtils;
import java.io.File;
import java.util.Properties;
@@ -31,7 +29,6 @@
*
* @version $Rev$ $Date$
*/
-@XStreamAlias("branding")
public class Branding
extends Element
{
@@ -93,12 +90,27 @@
public String getDisplayName() {
if (displayName == null) {
- return StringUtils.capitalise(getName());
+ return capitalise(getName());
}
return displayName;
}
+ private static String capitalise(final String str) {
+ if (str == null) {
+ return null;
+ }
+ else if (str.length() == 0) {
+ return "";
+ }
+ else {
+ return new StringBuffer(str.length())
+ .append(Character.toTitleCase(str.charAt(0)))
+ .append(str.substring(1))
+ .toString();
+ }
+ }
+
public void setDisplayName(final String displayName) {
this.displayName = displayName;
}
Modified: geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/DependencyArtifact.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/DependencyArtifact.java?rev=705559&r1=705558&r2=705559&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/DependencyArtifact.java (original)
+++ geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/DependencyArtifact.java Fri Oct 17 04:07:03 2008
@@ -19,7 +19,6 @@
package org.apache.geronimo.gshell.model.application;
-import com.thoughtworks.xstream.annotations.XStreamAlias;
import org.apache.geronimo.gshell.model.common.Artifact;
/**
@@ -27,7 +26,6 @@
*
* @version $Rev$ $Date$
*/
-@XStreamAlias("dependency")
public class DependencyArtifact
extends Artifact
{
Modified: geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/DependencyGroup.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/DependencyGroup.java?rev=705559&r1=705558&r2=705559&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/DependencyGroup.java (original)
+++ geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/DependencyGroup.java Fri Oct 17 04:07:03 2008
@@ -19,24 +19,20 @@
package org.apache.geronimo.gshell.model.application;
-import com.thoughtworks.xstream.annotations.XStreamAlias;
-import com.thoughtworks.xstream.annotations.XStreamImplicit;
+import org.apache.geronimo.gshell.model.common.ArtifactGroup;
import java.util.ArrayList;
import java.util.List;
-import org.apache.geronimo.gshell.model.common.ArtifactGroup;
-
/**
* Groups {@link DependencyArtifact} elements to allow artifact configuration to be shared.
*
* @version $Rev$ $Date$
*/
-@XStreamAlias("dependencyGroup")
public class DependencyGroup
extends ArtifactGroup<DependencyArtifact>
{
- @XStreamImplicit
+ // @XStreamImplicit
private List<DependencyArtifact> dependencies;
public List<DependencyArtifact> getArtifacts() {
Modified: geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/PluginArtifact.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/PluginArtifact.java?rev=705559&r1=705558&r2=705559&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/PluginArtifact.java (original)
+++ geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/PluginArtifact.java Fri Oct 17 04:07:03 2008
@@ -19,7 +19,6 @@
package org.apache.geronimo.gshell.model.application;
-import com.thoughtworks.xstream.annotations.XStreamAlias;
import org.apache.geronimo.gshell.model.common.Artifact;
/**
@@ -27,7 +26,6 @@
*
* @version $Rev$ $Date$
*/
-@XStreamAlias("plugin")
public class PluginArtifact
extends Artifact
{
Modified: geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/PluginGroup.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/PluginGroup.java?rev=705559&r1=705558&r2=705559&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/PluginGroup.java (original)
+++ geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/PluginGroup.java Fri Oct 17 04:07:03 2008
@@ -19,8 +19,6 @@
package org.apache.geronimo.gshell.model.application;
-import com.thoughtworks.xstream.annotations.XStreamAlias;
-import com.thoughtworks.xstream.annotations.XStreamImplicit;
import org.apache.geronimo.gshell.model.common.ArtifactGroup;
import java.util.ArrayList;
@@ -31,11 +29,10 @@
*
* @version $Rev$ $Date$
*/
-@XStreamAlias("pluginGroup")
public class PluginGroup
extends ArtifactGroup<PluginArtifact>
{
- @XStreamImplicit
+ // @XStreamImplicit
private List<PluginArtifact> plugins;
public List<PluginArtifact> getArtifacts() {
Modified: geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/Artifact.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/Artifact.java?rev=705559&r1=705558&r2=705559&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/Artifact.java (original)
+++ geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/Artifact.java Fri Oct 17 04:07:03 2008
@@ -19,20 +19,15 @@
package org.apache.geronimo.gshell.model.common;
-import com.thoughtworks.xstream.annotations.XStreamOmitField;
-import com.thoughtworks.xstream.annotations.XStreamAlias;
-
/**
* Defines an artifact (groupId, artifactId, version, etc).
*
* @version $Rev$ $Date$
*/
-@XStreamAlias("artifact")
public class Artifact
extends ArtifactSupport
{
- @XStreamOmitField
- private ArtifactGroup artifactGroup;
+ private transient ArtifactGroup artifactGroup;
public ArtifactGroup getArtifactGroup() {
return artifactGroup;
Modified: geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/LocalRepository.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/LocalRepository.java?rev=705559&r1=705558&r2=705559&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/LocalRepository.java (original)
+++ geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/LocalRepository.java Fri Oct 17 04:07:03 2008
@@ -19,7 +19,6 @@
package org.apache.geronimo.gshell.model.common;
-import com.thoughtworks.xstream.annotations.XStreamAlias;
import org.apache.geronimo.gshell.model.Element;
import java.io.File;
@@ -29,7 +28,6 @@
*
* @version $Rev$ $Date$
*/
-@XStreamAlias("localRepository")
public class LocalRepository
extends Element
{
Modified: geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/RemoteRepository.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/RemoteRepository.java?rev=705559&r1=705558&r2=705559&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/RemoteRepository.java (original)
+++ geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/RemoteRepository.java Fri Oct 17 04:07:03 2008
@@ -19,7 +19,6 @@
package org.apache.geronimo.gshell.model.common;
-import com.thoughtworks.xstream.annotations.XStreamAlias;
import org.apache.geronimo.gshell.model.Element;
import java.net.URI;
@@ -30,7 +29,6 @@
*
* @version $Rev$ $Date$
*/
-@XStreamAlias("remoteRepository")
public class RemoteRepository
extends Element
{
Added: geronimo/gshell/trunk/gshell-support/gshell-ivy/src/main/java/org/apache/geronimo/gshell/ivy/ArtifactResolver.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-support/gshell-ivy/src/main/java/org/apache/geronimo/gshell/ivy/ArtifactResolver.java?rev=705559&view=auto
==============================================================================
--- geronimo/gshell/trunk/gshell-support/gshell-ivy/src/main/java/org/apache/geronimo/gshell/ivy/ArtifactResolver.java (added)
+++ geronimo/gshell/trunk/gshell-support/gshell-ivy/src/main/java/org/apache/geronimo/gshell/ivy/ArtifactResolver.java Fri Oct 17 04:07:03 2008
@@ -0,0 +1,30 @@
+/*
+ * 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.ivy;
+
+/**
+ * ???
+ *
+ * @version $Rev$ $Date$
+ */
+public interface ArtifactResolver
+{
+
+}
\ No newline at end of file
Propchange: geronimo/gshell/trunk/gshell-support/gshell-ivy/src/main/java/org/apache/geronimo/gshell/ivy/ArtifactResolver.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/gshell/trunk/gshell-support/gshell-ivy/src/main/java/org/apache/geronimo/gshell/ivy/ArtifactResolver.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: geronimo/gshell/trunk/gshell-support/gshell-ivy/src/main/java/org/apache/geronimo/gshell/ivy/ArtifactResolver.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: geronimo/gshell/trunk/gshell-support/gshell-ivy/src/test/java/org/apache/geronimo/gshell/ivy/IvyTest.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-support/gshell-ivy/src/test/java/org/apache/geronimo/gshell/ivy/IvyTest.java?rev=705559&r1=705558&r2=705559&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-support/gshell-ivy/src/test/java/org/apache/geronimo/gshell/ivy/IvyTest.java (original)
+++ geronimo/gshell/trunk/gshell-support/gshell-ivy/src/test/java/org/apache/geronimo/gshell/ivy/IvyTest.java Fri Oct 17 04:07:03 2008
@@ -36,7 +36,6 @@
import org.apache.ivy.core.cache.ResolutionCacheManager;
import java.io.File;
-import java.util.List;
import java.net.URL;
/**
Modified: geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/pom.xml?rev=705559&r1=705558&r2=705559&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/pom.xml (original)
+++ geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/pom.xml Fri Oct 17 04:07:03 2008
@@ -64,11 +64,6 @@
</dependency>
<dependency>
- <groupId>org.apache.geronimo.gshell.support</groupId>
- <artifactId>gshell-marshal</artifactId>
- </dependency>
-
- <dependency>
<groupId>org.apache.geronimo.gshell</groupId>
<artifactId>gshell-api</artifactId>
</dependency>
Modified: geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/application/ApplicationArtifactFilter.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/application/ApplicationArtifactFilter.java?rev=705559&r1=705558&r2=705559&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/application/ApplicationArtifactFilter.java (original)
+++ geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/application/ApplicationArtifactFilter.java Fri Oct 17 04:07:03 2008
@@ -62,10 +62,8 @@
"gshell-spring",
"gshell-wisdom-bootstrap",
"gshell-yarn",
- "gshell-interpolation",
"jcl104-over-slf4j",
"gshell-terminal",
- "gshell-marshal",
"jline",
"log4j",
"maven-artifact",
@@ -89,8 +87,7 @@
"wagon-http-lightweight",
"wagon-http-shared",
"wagon-provider-api",
- "xbean-reflect",
- "xstream",
+ "xbean-reflect"
}));
return filter;
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=705559&r1=705558&r2=705559&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 Oct 17 04:07:03 2008
@@ -28,14 +28,10 @@
import org.apache.geronimo.gshell.artifact.ArtifactManager;
import org.apache.geronimo.gshell.chronos.StopWatch;
import org.apache.geronimo.gshell.event.EventPublisher;
-import org.apache.geronimo.gshell.marshal.MarshallerSupport;
-import org.apache.geronimo.gshell.marshal.Marshaller;
import org.apache.geronimo.gshell.model.application.ApplicationModel;
import org.apache.geronimo.gshell.model.application.DependencyArtifact;
import org.apache.geronimo.gshell.model.common.LocalRepository;
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.shell.Shell;
import org.apache.geronimo.gshell.spring.BeanContainer;
import org.apache.geronimo.gshell.spring.BeanContainerAware;
@@ -43,20 +39,18 @@
import org.apache.maven.artifact.factory.ArtifactFactory;
import org.apache.maven.artifact.resolver.ArtifactResolutionRequest;
import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
-import org.codehaus.plexus.interpolation.PropertiesBasedValueSource;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
-import java.io.File;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
+import java.net.URL;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;
-import java.net.URL;
/**
* Default implementation of the {@link ApplicationManager} component.
@@ -102,9 +96,6 @@
// Validate the configuration
config.validate();
- // Interpolate the model
- interpolate(config);
-
// Apply artifact manager configuration settings for application
configureArtifactManager(config.getModel());
@@ -118,24 +109,6 @@
eventPublisher.publish(new ApplicationConfiguredEvent(application));
}
- private void interpolate(final ApplicationConfiguration config) throws Exception {
- assert config != null;
-
- ApplicationModel model = config.getModel();
- Interpolator<ApplicationModel> interp = new InterpolatorSupport<ApplicationModel>();
-
- // Add value sources to resolve muck
- interp.addValueSource(new PropertiesBasedValueSource(System.getProperties()));
-
- // Add application settings
- interp.addValueSource(new PropertiesBasedValueSource(model.getProperties()));
-
- model = interp.interpolate(model);
-
- // Update the configuration with the new model
- config.setModel(model);
- }
-
private void configureArtifactManager(final ApplicationModel model) throws Exception {
assert model != null;
assert artifactManager != null;
@@ -184,21 +157,31 @@
private ClassPath loadClassPath(final ApplicationModel model) throws Exception {
assert model != null;
- Marshaller<ClassPath> marshaller = new MarshallerSupport<ClassPath>(ClassPathImpl.class);
+ Set<Artifact> artifacts = resolveArtifacts(model);
+ ClassPath classPath = new ClassPathImpl(artifacts);
+
+ /*
+ FIXME: This needs to find a way to work w/o XStream, which isn't available on the classpath yet.
+
File file = new File(new File(System.getProperty("gshell.home")), "var/xstore/classpath.xml"); // FIXME: Get state directory from application/branding
ClassPath classPath;
if (file.exists()) {
- classPath = marshaller.unmarshal(file);
+ XMLDecoder decoder = new XMLDecoder(new BufferedInputStream(new FileInputStream(file)));
+ classPath = (ClassPath)decoder.readObject();
log.debug("Loaded classpath from cache: {}", file);
+ decoder.close();
}
else {
Set<Artifact> artifacts = resolveArtifacts(model);
classPath = new ClassPathImpl(artifacts);
log.debug("Saving classpath to cache: {}", file);
file.getParentFile().mkdirs();
- marshaller.marshal(classPath, file);
+ XMLEncoder encoder = new XMLEncoder(new BufferedOutputStream(new FileOutputStream(file)));
+ encoder.writeObject(classPath);
+ encoder.close();
}
+ */
if (log.isDebugEnabled()) {
log.debug("Application classpath:");
Modified: geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/application/ClassPathImpl.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/application/ClassPathImpl.java?rev=705559&r1=705558&r2=705559&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/application/ClassPathImpl.java (original)
+++ geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/application/ClassPathImpl.java Fri Oct 17 04:07:03 2008
@@ -19,7 +19,6 @@
package org.apache.geronimo.gshell.wisdom.application;
-import com.thoughtworks.xstream.annotations.XStreamAlias;
import org.apache.geronimo.gshell.application.ClassPath;
import org.apache.geronimo.gshell.model.common.Artifact;
@@ -36,7 +35,6 @@
*
* @version $Rev$ $Date$
*/
-@XStreamAlias("classpath")
public class ClassPathImpl
implements ClassPath
{
Modified: geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/builder/ShellBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/builder/ShellBuilder.java?rev=705559&r1=705558&r2=705559&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/builder/ShellBuilder.java (original)
+++ geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/builder/ShellBuilder.java Fri Oct 17 04:07:03 2008
@@ -22,7 +22,6 @@
import org.apache.geronimo.gshell.application.ApplicationManager;
import org.apache.geronimo.gshell.command.Variables;
import org.apache.geronimo.gshell.io.IO;
-import org.apache.geronimo.gshell.model.application.ApplicationModel;
import org.apache.geronimo.gshell.shell.ShellFactory;
/**
@@ -45,10 +44,6 @@
void setVariables(Variables variables);
- ApplicationModel getApplicationModel();
-
- void setApplicationModel(ApplicationModel applicationModel);
-
ApplicationManager getApplicationManager();
void setApplicationManager(ApplicationManager applicationManager);
Modified: geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/builder/ShellBuilderImpl.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/builder/ShellBuilderImpl.java?rev=705559&r1=705558&r2=705559&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/builder/ShellBuilderImpl.java (original)
+++ geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/builder/ShellBuilderImpl.java Fri Oct 17 04:07:03 2008
@@ -55,7 +55,8 @@
private BeanContainer createContainer() throws Exception {
BeanContainerImpl container = new BeanContainerImpl(getClassLoader());
container.loadBeans(new String[] {
- "classpath*:META-INF/spring/components.xml"
+ "classpath*:META-INF/spring/components.xml",
+ "classpath:application.xml"
});
return container;
@@ -100,14 +101,6 @@
applicationConfig.setVariables(variables);
}
- public ApplicationModel getApplicationModel() {
- return applicationConfig.getModel();
- }
-
- public void setApplicationModel(final ApplicationModel applicationModel) {
- applicationConfig.setModel(applicationModel);
- }
-
private ApplicationManager createApplicationManager() {
return getContainer().getBean(ApplicationManager.class);
}
@@ -161,6 +154,12 @@
ArtifactManager artifactManager = getContainer().getBean(ArtifactManager.class);
artifactManager.setDownloadMonitor(new ProgressSpinnerMonitor(getIo()));
+ ApplicationModel applicationModel = container.getBean(ApplicationModel.class);
+ applicationConfig.setModel(applicationModel);
+
+ // HACK: Hookup branding's parent
+ applicationModel.getBranding().setParent(applicationModel);
+
// Configure application
getApplicationManager().configure(applicationConfig);
Modified: geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/pom.xml?rev=705559&r1=705558&r2=705559&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/pom.xml (original)
+++ geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/pom.xml Fri Oct 17 04:07:03 2008
@@ -72,13 +72,18 @@
<groupId>org.apache.geronimo.gshell.support</groupId>
<artifactId>gshell-vfs-meta</artifactId>
</dependency>
-
+
<dependency>
<groupId>org.apache.geronimo.gshell.support</groupId>
<artifactId>gshell-xstore</artifactId>
</dependency>
<dependency>
+ <groupId>org.apache.geronimo.gshell.support</groupId>
+ <artifactId>gshell-interpolation</artifactId>
+ </dependency>
+
+ <dependency>
<groupId>org.apache.geronimo.gshell</groupId>
<artifactId>gshell-parser</artifactId>
</dependency>