Overhauling download link.

* Adding <archiva:downloadArtifact /> taglib.
* Adding ability to download sources, javadoc, and client jars too.
* Adding ActiveManagedRepositories class to aide in anonymous artifact handling.
* Adding test-repository for maven 2.x j2ee artifacts with sources / javadoc / client jars.
* Adding ManagedArtifact class to track this relationship between main artifact and attached artifacts.



git-svn-id: https://svn.apache.org/repos/asf/maven/archiva/trunk@503520 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Joakim Erdfelt 2007-02-05 00:30:59 +00:00
parent cc267c0ad7
commit 0d3707a11b
208 changed files with 3423 additions and 123 deletions

View File

@ -58,6 +58,11 @@
<artifactId>plexus-quartz</artifactId>
<version>1.0-alpha-4-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus.cache</groupId>
<artifactId>plexus-cache-ehcache</artifactId>
<version>1.0-alpha-1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-taskqueue</artifactId>

View File

@ -0,0 +1,76 @@
package org.apache.maven.archiva.artifact;
/*
* 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.
*/
import org.apache.maven.artifact.Artifact;
import java.util.HashMap;
import java.util.Map;
/**
* ManagedArtifact
*
* @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
* @version $Id$
*/
public class ManagedArtifact
{
private String repositoryId;
private Artifact artifact;
private String path;
protected Map attached;
public ManagedArtifact( String repoId, Artifact artifact, String path )
{
super();
this.repositoryId = repoId;
this.artifact = artifact;
this.path = path;
this.attached = new HashMap();
}
public Artifact getArtifact()
{
return artifact;
}
public String getPath()
{
return path;
}
public String getRepositoryId()
{
return repositoryId;
}
public Map getAttached()
{
return attached;
}
public void setAttached( Map attached )
{
this.attached = attached;
}
}

View File

@ -0,0 +1,81 @@
package org.apache.maven.archiva.artifact;
/*
* 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.
*/
import org.apache.commons.lang.StringUtils;
import java.util.ArrayList;
import java.util.List;
/**
* ManagedArtifactTypes - provides place to test an unknown artifact type.
*
* @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
* @version $Id$
*/
public class ManagedArtifactTypes
{
public static final int GENERIC = 0;
public static final int JAVA = 1;
public static final int EJB = 2;
private static List javaArtifacts;
private static List ejbArtifacts;
static
{
javaArtifacts = new ArrayList();
javaArtifacts.add( "jar" );
javaArtifacts.add( "war" );
javaArtifacts.add( "sar" );
javaArtifacts.add( "rar" );
javaArtifacts.add( "ear" );
ejbArtifacts = new ArrayList();
ejbArtifacts.add( "ejb" );
ejbArtifacts.add( "ejb-client" );
}
public static int whichType( String type )
{
if ( StringUtils.isBlank( type ) )
{
// TODO: is an empty type even possible?
return GENERIC;
}
type = type.toLowerCase();
if ( ejbArtifacts.contains( type ) )
{
return EJB;
}
if ( javaArtifacts.contains( type ) )
{
return JAVA;
}
return GENERIC;
}
}

View File

@ -0,0 +1,49 @@
package org.apache.maven.archiva.artifact;
/*
* 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.
*/
import org.apache.maven.artifact.Artifact;
/**
* ManagedEjbArtifact - adds the ability to reference the ejb-client jar too.
*
* @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
* @version $Id$
*/
public class ManagedEjbArtifact
extends ManagedJavaArtifact
{
public static final String CLIENT = "client";
public ManagedEjbArtifact( String repoId, Artifact artifact, String path )
{
super( repoId, artifact, path );
}
public String getClientPath()
{
return (String) super.attached.get( CLIENT );
}
public void setClientPath( String clientPath )
{
super.attached.put( CLIENT, clientPath );
}
}

View File

@ -0,0 +1,62 @@
package org.apache.maven.archiva.artifact;
/*
* 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.
*/
import org.apache.maven.artifact.Artifact;
/**
* ManagedJavaArtifact - a ManagedArtifact with optional javadoc and source
* reference jars.
*
* @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
* @version $Id$
*/
public class ManagedJavaArtifact
extends ManagedArtifact
{
public static final String JAVADOC = "javadoc";
public static final String SOURCES = "sources";
public ManagedJavaArtifact( String repoId, Artifact artifact, String path )
{
super( repoId, artifact, path );
}
public String getJavadocPath()
{
return (String) super.attached.get( JAVADOC );
}
public void setJavadocPath( String javadocPath )
{
super.attached.put( JAVADOC, javadocPath );
}
public String getSourcesPath()
{
return (String) super.attached.get( SOURCES );
}
public void setSourcesPath( String sourcesPath )
{
super.attached.put( SOURCES, sourcesPath );
}
}

View File

@ -0,0 +1,58 @@
package org.apache.maven.archiva.repositories;
/*
* 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.
*/
import org.apache.maven.archiva.artifact.ManagedArtifact;
import org.apache.maven.archiva.configuration.RepositoryConfiguration;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.project.MavenProject;
import org.apache.maven.project.ProjectBuildingException;
/**
* ActiveManagedRepositories
*
* @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
* @version $Id$
*/
public interface ActiveManagedRepositories
{
public static final String ROLE = ActiveManagedRepositories.class.getName();
/**
* Obtain the ArtifactRepository for the specified Repository ID.
*
* @param id the ID of the repository.
* @return the ArtifactRepository associated with the provided ID, or null if none found.
*/
public ArtifactRepository getArtifactRepository( String id );
public RepositoryConfiguration getRepositoryConfiguration( String id );
public MavenProject findProject( String groupId, String artifactId, String version )
throws ProjectBuildingException;
public ManagedArtifact findArtifact( String groupId, String artifactId, String version )
throws ProjectBuildingException;
public ManagedArtifact findArtifact( String groupId, String artifactId, String version, String type );
public ManagedArtifact findArtifact( Artifact artifact );
}

View File

@ -0,0 +1,284 @@
package org.apache.maven.archiva.repositories;
/*
* 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.
*/
import org.apache.commons.lang.StringUtils;
import org.apache.maven.archiva.artifact.ManagedArtifact;
import org.apache.maven.archiva.artifact.ManagedArtifactTypes;
import org.apache.maven.archiva.artifact.ManagedEjbArtifact;
import org.apache.maven.archiva.artifact.ManagedJavaArtifact;
import org.apache.maven.archiva.configuration.Configuration;
import org.apache.maven.archiva.configuration.ConfigurationChangeException;
import org.apache.maven.archiva.configuration.ConfigurationChangeListener;
import org.apache.maven.archiva.configuration.ConfigurationStore;
import org.apache.maven.archiva.configuration.ConfigurationStoreException;
import org.apache.maven.archiva.configuration.ConfiguredRepositoryFactory;
import org.apache.maven.archiva.configuration.InvalidConfigurationException;
import org.apache.maven.archiva.configuration.RepositoryConfiguration;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.factory.ArtifactFactory;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.model.Model;
import org.apache.maven.project.MavenProject;
import org.apache.maven.project.MavenProjectBuilder;
import org.apache.maven.project.ProjectBuildingException;
import org.codehaus.plexus.cache.Cache;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
import java.io.File;
import java.util.Iterator;
import java.util.List;
/**
* DefaultActiveManagedRepositories
*
* @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
* @version $Id$
* @plexus.component role="org.apache.maven.archiva.repositories.ActiveManagedRepositories"
*/
public class DefaultActiveManagedRepositories
implements ActiveManagedRepositories, ConfigurationChangeListener, Initializable
{
/**
* @plexus.requirement role-hint="artifactCache"
*/
private Cache artifactCache;
/**
* @plexus.requirement
*/
private ArtifactFactory artifactFactory;
/**
* @plexus.requirement
*/
private ConfigurationStore configurationStore;
/**
* @plexus.requirement
*/
private MavenProjectBuilder projectBuilder;
/**
* @plexus.requirement role-hint="projectCache"
*/
private Cache projectCache;
/**
* @plexus.requirement
*/
private ConfiguredRepositoryFactory repositoryFactory;
private Configuration configuration;
private ArtifactRepository localRepository;
private List repositories;
public Artifact createRelatedArtifact( Artifact artifact, String classifier, String type )
{
String groupId = artifact.getGroupId();
String artifactId = artifact.getArtifactId();
String version = artifact.getVersion();
String reltype = StringUtils.defaultIfEmpty( type, artifact.getType() );
return artifactFactory.createArtifactWithClassifier( groupId, artifactId, version, reltype, classifier );
}
public ManagedArtifact findArtifact( Artifact artifact )
{
ManagedArtifact managedArtifact = (ManagedArtifact) artifactCache.get( toKey( artifact ) );
if ( managedArtifact != null )
{
return managedArtifact;
}
boolean snapshot = artifact.isSnapshot();
for ( Iterator i = repositories.iterator(); i.hasNext(); )
{
ArtifactRepository repository = (ArtifactRepository) i.next();
if ( snapshot && !repository.getSnapshots().isEnabled() )
{
// skip repo.
continue;
}
String path = repository.pathOf( artifact );
File f = new File( repository.getBasedir(), path );
if ( f.exists() )
{
// Found it.
managedArtifact = createManagedArtifact( repository, artifact, f );
artifactCache.put( toKey( artifact ), managedArtifact );
return managedArtifact;
}
}
return null;
}
public ManagedArtifact findArtifact( String groupId, String artifactId, String version )
throws ProjectBuildingException
{
MavenProject project = findProject( groupId, artifactId, version );
Model model = project.getModel();
return findArtifact( model.getGroupId(), model.getArtifactId(), model.getVersion(), model.getPackaging() );
}
public ManagedArtifact findArtifact( String groupId, String artifactId, String version, String type )
{
Artifact artifact = artifactFactory.createBuildArtifact( groupId, artifactId, version, type );
return findArtifact( artifact );
}
public MavenProject findProject( String groupId, String artifactId, String version )
throws ProjectBuildingException
{
MavenProject project = (MavenProject) projectCache.get( toKey( groupId, artifactId, version ) );
if ( project != null )
{
return project;
}
Artifact projectArtifact = artifactFactory.createProjectArtifact( groupId, artifactId, version );
project = projectBuilder.buildFromRepository( projectArtifact, repositories, localRepository );
projectCache.put( toKey( groupId, artifactId, version ), project );
return project;
}
public ArtifactRepository getArtifactRepository( String id )
{
RepositoryConfiguration repoConfig = getRepositoryConfiguration( id );
if ( repoConfig == null )
{
return null;
}
return repositoryFactory.createRepository( repoConfig );
}
public RepositoryConfiguration getRepositoryConfiguration( String id )
{
return this.configuration.getRepositoryById( id );
}
public void initialize()
throws InitializationException
{
Configuration config;
try
{
config = configurationStore.getConfigurationFromStore();
configureSelf( config );
}
catch ( ConfigurationStoreException e )
{
throw new InitializationException( "Unable to load configuration.", e );
}
}
public void notifyOfConfigurationChange( Configuration config )
throws InvalidConfigurationException, ConfigurationChangeException
{
configureSelf( config );
}
private String toKey( Artifact artifact )
{
if ( artifact == null )
{
return null;
}
return toKey( artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion() );
}
private String toKey( String groupId, String artifactId, String version )
{
return groupId + ":" + artifactId + ":" + version;
}
private void configureSelf( Configuration config )
{
this.configuration = config;
this.artifactCache.clear();
this.projectCache.clear();
repositories = repositoryFactory.createRepositories( this.configuration );
localRepository = repositoryFactory.createLocalRepository( this.configuration );
}
private ManagedArtifact createManagedArtifact( ArtifactRepository repository, Artifact artifact, File f )
{
artifact.isSnapshot();
String path = repository.pathOf( artifact );
switch ( ManagedArtifactTypes.whichType( artifact.getType() ) )
{
case ManagedArtifactTypes.EJB:
ManagedEjbArtifact managedEjbArtifact = new ManagedEjbArtifact( repository.getId(), artifact, path );
managedEjbArtifact.setJavadocPath( pathToRelatedArtifact( repository, artifact, "javadoc", "jar" ) );
managedEjbArtifact.setSourcesPath( pathToRelatedArtifact( repository, artifact, "sources", "jar" ) );
managedEjbArtifact.setClientPath( pathToRelatedArtifact( repository, artifact, "client", "jar" ) );
return managedEjbArtifact;
case ManagedArtifactTypes.JAVA:
ManagedJavaArtifact managedJavaArtifact = new ManagedJavaArtifact( repository.getId(), artifact, path );
managedJavaArtifact.setJavadocPath( pathToRelatedArtifact( repository, artifact, "javadoc", "jar" ) );
managedJavaArtifact.setSourcesPath( pathToRelatedArtifact( repository, artifact, "sources", "jar" ) );
return managedJavaArtifact;
case ManagedArtifactTypes.GENERIC:
default:
return new ManagedArtifact( repository.getId(), artifact, path );
}
}
private String pathToRelatedArtifact( ArtifactRepository repository, Artifact artifact, String classifier,
String type )
{
Artifact relatedArtifact = createRelatedArtifact( artifact, classifier, type );
relatedArtifact.isSnapshot();
String path = repository.pathOf( relatedArtifact );
File relatedFile = new File( repository.getBasedir(), path );
if ( !relatedFile.exists() )
{
// Return null to set the ManagedArtifact related path to empty.
return null;
}
return path;
}
}

View File

@ -241,8 +241,8 @@ public class IndexerTaskExecutor
for ( int j = 0; j < artifacts.size(); j += ARTIFACT_BUFFER_SIZE )
{
int end = j + ARTIFACT_BUFFER_SIZE;
List currentArtifacts =
artifacts.subList( j, end > artifacts.size() ? artifacts.size() : end );
List currentArtifacts = artifacts.subList( j, end > artifacts.size() ? artifacts.size()
: end );
// TODO: proper queueing of this in case it was triggered externally (not harmful to do so at present, but not optimal)
@ -260,10 +260,10 @@ public class IndexerTaskExecutor
MetadataFilter metadataFilter = new ReportingMetadataFilter( reporter );
MetadataDiscoverer metadataDiscoverer =
(MetadataDiscoverer) metadataDiscoverers.get( layoutProperty );
List metadata =
metadataDiscoverer.discoverMetadata( repository, blacklistedPatterns, metadataFilter );
MetadataDiscoverer metadataDiscoverer = (MetadataDiscoverer) metadataDiscoverers
.get( layoutProperty );
List metadata = metadataDiscoverer.discoverMetadata( repository, blacklistedPatterns,
metadataFilter );
if ( !metadata.isEmpty() )
{
@ -307,14 +307,18 @@ public class IndexerTaskExecutor
{
if ( projectBuilder != null )
{
getLogger().info( "projectBuilder is type " + projectBuilder.getClass().getName() );
java.lang.reflect.Field f = projectBuilder.getClass().getDeclaredField( "rawProjectCache" );
f.setAccessible( true );
Map cache = (Map) f.get( projectBuilder );
getLogger().info( "projectBuilder.raw is type " + cache.getClass().getName() );
cache.clear();
f = projectBuilder.getClass().getDeclaredField( "processedProjectCache" );
f.setAccessible( true );
cache = (Map) f.get( projectBuilder );
getLogger().info( "projectBuilder.processed is type " + cache.getClass().getName() );
cache.clear();
}
}

View File

@ -54,6 +54,44 @@
<name>indexer</name>
</configuration>
</component>
<component>
<role>org.codehaus.plexus.cache.Cache</role>
<role-hint>artifactCache</role-hint>
<implementation>org.codehaus.plexus.cache.ehcache.EhcacheCache</implementation>
<description>EhcacheCache</description>
<configuration>
<disk-expiry-thread-interval-seconds>600</disk-expiry-thread-interval-seconds>
<disk-persistent>false</disk-persistent>
<disk-store-path>${appserver.base}/.cache/artifacts</disk-store-path>
<eternal>false</eternal>
<max-elements-in-memory>1000</max-elements-in-memory>
<memory-eviction-policy>LRU</memory-eviction-policy>
<name>artifact-cache</name>
<overflow-to-disk>false</overflow-to-disk>
<time-to-idle-seconds>600</time-to-idle-seconds>
<time-to-live-seconds>300</time-to-live-seconds>
</configuration>
</component>
<component>
<role>org.codehaus.plexus.cache.Cache</role>
<role-hint>projectCache</role-hint>
<implementation>org.codehaus.plexus.cache.ehcache.EhcacheCache</implementation>
<description>EhcacheCache</description>
<configuration>
<disk-expiry-thread-interval-seconds>600</disk-expiry-thread-interval-seconds>
<disk-persistent>false</disk-persistent>
<disk-store-path>${appserver.base}/.cache/projects</disk-store-path>
<eternal>false</eternal>
<max-elements-in-memory>1000</max-elements-in-memory>
<memory-eviction-policy>LRU</memory-eviction-policy>
<name>project-cache</name>
<overflow-to-disk>false</overflow-to-disk>
<time-to-idle-seconds>600</time-to-idle-seconds>
<time-to-live-seconds>300</time-to-live-seconds>
</configuration>
</component>
</components>
</component-set>

View File

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
~ 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.
-->
<configuration>
<repositories>
<repository>
<urlName>test</urlName>
<directory>src/test/maven-2.x-repository</directory>
<id>test</id>
<name>Test Repository</name>
</repository>
</repositories>
<proxiedRepositories>
</proxiedRepositories>
<localRepository>target/local-repository</localRepository>
<indexPath>target/.index</indexPath>
</configuration>

View File

@ -0,0 +1,205 @@
package org.apache.maven.archiva.repositories;
/*
* 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.
*/
import org.apache.maven.archiva.artifact.ManagedArtifact;
import org.apache.maven.archiva.artifact.ManagedEjbArtifact;
import org.apache.maven.archiva.artifact.ManagedJavaArtifact;
import org.codehaus.plexus.PlexusTestCase;
/**
* DefaultActiveManagedRepositoriesTest
*
* @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
* @version $Id$
*/
public class DefaultActiveManagedRepositoriesTest
extends PlexusTestCase
{
private ActiveManagedRepositories managedRepos;
protected void setUp()
throws Exception
{
super.setUp();
managedRepos = (DefaultActiveManagedRepositories) lookup( ActiveManagedRepositories.ROLE );
}
/**
* Test a simple java find artifact with extras (sources / javadoc).
*/
public void testFindArtifactJavaWithExtras()
{
ManagedArtifact artifact = managedRepos.findArtifact( "geronimo", "daytrader-wsappclient", "1.1", "jar" );
assertNotNull( artifact );
if ( !( artifact instanceof ManagedJavaArtifact ) )
{
fail( "Expected artifact to be type <" + ManagedJavaArtifact.class.getName() + "> but was actually <"
+ artifact.getClass().getName() + ">." );
}
ManagedJavaArtifact javaArtifact = (ManagedJavaArtifact) artifact;
assertEquals( "test", javaArtifact.getRepositoryId() );
String pathPrefix = "geronimo/daytrader-wsappclient/1.1";
String pathArtifactVersion = "daytrader-wsappclient-1.1";
assertEquals( pathPrefix + "/" + pathArtifactVersion + ".jar", javaArtifact.getPath() );
assertEquals( pathPrefix + "/" + pathArtifactVersion + "-javadoc.jar", javaArtifact.getJavadocPath() );
assertEquals( pathPrefix + "/" + pathArtifactVersion + "-sources.jar", javaArtifact.getSourcesPath() );
}
/**
* Test a simple java find artifact with no extras.
*/
public void testFindArtifactJavaSimple()
{
ManagedArtifact artifact = managedRepos.findArtifact( "geronimo", "daytrader-streamer", "1.1", "jar" );
assertNotNull( artifact );
if ( !( artifact instanceof ManagedJavaArtifact ) )
{
fail( "Expected artifact to be type <" + ManagedJavaArtifact.class.getName() + "> but was actually <"
+ artifact.getClass().getName() + ">." );
}
ManagedJavaArtifact javaArtifact = (ManagedJavaArtifact) artifact;
assertEquals( "test", javaArtifact.getRepositoryId() );
String pathPrefix = "geronimo/daytrader-streamer/1.1";
String pathArtifactVersion = "daytrader-streamer-1.1";
assertEquals( pathPrefix + "/" + pathArtifactVersion + ".jar", javaArtifact.getPath() );
assertNull( "should have no javadoc jar.", javaArtifact.getJavadocPath() );
assertNull( "should have no sources jar.", javaArtifact.getSourcesPath() );
}
/**
* Test a java find of a snapshot artifact that uses a timestamp format.
*/
public void testFindArtifactJavaSnapshotTimestamp()
{
ManagedArtifact artifact = managedRepos.findArtifact( "org.apache.geronimo.daytrader", "daytrader-wsappclient",
"2.0-20070201.183230-5", "jar" );
assertNotNull( artifact );
if ( !( artifact instanceof ManagedJavaArtifact ) )
{
fail( "Expected artifact to be type <" + ManagedJavaArtifact.class.getName() + "> but was actually <"
+ artifact.getClass().getName() + ">." );
}
ManagedJavaArtifact javaArtifact = (ManagedJavaArtifact) artifact;
assertEquals( "test", javaArtifact.getRepositoryId() );
String pathPrefix = "org/apache/geronimo/daytrader/daytrader-wsappclient/2.0-SNAPSHOT";
String pathArtifactVersion = "daytrader-wsappclient-2.0-20070201.183230-5";
assertEquals( pathPrefix + "/" + pathArtifactVersion + ".jar", javaArtifact.getPath() );
assertEquals( pathPrefix + "/" + pathArtifactVersion + "-javadoc.jar", javaArtifact.getJavadocPath() );
assertEquals( pathPrefix + "/" + pathArtifactVersion + "-sources.jar", javaArtifact.getSourcesPath() );
}
/**
* Test a java find of a snapshot artifact.
*/
public void testFindArtifactJavaSnapshot()
{
ManagedArtifact artifact = managedRepos.findArtifact( "org.apache.geronimo.daytrader", "daytrader-wsappclient",
"2.0-SNAPSHOT", "jar" );
assertNotNull( artifact );
if ( !( artifact instanceof ManagedJavaArtifact ) )
{
fail( "Expected artifact to be type <" + ManagedJavaArtifact.class.getName() + "> but was actually <"
+ artifact.getClass().getName() + ">." );
}
ManagedJavaArtifact javaArtifact = (ManagedJavaArtifact) artifact;
assertEquals( "test", javaArtifact.getRepositoryId() );
String pathPrefix = "org/apache/geronimo/daytrader/daytrader-wsappclient/2.0-SNAPSHOT";
String pathArtifactVersion = "daytrader-wsappclient-2.0-SNAPSHOT";
assertEquals( pathPrefix + "/" + pathArtifactVersion + ".jar", javaArtifact.getPath() );
assertEquals( pathPrefix + "/" + pathArtifactVersion + "-javadoc.jar", javaArtifact.getJavadocPath() );
assertEquals( pathPrefix + "/" + pathArtifactVersion + "-sources.jar", javaArtifact.getSourcesPath() );
}
/**
* Test a ejb find of a snapshot artifact that also has a client jar available.
*/
public void testFindArtifactEjbSnapshot()
{
ManagedArtifact artifact = managedRepos.findArtifact( "org.apache.geronimo.daytrader", "daytrader-ejb",
"2.0-SNAPSHOT", "ejb" );
assertNotNull( artifact );
if ( !( artifact instanceof ManagedEjbArtifact ) )
{
fail( "Expected artifact to be type <" + ManagedEjbArtifact.class.getName() + "> but was actually <"
+ artifact.getClass().getName() + ">." );
}
ManagedEjbArtifact ejbArtifact = (ManagedEjbArtifact) artifact;
assertEquals( "test", ejbArtifact.getRepositoryId() );
String pathPrefix = "org/apache/geronimo/daytrader/daytrader-ejb/2.0-SNAPSHOT";
String pathArtifactVersion = "daytrader-ejb-2.0-SNAPSHOT";
assertEquals( pathPrefix + "/" + pathArtifactVersion + ".jar", ejbArtifact.getPath() );
assertEquals( pathPrefix + "/" + pathArtifactVersion + "-client.jar", ejbArtifact.getClientPath() );
assertEquals( pathPrefix + "/" + pathArtifactVersion + "-javadoc.jar", ejbArtifact.getJavadocPath() );
assertEquals( pathPrefix + "/" + pathArtifactVersion + "-sources.jar", ejbArtifact.getSourcesPath() );
}
/**
* Test a simple java find artifact with no extras.
*/
public void testFindArtifactWar()
{
ManagedArtifact artifact = managedRepos.findArtifact( "geronimo", "daytrader-web", "1.1", "war" );
assertNotNull( artifact );
if ( !( artifact instanceof ManagedJavaArtifact ) )
{
fail( "Expected artifact to be type <" + ManagedJavaArtifact.class.getName() + "> but was actually <"
+ artifact.getClass().getName() + ">." );
}
ManagedJavaArtifact warArtifact = (ManagedJavaArtifact) artifact;
assertEquals( "test", warArtifact.getRepositoryId() );
String pathPrefix = "geronimo/daytrader-web/1.1";
String pathArtifactVersion = "daytrader-web-1.1";
assertEquals( pathPrefix + "/" + pathArtifactVersion + ".war", warArtifact.getPath() );
assertEquals( pathPrefix + "/" + pathArtifactVersion + "-javadoc.jar", warArtifact.getJavadocPath() );
assertNull( "should have no sources jar.", warArtifact.getSourcesPath() );
}
}

View File

@ -0,0 +1,75 @@
package org.apache.maven.archiva.scheduler.executors;
/*
* 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.
*/
import org.apache.commons.io.FileUtils;
import org.apache.maven.archiva.configuration.Configuration;
import org.apache.maven.archiva.configuration.ConfigurationStore;
import org.apache.maven.archiva.configuration.ConfigurationStoreException;
import org.apache.maven.archiva.scheduler.task.IndexerTask;
import org.codehaus.plexus.PlexusTestCase;
import org.codehaus.plexus.taskqueue.execution.TaskExecutionException;
import org.codehaus.plexus.taskqueue.execution.TaskExecutor;
import java.io.File;
/**
* IndexerTaskExecutorTest
*
* @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
* @version $Id$
*/
public class IndexerTaskExecutorTest
extends PlexusTestCase
{
private TaskExecutor taskExecutor;
protected void setUp()
throws Exception
{
super.setUp();
taskExecutor = (TaskExecutor) lookup( "org.codehaus.plexus.taskqueue.execution.TaskExecutor", "indexer" );
ConfigurationStore configurationStore = (ConfigurationStore) lookup( ConfigurationStore.ROLE );
Configuration configuration = configurationStore.getConfigurationFromStore();
File indexPath = new File( configuration.getIndexPath() );
if ( indexPath.exists() )
{
FileUtils.deleteDirectory( indexPath );
}
}
public void testIndexer()
throws TaskExecutionException
{
taskExecutor.executeTask( new TestIndexerTask() );
}
class TestIndexerTask
extends IndexerTask
{
public String getJobName()
{
return "TestIndexer";
}
}
}

View File

@ -0,0 +1 @@
4d677e8e95fb342512e3d05ea68a501d

View File

@ -0,0 +1 @@
58f1e8ae41f12747947c947437e262d9f3bd3ce7

View File

@ -0,0 +1,91 @@
<?xml version="1.0" encoding="UTF-8"?><project>
<parent>
<artifactId>daytrader</artifactId>
<groupId>geronimo</groupId>
<version>1.1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>daytrader-ear</artifactId>
<packaging>ear</packaging>
<name>DayTrader :: Enterprise Application</name>
<version>1.1</version>
<description>Daytrader EAR</description>
<scm>
<connection>scm:svn:http://svn.apache.org/repos/asf/geronimo/daytrader/trunk/modules/ear</connection>
<developerConnection>scm:svn:http://svn.apache.org/repos/asf/geronimo/daytrader/trunk/modules/ear</developerConnection>
<url>http://svn.apache.org/viewcvs.cgi/geronimo/daytrader/trunk/modules/ear</url>
</scm>
<build>
<plugins>
<plugin>
<artifactId>maven-ear-plugin</artifactId>
<configuration>
<displayName>DayTrader 1.1</displayName>
<description>DayTrader Stock Trading Performance Benchmark
Sample</description>
<version>1.4</version>
<modules>
<webModule>
<groupId>geronimo</groupId>
<artifactId>daytrader-web</artifactId>
<contextRoot>/daytrader</contextRoot>
<bundleFileName>web.war</bundleFileName>
</webModule>
<ejbModule>
<groupId>geronimo</groupId>
<artifactId>daytrader-ejb</artifactId>
<bundleFileName>dt-ejb.jar</bundleFileName>
</ejbModule>
<javaModule>
<groupId>geronimo</groupId>
<artifactId>daytrader-streamer</artifactId>
<bundleFileName>streamer.jar</bundleFileName>
<includeInApplicationXml>true</includeInApplicationXml>
</javaModule>
<javaModule>
<groupId>geronimo</groupId>
<artifactId>daytrader-wsappclient</artifactId>
<bundleFileName>wsappclient.jar</bundleFileName>
</javaModule>
</modules>
</configuration>
</plugin>
<plugin>
<artifactId>maven-one-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<goals>
<goal>install-maven-one-repository</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>geronimo</groupId>
<artifactId>daytrader-web</artifactId>
<type>war</type>
</dependency>
<dependency>
<groupId>geronimo</groupId>
<artifactId>daytrader-ejb</artifactId>
<type>ejb</type>
</dependency>
<dependency>
<groupId>geronimo</groupId>
<artifactId>daytrader-streamer</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>geronimo</groupId>
<artifactId>daytrader-wsappclient</artifactId>
<scope>compile</scope>
</dependency>
</dependencies>
<distributionManagement>
<status>deployed</status>
</distributionManagement>
</project>

View File

@ -0,0 +1 @@
506f014fdec1a0e02b4a40b6e7a9a40c

View File

@ -0,0 +1 @@
7aa0572d8d06ed6c2d14b9a79f16427127f3a2dc

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?><metadata>
<groupId>geronimo</groupId>
<artifactId>daytrader-ear</artifactId>
<version>1.1</version>
<versioning>
<versions>
<version>1.1</version>
</versions>
<lastUpdated>20070201170106</lastUpdated>
</versioning>
</metadata>

View File

@ -0,0 +1 @@
162bb9adf25e1044c3e6bc4ab7a28963

View File

@ -0,0 +1 @@
0c485c6093f11d16e8710d58b3f4fbe2184428ec

View File

@ -0,0 +1 @@
ece384b9ed97eb5ab3337022a2425738

View File

@ -0,0 +1 @@
8c97bc705524dd2798c2bbdb0978bf20a09f4adb

View File

@ -0,0 +1 @@
d4fe361b7e0c648d127d8143003abdbc

View File

@ -0,0 +1 @@
4ebf4a3ff5ee70473284d2008df145905cd09b80

View File

@ -0,0 +1 @@
b7b6eea84bc331c0f6485bc9cda1f263

View File

@ -0,0 +1 @@
a08204dc89d2b3324143ed6e73c0c79249920a6d

View File

@ -0,0 +1 @@
95041ac6ca18e5d2edfd076a1db17260

View File

@ -0,0 +1 @@
241a1816ec34ac7199bdad4245aa23f26eff0dbc

View File

@ -0,0 +1,66 @@
<?xml version="1.0" encoding="UTF-8"?><project>
<parent>
<artifactId>daytrader</artifactId>
<groupId>geronimo</groupId>
<version>1.1</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>geronimo</groupId>
<artifactId>daytrader-ejb</artifactId>
<packaging>ejb</packaging>
<name>DayTrader :: EJBs</name>
<version>1.1</version>
<description>Daytrader EJBs</description>
<scm>
<connection>scm:svn:http://svn.apache.org/repos/asf/geronimo/daytrader/trunk/modules/ejb</connection>
<developerConnection>scm:svn:http://svn.apache.org/repos/asf/geronimo/daytrader/trunk/modules/ejb</developerConnection>
<url>http://svn.apache.org/viewcvs.cgi/geronimo/daytrader/trunk/modules/ejb</url>
</scm>
<build>
<resources>
<resource>
<filtering>true</filtering>
<directory>${basedir}/src/main/resources</directory>
</resource>
</resources>
<plugins>
<plugin>
<artifactId>maven-ejb-plugin</artifactId>
<configuration>
<generateClient>true</generateClient>
<archive>
<manifestEntries>
<Class-Path>wsappclient.jar</Class-Path>
</manifestEntries>
</archive>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>geronimo</groupId>
<artifactId>daytrader-wsappclient</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-j2ee_1.4_spec</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<distributionManagement>
<status>deployed</status>
</distributionManagement>
</project>

View File

@ -0,0 +1 @@
f74a51504ccf227e4ef23e2e39a2b795

View File

@ -0,0 +1 @@
71ea326f41c0e11f213a31453eb295cdaafedaf3

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?><metadata>
<groupId>geronimo</groupId>
<artifactId>daytrader-ejb</artifactId>
<version>1.1</version>
<versioning>
<versions>
<version>1.1</version>
</versions>
<lastUpdated>20070201170050</lastUpdated>
</versioning>
</metadata>

View File

@ -0,0 +1 @@
0ad0dd0c31b907837cd76d8d078fa1a7

View File

@ -0,0 +1 @@
727eab340e25ac049dfd7e1440e36adbfa0b36c3

View File

@ -0,0 +1 @@
a9307b318ad24de6968916fae2369b24

View File

@ -0,0 +1 @@
5797a7262ea7b78573e4417cb1580c4857331ad0

View File

@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8"?><project>
<parent>
<artifactId>daytrader</artifactId>
<groupId>geronimo</groupId>
<version>1.1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>daytrader-streamer</artifactId>
<name>DayTrader :: Quote Streamer</name>
<version>1.1</version>
<description>Streamer Application for Day Trader</description>
<scm>
<connection>scm:svn:http://svn.apache.org/repos/asf/geronimo/daytrader/trunk/modules/streamer</connection>
<developerConnection>scm:svn:http://svn.apache.org/repos/asf/geronimo/daytrader/trunk/modules/streamer</developerConnection>
<url>http://svn.apache.org/viewcvs.cgi/geronimo/daytrader/trunk/modules/ear</url>
</scm>
<build>
<plugins>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifestEntries>
<class-path>dt-ejb.jar</class-path>
</manifestEntries>
<manifest>
<main-class>org.apache.geronimo.samples.daytrader.client.TradeClient</main-class>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>geronimo</groupId>
<artifactId>daytrader-ejb</artifactId>
<version>1.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-j2ee_1.4_spec</artifactId>
<version>1.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
<distributionManagement>
<status>deployed</status>
</distributionManagement>
</project>

View File

@ -0,0 +1 @@
05fa18418ae91126094fc348968f5998

View File

@ -0,0 +1 @@
4d31788221b2c52d706ed2f699ce1cef378f93fa

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?><metadata>
<groupId>geronimo</groupId>
<artifactId>daytrader-streamer</artifactId>
<version>1.1</version>
<versioning>
<versions>
<version>1.1</version>
</versions>
<lastUpdated>20070201170053</lastUpdated>
</versioning>
</metadata>

View File

@ -0,0 +1 @@
967fd6db15ca4b281d3d7e17d2d42748

View File

@ -0,0 +1 @@
8db116301bb933dd2bd84aa095d969915a518e71

View File

@ -0,0 +1 @@
ce74ccd6ed0386fe1f5f864e9306b7ac

View File

@ -0,0 +1 @@
cfae8bc6d35bd3fcbd09645ec5f21cdb65af606a

View File

@ -0,0 +1,95 @@
<?xml version="1.0" encoding="UTF-8"?><project>
<parent>
<artifactId>daytrader</artifactId>
<groupId>geronimo</groupId>
<version>1.1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>daytrader-web</artifactId>
<packaging>war</packaging>
<name>DayTrader :: Web Application</name>
<version>1.1</version>
<description>Daytrader Web</description>
<scm>
<connection>scm:svn:http://svn.apache.org/repos/asf/geronimo/daytrader/trunk/modules/web</connection>
<developerConnection>scm:svn:http://svn.apache.org/repos/asf/geronimo/daytrader/trunk/modules/web</developerConnection>
<url>http://svn.apache.org/viewcvs.cgi/geronimo/daytrader/trunk/modules/web</url>
</scm>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jspc-maven-plugin</artifactId>
<executions>
<execution>
<id>jspc</id>
<goals>
<goal>compile</goal>
</goals>
<configuration></configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webXml>${basedir}/target/jspweb.xml</webXml>
<filters>
<filter>${basedir}/src/main/webapp/WEB-INF/classes/build.properties</filter>
</filters>
<archive>
<manifestEntries>
<Class-Path>dt-ejb.jar streamer.jar wsappclient.jar</Class-Path>
</manifestEntries>
</archive>
<resources>
<resource implementation="org.apache.maven.model.Resource">
<filtering>true</filtering>
<directory>${basedir}/src/main/webapp/WEB-INF</directory>
<includes>
<include>web.xml</include>
</includes>
</resource>
</resources>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>geronimo</groupId>
<artifactId>daytrader-ejb</artifactId>
<type>ejb</type>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>geronimo</groupId>
<artifactId>daytrader-wsappclient</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>geronimo</groupId>
<artifactId>daytrader-streamer</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-j2ee_1.4_spec</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jspc-maven-plugin</artifactId>
<version>1.4.4</version>
<scope>provided</scope>
</dependency>
</dependencies>
<distributionManagement>
<status>deployed</status>
</distributionManagement>
</project>

View File

@ -0,0 +1 @@
f64549509bac5f2c69892b06b7dcb051

View File

@ -0,0 +1 @@
390de11af26257916a4b769a1e99fcdb552c8b6b

View File

@ -0,0 +1 @@
a111f4992ee5d79118c90753fe90f454

View File

@ -0,0 +1 @@
4719d0a316edce8be88aa49aecdda9279a57f6bf

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?><metadata>
<groupId>geronimo</groupId>
<artifactId>daytrader-web</artifactId>
<version>1.1</version>
<versioning>
<versions>
<version>1.1</version>
</versions>
<lastUpdated>20070201170104</lastUpdated>
</versioning>
</metadata>

View File

@ -0,0 +1 @@
66fccfaec7b4497965881d16ebc05440

View File

@ -0,0 +1 @@
8acf1d833362bb10815081a409e90cf1574da49b

View File

@ -0,0 +1 @@
cc4b661113efbc5e49504e69e5893b1bfcf30c22

View File

@ -0,0 +1 @@
fbf8eb5bab1378d1513dc31c93bed5cb4024d6a6

View File

@ -0,0 +1 @@
b67e0befef623ec302d99cc0ccc8a6f51046dc2c

View File

@ -0,0 +1,45 @@
<?xml version="1.0" encoding="UTF-8"?><project>
<parent>
<artifactId>daytrader</artifactId>
<groupId>geronimo</groupId>
<version>1.1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>daytrader-wsappclient</artifactId>
<name>DayTrader :: WS Application Client</name>
<version>1.1</version>
<description>Client demonstrating Web Services</description>
<scm>
<connection>scm:svn:http://svn.apache.org/repos/asf/geronimo/daytrader/trunk/modules/wsappclient</connection>
<developerConnection>scm:svn:http://svn.apache.org/repos/asf/geronimo/daytrader/trunk/modules/wsappclient</developerConnection>
<url>http://svn.apache.org/viewcvs.cgi/geronimo/daytrader/trunk/modules/wsappclient</url>
</scm>
<build>
<plugins>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifestEntries>
<class-path>dt-ejb.jar</class-path>
</manifestEntries>
<manifest>
<main-class>org.apache.geronimo.samples.daytrader.client.ws.ClientApp</main-class>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-j2ee_1.4_spec</artifactId>
<version>1.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
<distributionManagement>
<status>deployed</status>
</distributionManagement>
</project>

View File

@ -0,0 +1 @@
dede1bb862486b428417019c4d964aba36792b07

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?><metadata>
<groupId>geronimo</groupId>
<artifactId>daytrader-wsappclient</artifactId>
<version>1.1</version>
<versioning>
<versions>
<version>1.1</version>
</versions>
<lastUpdated>20070201170045</lastUpdated>
</versioning>
</metadata>

View File

@ -0,0 +1 @@
971ba8f9fdb30858c671346073cb9b33

View File

@ -0,0 +1 @@
e5b14072df36ae9b0ad8ec79512bc632164a4148

View File

@ -0,0 +1,205 @@
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>geronimo</groupId>
<artifactId>daytrader</artifactId>
<name>DayTrader :: Performance Benchmark Sample</name>
<packaging>pom</packaging>
<version>1.1</version>
<description>J2EE 1.4 Performance Benchmark Sample Application</description>
<issueManagement>
<system>jira</system>
<url>http://issues.apache.org/jira/browse/GERONIMO</url>
</issueManagement>
<ciManagement>
<system>continuum</system>
<url>http://ci.gbuild.org/continuum</url>
<notifiers>
<notifier>
<configuration>
<address>scm@geronimo.apache.org</address>
</configuration>
</notifier>
</notifiers>
</ciManagement>
<inceptionYear>2005</inceptionYear>
<properties>
<!--
|
| daytrader module versions
|
-->
<daytraderVersion>1.1</daytraderVersion>
</properties>
<developers>
<developer>
<name>Jeff Genender</name>
<id>jgenender</id>
<email>jgenender@apache.org</email>
<organization>Apache Software Foundation</organization>
<roles>
<role>Development</role>
</roles>
<timezone>+7</timezone>
</developer>
<developer>
<name>Matt Hogstrom</name>
<id>hogstrom</id>
<email>hogstrom@apache.org</email>
<organization>Apache Software Foundation</organization>
<roles>
<role>Performance Analysis</role>
</roles>
<timezone>+5</timezone>
</developer>
<developer>
<name>Vincent Massol</name>
<id>vmassol</id>
<email>vmassol@apache.org</email>
<organization>Apache Software Foundation</organization>
<roles>
<role>Build Engineer</role>
</roles>
<timezone>+1</timezone>
</developer>
</developers>
<contributors>
<contributor>
<name>Christopher Blythe</name>
<roles>
<role>Added code to improve stability and new features</role>
</roles>
</contributor>
<contributor>
<name>Stan (John) Cox</name>
<roles>
<role>Original Developer</role>
</roles>
<timezone>+5</timezone>
</contributor>
<contributor>
<name>Andrew Spyker</name>
<roles>
<role>Added the WSAppClient</role>
</roles>
<timezone>+5</timezone>
</contributor>
</contributors>
<dependencies/>
<scm>
<connection>scm:svn:http://svn.apache.org/repos/asf/geronimo/daytrader/trunk/</connection>
<developerConnection>scm:svn:http://svn.apache.org/repos/asf/geronimo/daytrader/trunk/</developerConnection>
<url>http://svn.apache.org/viewcvs.cgi/geronimo/gbuild/trunk/</url>
</scm>
<organization>
<name>Apache Software Foundation</name>
<url>http://www.apache.org/</url>
</organization>
<modules>
<module>modules/ejb</module>
<module>modules/web</module>
<module>modules/streamer</module>
<module>modules/wsappclient</module>
<module>modules/ear</module>
</modules>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>geronimo</groupId>
<artifactId>daytrader-wsappclient</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>geronimo</groupId>
<artifactId>daytrader-streamer</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-j2ee_1.4_spec</artifactId>
<version>1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.0.3</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
</dependency>
<dependency>
<groupId>geronimo</groupId>
<artifactId>daytrader-ejb</artifactId>
<version>1.1</version>
<type>ejb</type>
</dependency>
<!--dependency>
<groupId>geronimo</groupId>
<artifactId>daytrader-ejb</artifactId>
<version>1.1</version>
<type>ejb-client</type>
</dependency-->
<dependency>
<groupId>geronimo</groupId>
<artifactId>daytrader-web</artifactId>
<version>1.1</version>
<type>war</type>
</dependency>
</dependencies>
</dependencyManagement>
<distributionManagement>
<repository>
<id>apache.releases</id>
<name>Apache Release Distribution Repository</name>
<url>scp://people.apache.org/www/people.apache.org/repo/m2-ibiblio-rsync-repository</url>
</repository>
<snapshotRepository>
<id>apache.snapshots</id>
<name>Apache Development Snapshot Repository</name>
<url>scp://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository</url>
</snapshotRepository>
<site>
<id>geronimo-website</id>
<url>scp://people.apache.org/www/geronimo.apache.org/maven/genesis/config/project-config/daytrader</url>
</site>
</distributionManagement>
<profiles>
<profile>
<id>db2</id>
<activation>
<activeByDefault>true</activeByDefault>
<property>
<name>database</name>
<value>db2</value>
</property>
</activation>
<properties>
<jboss.mapping>DB2</jboss.mapping>
</properties>
</profile>
<profile>
<id>mysql</id>
<activation>
<property>
<name>database</name>
<value>mysql</value>
</property>
</activation>
<properties>
<jboss.mapping>mySQL</jboss.mapping>
</properties>
</profile>
<profile>
<id>test</id>
<modules>
<module>functional-tests</module>
</modules>
</profile>
</profiles>
</project>

View File

@ -0,0 +1 @@
24bb4da72c86f29c900802d1c9fc9581

View File

@ -0,0 +1 @@
67198346b344f6260e61dc42511d854e885f6b23

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?><metadata>
<groupId>geronimo</groupId>
<artifactId>daytrader</artifactId>
<version>1.1</version>
<versioning>
<versions>
<version>1.1</version>
</versions>
<lastUpdated>20070201170041</lastUpdated>
</versioning>
</metadata>

View File

@ -0,0 +1 @@
84aef5b30a8d48c3902bacf9fbcb9205

View File

@ -0,0 +1 @@
19606e25290454d398e3187466d7d78d2f2800c1

View File

@ -0,0 +1,84 @@
<?xml version="1.0" encoding="UTF-8"?><project>
<parent>
<artifactId>daytrader</artifactId>
<groupId>org.apache.geronimo.daytrader</groupId>
<version>2.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>daytrader-ear</artifactId>
<packaging>ear</packaging>
<name>DayTrader :: Enterprise Application</name>
<version>2.0-SNAPSHOT</version>
<description>Daytrader EAR</description>
<scm>
<connection>scm:svn:http://svn.apache.org/repos/asf/geronimo/daytrader/trunk/modules/ear</connection>
<developerConnection>scm:svn:http://svn.apache.org/repos/asf/geronimo/daytrader/trunk/modules/ear</developerConnection>
<url>http://svn.apache.org/viewcvs.cgi/geronimo/daytrader/trunk/modules/ear</url>
</scm>
<build>
<plugins>
<plugin>
<artifactId>maven-ear-plugin</artifactId>
<version>2.2</version>
<configuration>
<displayName>DayTrader 2.0</displayName>
<description>DayTrader Stock Trading Performance Benchmark Sample</description>
<version>1.4</version>
<modules>
<webModule>
<groupId>org.apache.geronimo.daytrader</groupId>
<artifactId>daytrader-web</artifactId>
<contextRoot>/daytrader</contextRoot>
<bundleFileName>web.war</bundleFileName>
</webModule>
<ejbModule>
<groupId>org.apache.geronimo.daytrader</groupId>
<artifactId>daytrader-ejb</artifactId>
<bundleFileName>dt-ejb.jar</bundleFileName>
</ejbModule>
<javaModule>
<groupId>org.apache.geronimo.daytrader</groupId>
<artifactId>daytrader-streamer</artifactId>
<bundleFileName>streamer.jar</bundleFileName>
<includeInApplicationXml>true</includeInApplicationXml>
</javaModule>
<javaModule>
<groupId>org.apache.geronimo.daytrader</groupId>
<artifactId>daytrader-wsappclient</artifactId>
<bundleFileName>wsappclient.jar</bundleFileName>
<includeInApplicationXml>true</includeInApplicationXml>
</javaModule>
</modules>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.apache.geronimo.daytrader</groupId>
<artifactId>daytrader-web</artifactId>
<version>2.0-SNAPSHOT</version>
<type>war</type>
</dependency>
<dependency>
<groupId>org.apache.geronimo.daytrader</groupId>
<artifactId>daytrader-ejb</artifactId>
<version>2.0-SNAPSHOT</version>
<type>ejb</type>
</dependency>
<dependency>
<groupId>org.apache.geronimo.daytrader</groupId>
<artifactId>daytrader-streamer</artifactId>
<version>2.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.geronimo.daytrader</groupId>
<artifactId>daytrader-wsappclient</artifactId>
<version>2.0-SNAPSHOT</version>
</dependency>
</dependencies>
<distributionManagement>
<status>deployed</status>
</distributionManagement>
</project>

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?><metadata>
<groupId>org.apache.geronimo.daytrader</groupId>
<artifactId>daytrader-ear</artifactId>
<version>2.0-SNAPSHOT</version>
<versioning>
<snapshot>
<buildNumber>1</buildNumber>
</snapshot>
<lastUpdated>20070201164634</lastUpdated>
</versioning>
</metadata>

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?><metadata>
<groupId>org.apache.geronimo.daytrader</groupId>
<artifactId>daytrader-ear</artifactId>
<version>2.0-SNAPSHOT</version>
<versioning>
<versions>
<version>2.0-SNAPSHOT</version>
</versions>
<lastUpdated>20070201164634</lastUpdated>
</versioning>
</metadata>

View File

@ -0,0 +1 @@
400a4c18b70498f60437ff8ad66de5a3

View File

@ -0,0 +1 @@
4e4f57ef76ee335161112382342d3407e9bca2cc

Some files were not shown because too many files have changed in this diff Show More