--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ 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.
+ -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <artifactId>archiva</artifactId>
+ <groupId>org.apache.maven.archiva</groupId>
+ <version>1.0-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>archiva-core</artifactId>
+ <name>Archiva Core</name>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.archiva</groupId>
+ <artifactId>archiva-consumer-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.archiva</groupId>
+ <artifactId>archiva-configuration</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.archiva</groupId>
+ <artifactId>archiva-discoverer</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.archiva</groupId>
+ <artifactId>archiva-proxy</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.archiva</groupId>
+ <artifactId>archiva-reports-standard</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-component-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-quartz</artifactId>
+ <version>1.0-alpha-3</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus.cache</groupId>
+ <artifactId>plexus-cache-ehcache</artifactId>
+ <version>1.0-alpha-1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-taskqueue</artifactId>
+ <version>1.0-alpha-6</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-lang</groupId>
+ <artifactId>commons-lang</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus.registry</groupId>
+ <artifactId>plexus-registry-commons</artifactId>
+ <version>1.0-alpha-2-SNAPSHOT</version>
+ <scope>test</scope>
+ </dependency>
+ <!-- TEST DEPS -->
+ <dependency>
+ <groupId>hsqldb</groupId>
+ <artifactId>hsqldb</artifactId>
+ <version>1.7.3.3</version>
+ <scope>test</scope>
+ </dependency>
+ <!-- needed for PlexusTestCase -->
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>merge</id>
+ <goals>
+ <goal>merge-descriptors</goal>
+ </goals>
+ <configuration>
+ <descriptors>
+ <descriptor>${basedir}/src/main/resources/META-INF/plexus/components.xml</descriptor>
+ <descriptor>${project.build.directory}/generated-resources/plexus/META-INF/plexus/components.xml</descriptor>
+ </descriptors>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
--- /dev/null
+package org.apache.maven.archiva.configuration;
+
+/*
+ * 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.proxy.ProxiedArtifactRepository;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+
+import java.util.List;
+
+/**
+ * Create an artifact repository from the given configuration.
+ *
+ * @author <a href="mailto:brett@apache.org">Brett Porter</a>
+ */
+public interface ConfiguredRepositoryFactory
+{
+ String ROLE = ConfiguredRepositoryFactory.class.getName();
+
+ /**
+ * Create an artifact repository from the given configuration.
+ *
+ * @param configuration the configuration
+ * @return the artifact repository
+ */
+ ArtifactRepository createRepository( RepositoryConfiguration configuration );
+
+ /**
+ * Create artifact repositories from the given configuration.
+ *
+ * @param configuration the configuration containing the repositories
+ * @return the artifact repositories
+ */
+ List createRepositories( Configuration configuration );
+
+ /**
+ * Create a local repository from the given configuration.
+ *
+ * @param configuration the configuration
+ * @return the local artifact repository
+ */
+ ArtifactRepository createLocalRepository( Configuration configuration );
+
+ /**
+ * Create an artifact repository from the given proxy repository configuration.
+ *
+ * @param configuration the configuration
+ * @return the artifact repository
+ */
+ ProxiedArtifactRepository createProxiedRepository( ProxiedRepositoryConfiguration configuration );
+
+ /**
+ * Create artifact repositories from the given proxy repository configurations.
+ *
+ * @param configuration the configuration containing the repositories
+ * @return the artifact repositories
+ */
+ List createProxiedRepositories( Configuration configuration );
+}
--- /dev/null
+package org.apache.maven.archiva.configuration;
+
+/*
+ * 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.proxy.ProxiedArtifactRepository;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
+import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
+import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Create artifact repositories from a configuration.
+ *
+ * @author <a href="mailto:brett@apache.org">Brett Porter</a>
+ * @plexus.component role="org.apache.maven.archiva.configuration.ConfiguredRepositoryFactory"
+ */
+public class DefaultConfiguredRepositoryFactory
+ implements ConfiguredRepositoryFactory
+{
+ /**
+ * @plexus.requirement role="org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout"
+ */
+ private Map repositoryLayouts;
+
+ /**
+ * @plexus.requirement
+ */
+ private ArtifactRepositoryFactory repoFactory;
+
+ public ArtifactRepository createRepository( RepositoryConfiguration configuration )
+ {
+ return createRepository( configuration.getLayout(), configuration.getId(), configuration.getDirectory());
+ }
+
+ public ProxiedArtifactRepository createProxiedRepository( ProxiedRepositoryConfiguration configuration )
+ {
+ boolean enabled = isEnabled( configuration.getSnapshotsPolicy() );
+ String updatePolicy =
+ getUpdatePolicy( configuration.getSnapshotsPolicy(), configuration.getSnapshotsInterval() );
+ ArtifactRepositoryPolicy snapshotsPolicy =
+ new ArtifactRepositoryPolicy( enabled, updatePolicy, ArtifactRepositoryPolicy.CHECKSUM_POLICY_FAIL );
+
+ enabled = isEnabled( configuration.getReleasesPolicy() );
+ updatePolicy = getUpdatePolicy( configuration.getReleasesPolicy(), configuration.getReleasesInterval() );
+ ArtifactRepositoryPolicy releasesPolicy =
+ new ArtifactRepositoryPolicy( enabled, updatePolicy, ArtifactRepositoryPolicy.CHECKSUM_POLICY_FAIL );
+
+ ArtifactRepositoryLayout layout = (ArtifactRepositoryLayout) repositoryLayouts.get( configuration.getLayout() );
+
+ if ( layout == null )
+ {
+ throw new IllegalArgumentException( "Invalid layout: " + configuration.getLayout() );
+ }
+
+ ArtifactRepository artifactRepository = repoFactory.createArtifactRepository( configuration.getId(),
+ configuration.getUrl(), layout,
+ snapshotsPolicy, releasesPolicy );
+ ProxiedArtifactRepository repository = new ProxiedArtifactRepository( artifactRepository );
+ repository.setCacheFailures( configuration.isCacheFailures() );
+ repository.setHardFail( configuration.isHardFail() );
+ repository.setName( configuration.getName() );
+ repository.setUseNetworkProxy( configuration.isUseNetworkProxy() );
+ return repository;
+ }
+
+ public List createRepositories( Configuration configuration )
+ {
+ List managedRepositories = configuration.getRepositories();
+ List repositories = new ArrayList( managedRepositories.size() );
+
+ for ( Iterator i = managedRepositories.iterator(); i.hasNext(); )
+ {
+ repositories.add( createRepository( (RepositoryConfiguration) i.next() ) );
+ }
+
+ return repositories;
+ }
+
+ public List createProxiedRepositories( Configuration configuration )
+ {
+ List proxiedRepositories = configuration.getProxiedRepositories();
+ List repositories = new ArrayList( proxiedRepositories.size() );
+
+ for ( Iterator i = proxiedRepositories.iterator(); i.hasNext(); )
+ {
+ repositories.add( createProxiedRepository( (ProxiedRepositoryConfiguration) i.next() ) );
+ }
+
+ return repositories;
+ }
+
+ public ArtifactRepository createLocalRepository( Configuration configuration )
+ {
+ return createRepository( "default", "local", configuration.getLocalRepository() );
+ }
+
+ public ArtifactRepository createRepository( String layout, String id, String directory )
+ {
+ ArtifactRepositoryLayout repositoryLayout = (ArtifactRepositoryLayout) repositoryLayouts.get( layout );
+ File repository = new File( directory );
+ repository.mkdirs();
+
+ String repoDir = repository.toURI().toString();
+ //workaround for spaces non converted by PathUtils in wagon
+ //TODO: remove it when PathUtils will be fixed
+ if ( repoDir.indexOf( "%20" ) >= 0 )
+ {
+ repoDir = StringUtils.replace( repoDir, "%20", " " );
+ }
+
+ return repoFactory.createArtifactRepository( id, repoDir, repositoryLayout, null, null );
+ }
+
+ private static String getUpdatePolicy( String policy, int interval )
+ {
+ return "interval".equals( policy ) ? policy + ":" + interval : policy;
+ }
+
+ private static boolean isEnabled( String policy )
+ {
+ return !"disabled".equals( policy );
+ }
+}
--- /dev/null
+package org.apache.maven.archiva.consumers;
+
+/*
+ * 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.common.utils.BaseFile;
+import org.apache.maven.archiva.reporting.database.ArtifactResultsDatabase;
+import org.apache.maven.archiva.reporting.group.ReportGroup;
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.InvalidArtifactRTException;
+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 java.util.Collections;
+
+/**
+ * ArtifactHealthConsumer
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ *
+ * @plexus.component role="org.apache.maven.archiva.common.consumers.Consumer"
+ * role-hint="artifact-health"
+ * instantiation-strategy="per-lookup"
+ */
+public class ArtifactHealthConsumer
+ extends GenericArtifactConsumer
+{
+ /**
+ * @plexus.requirement
+ */
+ private ArtifactResultsDatabase database;
+
+ /**
+ * @plexus.requirement role-hint="health"
+ */
+ private ReportGroup health;
+
+ /**
+ * @plexus.requirement
+ */
+ private MavenProjectBuilder projectBuilder;
+
+ public void processArtifact( Artifact artifact, BaseFile file )
+ {
+ Model model = null;
+ try
+ {
+ Artifact pomArtifact = artifactFactory.createProjectArtifact( artifact.getGroupId(), artifact
+ .getArtifactId(), artifact.getVersion() );
+ MavenProject project = projectBuilder.buildFromRepository( pomArtifact, Collections.EMPTY_LIST, repository );
+
+ model = project.getModel();
+ }
+ catch ( InvalidArtifactRTException e )
+ {
+ database.addWarning( artifact, "health", "invalid", "Invalid artifact [" + artifact + "] : " + e );
+ }
+ catch ( ProjectBuildingException e )
+ {
+ database.addWarning( artifact, "health", "project-build", "Error reading project model: " + e );
+ }
+
+ database.remove( artifact );
+ health.processArtifact( artifact, model );
+ }
+
+ public void processFileProblem( BaseFile path, String message )
+ {
+ /* do nothing here (yet) */
+ // TODO: store build failure into database?
+ }
+
+ public String getName()
+ {
+ return "Artifact Health Consumer";
+ }
+}
--- /dev/null
+package org.apache.maven.archiva.consumers;
+
+/*
+ * 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.common.utils.BaseFile;
+import org.apache.maven.archiva.configuration.ArchivaConfiguration;
+import org.apache.maven.archiva.configuration.Configuration;
+import org.apache.maven.archiva.indexer.RepositoryArtifactIndex;
+import org.apache.maven.archiva.indexer.RepositoryArtifactIndexFactory;
+import org.apache.maven.archiva.indexer.RepositoryIndexException;
+import org.apache.maven.archiva.indexer.record.RepositoryIndexRecordFactory;
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+
+import java.io.File;
+
+/**
+ * IndexArtifactConsumer
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ *
+ * @plexus.component role="org.apache.maven.archiva.common.consumers.Consumer"
+ * role-hint="index-artifact"
+ * instantiation-strategy="per-lookup"
+ */
+public class IndexArtifactConsumer
+ extends GenericArtifactConsumer
+{
+ /**
+ * @plexus.requirement
+ */
+ private RepositoryArtifactIndexFactory indexFactory;
+
+ /**
+ * @plexus.requirement role-hint="standard"
+ */
+ private RepositoryIndexRecordFactory recordFactory;
+
+ /**
+ * Configuration store.
+ *
+ * @plexus.requirement
+ */
+ private ArchivaConfiguration archivaConfiguration;
+
+ private RepositoryArtifactIndex index;
+
+ public boolean init( ArtifactRepository repository )
+ {
+ Configuration configuration = archivaConfiguration.getConfiguration();
+
+ File indexPath = new File( configuration.getIndexPath() );
+
+ index = indexFactory.createStandardIndex( indexPath );
+
+ return super.init( repository );
+ }
+
+ public void processArtifact( Artifact artifact, BaseFile file )
+ {
+ try
+ {
+ index.indexArtifact( artifact, recordFactory );
+ }
+ catch ( RepositoryIndexException e )
+ {
+ getLogger().warn( "Unable to index artifact " + artifact, e );
+ }
+ }
+
+ public void processFileProblem( BaseFile path, String message )
+ {
+
+ }
+
+ public String getName()
+ {
+ return "Index Artifact Consumer";
+ }
+}
--- /dev/null
+package org.apache.maven.archiva.consumers;
+
+/*
+ * 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.common.utils.BaseFile;
+import org.apache.maven.archiva.reporting.database.MetadataResultsDatabase;
+import org.apache.maven.archiva.reporting.group.ReportGroup;
+import org.apache.maven.archiva.reporting.model.MetadataResults;
+import org.apache.maven.artifact.repository.metadata.RepositoryMetadata;
+
+/**
+ * RepositoryMetadataHealthConsumer
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ *
+ * @plexus.component role="org.apache.maven.archiva.common.consumers.Consumer"
+ * role-hint="metadata-health"
+ * instantiation-strategy="per-lookup"
+ */
+public class RepositoryMetadataHealthConsumer
+ extends GenericRepositoryMetadataConsumer
+{
+ /**
+ * @plexus.requirement
+ */
+ private MetadataResultsDatabase database;
+
+ /**
+ * @plexus.requirement role-hint="health"
+ */
+ private ReportGroup health;
+
+ public void processRepositoryMetadata( RepositoryMetadata metadata, BaseFile file )
+ {
+ MetadataResults results = database.getMetadataResults( metadata );
+ database.clearResults( results );
+
+ health.processMetadata( metadata, repository );
+ }
+
+ public void processFileProblem( BaseFile path, String message )
+ {
+
+ }
+
+ public String getName()
+ {
+ return "RepositoryMetadata Health Consumer";
+ }
+}
--- /dev/null
+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.common.artifact.managed.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;
+
+import java.util.List;
+
+/**
+ * ActiveManagedRepositories
+ *
+ * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public interface ActiveManagedRepositories
+{
+ 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 );
+
+ /**
+ * Get the List of active managed repositories as a List of {@link ArtifactRepository} objects.
+ *
+ * @return the list of ArtifactRepository objects.
+ */
+ public List /*<ArtifactRepository>*/getAllArtifactRepositories();
+
+ RepositoryConfiguration getRepositoryConfiguration( String id );
+
+ /**
+ * Providing only a groupId, artifactId, and version, return the MavenProject that
+ * is found, in any managed repository.
+ *
+ * @param groupId the groupId to search for
+ * @param artifactId the artifactId to search for
+ * @param version the version to search for
+ * @return the MavenProject from the provided parameters.
+ * @throws ProjectBuildingException if there was a problem building the maven project object.
+ */
+ MavenProject findProject( String groupId, String artifactId, String version )
+ throws ProjectBuildingException;
+
+ ManagedArtifact findArtifact( String groupId, String artifactId, String version )
+ throws ProjectBuildingException;
+
+ ManagedArtifact findArtifact( String groupId, String artifactId, String version, String type );
+
+ ManagedArtifact findArtifact( Artifact artifact );
+
+ /**
+ * Obtain the last data refresh timestamp for all Managed Repositories.
+ *
+ * @return the last data refresh timestamp.
+ */
+ long getLastDataRefreshTime();
+
+ /**
+ * Tests to see if there needs to be a data refresh performed.
+ *
+ * The only valid scenario is if 1 or more repositories have not had their data refreshed ever.
+ *
+ * @return true if there needs to be a data refresh.
+ */
+ boolean needsDataRefresh();
+}
--- /dev/null
+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.common.artifact.managed.ManagedArtifact;
+import org.apache.maven.archiva.common.artifact.managed.ManagedArtifactTypes;
+import org.apache.maven.archiva.common.artifact.managed.ManagedEjbArtifact;
+import org.apache.maven.archiva.common.artifact.managed.ManagedJavaArtifact;
+import org.apache.maven.archiva.configuration.ArchivaConfiguration;
+import org.apache.maven.archiva.configuration.Configuration;
+import org.apache.maven.archiva.configuration.ConfiguredRepositoryFactory;
+import org.apache.maven.archiva.configuration.RepositoryConfiguration;
+import org.apache.maven.archiva.discoverer.DiscovererStatistics;
+import org.apache.maven.archiva.scheduler.executors.DataRefreshExecutor;
+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.logging.AbstractLogEnabled;
+import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
+import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
+import org.codehaus.plexus.registry.Registry;
+import org.codehaus.plexus.registry.RegistryListener;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * DefaultActiveManagedRepositories
+ *
+ * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
+ * @version $Id$
+ * @plexus.component role="org.apache.maven.archiva.repositories.ActiveManagedRepositories"
+ */
+public class DefaultActiveManagedRepositories
+ extends AbstractLogEnabled
+ implements ActiveManagedRepositories, Initializable, RegistryListener
+{
+ /**
+ * @plexus.requirement role-hint="artifactCache"
+ */
+ private Cache artifactCache;
+
+ /**
+ * @plexus.requirement
+ */
+ private ArtifactFactory artifactFactory;
+
+ /**
+ * @plexus.requirement
+ */
+ private ArchivaConfiguration archivaConfiguration;
+
+ /**
+ * @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 List getAllArtifactRepositories()
+ {
+ return repositoryFactory.createRepositories( configuration );
+ }
+
+ public RepositoryConfiguration getRepositoryConfiguration( String id )
+ {
+ return this.configuration.getRepositoryById( id );
+ }
+
+ public void initialize()
+ throws InitializationException
+ {
+ Configuration config = archivaConfiguration.getConfiguration();
+ archivaConfiguration.addChangeListener( this );
+ 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;
+ }
+
+ public void beforeConfigurationChange( Registry registry, String propertyName, Object propertyValue )
+ {
+ // nothing to do
+ }
+
+ public void afterConfigurationChange( Registry registry, String propertyName, Object propertyValue )
+ {
+ if ( propertyName.startsWith( "repositories" ) || propertyName.startsWith( "localRepository" ) )
+ {
+ getLogger().debug(
+ "Triggering managed repository configuration change with " + propertyName + " set to "
+ + propertyValue );
+ configureSelf( archivaConfiguration.getConfiguration() );
+ }
+ else
+ {
+ getLogger().debug( "Not triggering managed repository configuration change with " + propertyName );
+ }
+ }
+
+ public long getLastDataRefreshTime()
+ {
+ long lastDataRefreshTime = 0;
+
+ for ( Iterator i = getAllArtifactRepositories().iterator(); i.hasNext(); )
+ {
+ ArtifactRepository repository = (ArtifactRepository) i.next();
+
+ DiscovererStatistics stats = new DiscovererStatistics( repository );
+ try
+ {
+ stats.load( DataRefreshExecutor.DATAREFRESH_FILE );
+ if ( stats.getTimestampFinished() > lastDataRefreshTime )
+ {
+ lastDataRefreshTime = stats.getTimestampFinished();
+ }
+ }
+ catch ( FileNotFoundException e)
+ {
+ getLogger().info(
+ "No previous datarefresh timestamp available, as "
+ + DataRefreshExecutor.DATAREFRESH_FILE + " has never been generated." );
+ }
+ catch ( IOException e )
+ {
+ getLogger().warn(
+ "Unable to load " + DataRefreshExecutor.DATAREFRESH_FILE
+ + " to determine last refresh timestamp: " + e.getMessage(), e );
+ }
+ }
+
+ return lastDataRefreshTime;
+ }
+
+ public boolean needsDataRefresh()
+ {
+ for ( Iterator i = getAllArtifactRepositories().iterator(); i.hasNext(); )
+ {
+ ArtifactRepository repository = (ArtifactRepository) i.next();
+
+ DiscovererStatistics stats = new DiscovererStatistics( repository );
+ if ( stats.getTimestampFinished() <= 0 )
+ {
+ // Found a repository that has NEVER had it's data walked.
+ return true;
+ }
+ }
+
+ return false;
+ }
+}
--- /dev/null
+package org.apache.maven.archiva.scheduler;
+
+/*
+ * 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.configuration.ArchivaConfiguration;
+import org.apache.maven.archiva.configuration.Configuration;
+import org.apache.maven.archiva.repositories.ActiveManagedRepositories;
+import org.apache.maven.archiva.scheduler.task.DataRefreshTask;
+import org.apache.maven.archiva.scheduler.task.RepositoryTask;
+import org.codehaus.plexus.logging.AbstractLogEnabled;
+import org.codehaus.plexus.personality.plexus.lifecycle.phase.Startable;
+import org.codehaus.plexus.personality.plexus.lifecycle.phase.StartingException;
+import org.codehaus.plexus.personality.plexus.lifecycle.phase.StoppingException;
+import org.codehaus.plexus.registry.Registry;
+import org.codehaus.plexus.registry.RegistryListener;
+import org.codehaus.plexus.scheduler.Scheduler;
+import org.codehaus.plexus.taskqueue.TaskQueue;
+import org.codehaus.plexus.taskqueue.TaskQueueException;
+import org.codehaus.plexus.taskqueue.execution.TaskExecutionException;
+import org.quartz.CronTrigger;
+import org.quartz.JobDataMap;
+import org.quartz.JobDetail;
+import org.quartz.SchedulerException;
+
+import java.text.ParseException;
+
+/**
+ * Default implementation of a scheduling component for the application.
+ *
+ * @author <a href="mailto:brett@apache.org">Brett Porter</a>
+ * @plexus.component role="org.apache.maven.archiva.scheduler.RepositoryTaskScheduler"
+ */
+public class DefaultRepositoryTaskScheduler
+ extends AbstractLogEnabled
+ implements RepositoryTaskScheduler, Startable, RegistryListener
+{
+ /**
+ * @plexus.requirement
+ */
+ private Scheduler scheduler;
+
+ /**
+ * @plexus.requirement role-hint="data-refresh"
+ */
+ private TaskQueue datarefreshQueue;
+
+ /**
+ * @plexus.requirement
+ */
+ private ArchivaConfiguration archivaConfiguration;
+
+ /**
+ * @plexus.requirement
+ */
+ private ActiveManagedRepositories activeRepositories;
+
+ private static final String DISCOVERER_GROUP = "DISCOVERER";
+
+ private static final String DATA_REFRESH_JOB = "dataRefreshTask";
+
+ public void start()
+ throws StartingException
+ {
+ Configuration configuration = archivaConfiguration.getConfiguration();
+ archivaConfiguration.addChangeListener( this );
+
+ try
+ {
+ scheduleJobs( configuration.getDataRefreshCronExpression() );
+ }
+ catch ( ParseException e )
+ {
+ throw new StartingException( "Invalid configuration: " + configuration.getDataRefreshCronExpression(), e );
+ }
+ catch ( SchedulerException e )
+ {
+ throw new StartingException( "Unable to start scheduler: " + e.getMessage(), e );
+ }
+ }
+
+ private void scheduleJobs( String indexerCronExpression )
+ throws ParseException, SchedulerException
+ {
+ JobDetail jobDetail = createJobDetail( DATA_REFRESH_JOB );
+
+ getLogger().info( "Scheduling data-refresh: " + indexerCronExpression );
+ CronTrigger trigger = new CronTrigger( DATA_REFRESH_JOB + "Trigger", DISCOVERER_GROUP, indexerCronExpression );
+ scheduler.scheduleJob( jobDetail, trigger );
+
+ try
+ {
+ queueNowIfNeeded();
+ }
+ catch ( org.codehaus.plexus.taskqueue.execution.TaskExecutionException e )
+ {
+ getLogger().error( "Error executing task first time, continuing anyway: " + e.getMessage(), e );
+ }
+ }
+
+ private JobDetail createJobDetail( String jobName )
+ {
+ JobDetail jobDetail = new JobDetail( jobName, DISCOVERER_GROUP, RepositoryTaskJob.class );
+
+ JobDataMap dataMap = new JobDataMap();
+ dataMap.put( RepositoryTaskJob.TASK_QUEUE, datarefreshQueue );
+ dataMap.put( RepositoryTaskJob.TASK_QUEUE_POLICY, RepositoryTask.QUEUE_POLICY_SKIP );
+ jobDetail.setJobDataMap( dataMap );
+
+ return jobDetail;
+ }
+
+ public void stop()
+ throws StoppingException
+ {
+ try
+ {
+ scheduler.unscheduleJob( DATA_REFRESH_JOB, DISCOVERER_GROUP );
+ }
+ catch ( SchedulerException e )
+ {
+ throw new StoppingException( "Unable to unschedule tasks", e );
+ }
+ }
+
+
+ public void beforeConfigurationChange( Registry registry, String propertyName, Object propertyValue )
+ {
+ // nothing to do
+ }
+
+ public void afterConfigurationChange( Registry registry, String propertyName, Object propertyValue )
+ {
+ if ( "dataRefreshCronExpression".equals( propertyName ) )
+ {
+ getLogger().debug( "Restarting task scheduler with new configuration after property change: " +
+ propertyName + " to " + propertyValue );
+ try
+ {
+ stop();
+ }
+ catch ( StoppingException e )
+ {
+ getLogger().warn( "Error stopping task scheduler: " + e.getMessage(), e );
+ }
+
+ try
+ {
+ Configuration configuration = archivaConfiguration.getConfiguration();
+ scheduleJobs( configuration.getDataRefreshCronExpression() );
+ }
+ catch ( ParseException e )
+ {
+ getLogger().error(
+ "Error restarting task scheduler after configuration change, due to configuration error: " +
+ e.getMessage(), e );
+ }
+ catch ( SchedulerException e )
+ {
+ getLogger().error( "Error restarting task scheduler after configuration change: " + e.getMessage(), e );
+ }
+ }
+ else
+ {
+ getLogger().debug(
+ "Not restarting task scheduler with new configuration after property change: " + propertyName );
+ }
+ }
+
+ public void runDataRefresh()
+ throws TaskExecutionException
+ {
+ DataRefreshTask task = new DataRefreshTask();
+ task.setJobName( "DATA_REFRESH_INIT" );
+ try
+ {
+ datarefreshQueue.put( task );
+ }
+ catch ( TaskQueueException e )
+ {
+ throw new TaskExecutionException( e.getMessage(), e );
+ }
+ }
+
+ public void queueNowIfNeeded()
+ throws TaskExecutionException
+ {
+ if ( activeRepositories.needsDataRefresh() )
+ {
+ runDataRefresh();
+ }
+ }
+
+}
--- /dev/null
+package org.apache.maven.archiva.scheduler;
+
+/*
+ * 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.scheduler.task.DataRefreshTask;
+import org.apache.maven.archiva.scheduler.task.RepositoryTask;
+import org.codehaus.plexus.scheduler.AbstractJob;
+import org.codehaus.plexus.taskqueue.TaskQueue;
+import org.codehaus.plexus.taskqueue.TaskQueueException;
+import org.quartz.JobDataMap;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+
+/**
+ * This class is the discoverer job that is executed by the scheduler.
+ */
+public class RepositoryTaskJob
+ extends AbstractJob
+{
+ static final String TASK_KEY = "EXECUTION";
+
+ static final String TASK_QUEUE = "TASK_QUEUE";
+
+ static final String TASK_QUEUE_POLICY = "TASK_QUEUE_POLICY";
+
+ /**
+ * Execute the discoverer and the indexer.
+ *
+ * @param context
+ * @throws org.quartz.JobExecutionException
+ *
+ */
+ public void execute( JobExecutionContext context )
+ throws JobExecutionException
+ {
+ JobDataMap dataMap = context.getJobDetail().getJobDataMap();
+ setJobDataMap( dataMap );
+
+ TaskQueue taskQueue = (TaskQueue) dataMap.get( TASK_QUEUE );
+ String queuePolicy = dataMap.get( TASK_QUEUE_POLICY ).toString();
+
+ RepositoryTask task = new DataRefreshTask();
+ task.setJobName( context.getJobDetail().getName() );
+
+ try
+ {
+ if ( taskQueue.getQueueSnapshot().size() == 0 )
+ {
+ taskQueue.put( task );
+ }
+ else
+ {
+ if ( RepositoryTask.QUEUE_POLICY_WAIT.equals( queuePolicy ) )
+ {
+ taskQueue.put( task );
+ }
+ else if ( RepositoryTask.QUEUE_POLICY_SKIP.equals( queuePolicy ) )
+ {
+ // do not queue anymore, policy is to skip
+ }
+ }
+ }
+ catch ( TaskQueueException e )
+ {
+ throw new JobExecutionException( e );
+ }
+ }
+}
--- /dev/null
+package org.apache.maven.archiva.scheduler;
+
+/*
+ * 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.codehaus.plexus.taskqueue.execution.TaskExecutionException;
+
+/**
+ * The component that takes care of scheduling in the application.
+ *
+ * @author <a href="mailto:brett@apache.org">Brett Porter</a>
+ */
+public interface RepositoryTaskScheduler
+{
+ /**
+ * The Plexus component role.
+ */
+ String ROLE = RepositoryTaskScheduler.class.getName();
+
+ void runDataRefresh()
+ throws TaskExecutionException;
+
+}
--- /dev/null
+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 java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * Mutable list of consumer for the Data Refresh.
+ *
+ * NOTE: This class only exists to minimize the requirements of manual component management.
+ * This approach allows for a small and simple component definition in the application.xml
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ *
+ * @plexus.component role="org.apache.maven.archiva.scheduler.executors.DataRefreshConsumers"
+ */
+public class DataRefreshConsumers
+{
+ /**
+ * @plexus.configuration
+ */
+ private List consumerNames;
+
+ public List getConsumerNames()
+ {
+ if ( consumerNames == null )
+ {
+ consumerNames = new ArrayList();
+ consumerNames.add( "index-artifact" );
+ consumerNames.add( "artifact-health" );
+ consumerNames.add( "metadata-health" );
+ }
+
+ return consumerNames;
+ }
+
+ public Iterator iterator()
+ {
+ return getConsumerNames().iterator();
+ }
+}
--- /dev/null
+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.maven.archiva.configuration.ArchivaConfiguration;
+import org.apache.maven.archiva.configuration.Configuration;
+import org.apache.maven.archiva.configuration.ConfiguredRepositoryFactory;
+import org.apache.maven.archiva.configuration.RepositoryConfiguration;
+import org.apache.maven.archiva.discoverer.Discoverer;
+import org.apache.maven.archiva.discoverer.DiscovererException;
+import org.apache.maven.archiva.discoverer.DiscovererStatistics;
+import org.apache.maven.archiva.repository.consumer.Consumer;
+import org.apache.maven.archiva.repository.consumer.ConsumerException;
+import org.apache.maven.archiva.repository.consumer.ConsumerFactory;
+import org.apache.maven.archiva.scheduler.task.DataRefreshTask;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.codehaus.plexus.logging.AbstractLogEnabled;
+import org.codehaus.plexus.taskqueue.Task;
+import org.codehaus.plexus.taskqueue.execution.TaskExecutionException;
+import org.codehaus.plexus.taskqueue.execution.TaskExecutor;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * DataRefreshExecutor
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ *
+ * @plexus.component role="org.codehaus.plexus.taskqueue.execution.TaskExecutor"
+ * role-hint="data-refresh"
+ */
+public class DataRefreshExecutor
+ extends AbstractLogEnabled
+ implements TaskExecutor
+{
+ public static final String DATAREFRESH_FILE = ".datarefresh";
+
+ /**
+ * Configuration store.
+ *
+ * @plexus.requirement
+ */
+ private ArchivaConfiguration archivaConfiguration;
+
+ /**
+ * @plexus.requirement
+ */
+ private ConfiguredRepositoryFactory repoFactory;
+
+ /**
+ * @plexus.requirement
+ */
+ private DataRefreshConsumers consumerNames;
+
+ /**
+ * @plexus.requirement
+ */
+ private Discoverer discoverer;
+
+ /**
+ * @plexus.requirement
+ */
+ private ConsumerFactory consumerFactory;
+
+ public void executeTask( Task task )
+ throws TaskExecutionException
+ {
+ DataRefreshTask indexerTask = (DataRefreshTask) task;
+
+ getLogger().info( "Executing task from queue with job name: " + indexerTask.getJobName() );
+
+ execute();
+ }
+
+ public void execute()
+ throws TaskExecutionException
+ {
+ Configuration configuration = archivaConfiguration.getConfiguration();
+
+ List consumers = new ArrayList();
+
+ for ( Iterator it = consumerNames.iterator(); it.hasNext(); )
+ {
+ String name = (String) it.next();
+ try
+ {
+ Consumer consumer = consumerFactory.createConsumer( name );
+ consumers.add( consumer );
+ }
+ catch ( ConsumerException e )
+ {
+ getLogger().warn( e.getMessage(), e );
+ throw new TaskExecutionException( e.getMessage(), e );
+ }
+ }
+
+ long time = System.currentTimeMillis();
+
+ for ( Iterator i = configuration.getRepositories().iterator(); i.hasNext(); )
+ {
+ RepositoryConfiguration repositoryConfiguration = (RepositoryConfiguration) i.next();
+
+ if ( !repositoryConfiguration.isIndexed() )
+ {
+ continue;
+ }
+
+ ArtifactRepository repository = repoFactory.createRepository( repositoryConfiguration );
+
+ List filteredConsumers = filterConsumers( consumers, repository );
+
+ DiscovererStatistics lastRunStats = new DiscovererStatistics( repository );
+ try
+ {
+ lastRunStats.load( DATAREFRESH_FILE );
+ }
+ catch ( IOException e )
+ {
+ getLogger().info(
+ "Unable to load last run statistics for repository [" + repository.getId() + "]: "
+ + e.getMessage() );
+ }
+
+ try
+ {
+ DiscovererStatistics stats = discoverer
+ .walkRepository( repository, filteredConsumers, repositoryConfiguration.isIncludeSnapshots(),
+ lastRunStats.getTimestampFinished(), null, null );
+
+ stats.dump( getLogger() );
+ stats.save( DATAREFRESH_FILE );
+ }
+ catch ( DiscovererException e )
+ {
+ getLogger().error(
+ "Unable to run data refresh against repository [" + repository.getId() + "]: "
+ + e.getMessage(), e );
+ }
+ catch ( IOException e )
+ {
+ getLogger().warn(
+ "Unable to save last run statistics for repository [" + repository.getId() + "]: "
+ + e.getMessage() );
+ }
+ }
+
+ time = System.currentTimeMillis() - time;
+
+ getLogger().info( "Finished data refresh process in " + time + "ms." );
+ }
+
+ /**
+ * Not all consumers work with all repositories.
+ * This will filter out those incompatible consumers based on the provided repository.
+ *
+ * @param consumers the initial list of consumers.
+ * @param repository the repository to test consumer against.
+ * @return the filtered list of consumers.
+ */
+ private List filterConsumers( List consumers, ArtifactRepository repository )
+ {
+ List filtered = new ArrayList();
+
+ for ( Iterator it = consumers.iterator(); it.hasNext(); )
+ {
+ Consumer consumer = (Consumer) it.next();
+ if ( consumer.init( repository ) )
+ {
+ // Approved!
+ filtered.add( consumer );
+ }
+ else
+ {
+ getLogger().info( "Disabling consumer [" + consumer.getName() + "] for repository " + repository );
+ }
+ }
+
+ return filtered;
+ }
+}
--- /dev/null
+package org.apache.maven.archiva.scheduler.task;
+
+/**
+ * DataRefreshTask - task for discovering changes in the repository
+ * and updating all associated data.
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class DataRefreshTask
+ implements RepositoryTask
+{
+ private String jobName;
+
+ private String policy;
+
+ public String getJobName()
+ {
+ return jobName;
+ }
+
+ public String getQueuePolicy()
+ {
+ return policy;
+ }
+
+ public void setJobName( String jobName )
+ {
+ this.jobName = jobName;
+ }
+
+ public void setQueuePolicy( String policy )
+ {
+ this.policy = policy;
+ }
+
+ public long getMaxExecutionTime()
+ {
+ return 0;
+ }
+}
--- /dev/null
+package org.apache.maven.archiva.scheduler.task;
+
+/*
+ * 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.codehaus.plexus.taskqueue.Task;
+
+/**
+ * A repository task.
+ *
+ * @author <a href="mailto:brett@apache.org">Brett Porter</a>
+ */
+public interface RepositoryTask
+ extends Task
+{
+ String QUEUE_POLICY_WAIT = "wait";
+
+ String QUEUE_POLICY_SKIP = "skip";
+
+ /**
+ * Gets the queue policy for this task.
+ *
+ * @return Queue policy for this task
+ */
+ String getQueuePolicy();
+
+ /**
+ * Sets the queue policy for this task.
+ *
+ * @param policy
+ */
+ void setQueuePolicy( String policy );
+
+ /**
+ * Sets the job name to represent a group of similar / identical job tasks. Can be used to check the
+ * task queue for similar / identical job tasks.
+ */
+ void setJobName( String jobName );
+
+ String getJobName();
+}
--- /dev/null
+<?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.
+ -->
+
+<component-set>
+ <components>
+
+ <!-- TODO: Remove once CDC can handle correct cross-module descriptor creation. -->
+
+ <!-- SNIP:START -->
+
+ <component>
+ <role>org.apache.maven.archiva.common.consumers.Consumer</role>
+ <role-hint>index-artifact</role-hint>
+ <implementation>org.apache.maven.archiva.consumers.IndexArtifactConsumer</implementation>
+ <instantiation-strategy>per-lookup</instantiation-strategy>
+ <requirements>
+ <requirement>
+ <role>org.apache.maven.artifact.factory.ArtifactFactory</role>
+ <field-name>artifactFactory</field-name>
+ </requirement>
+ </requirements>
+ </component>
+
+ <component>
+ <role>org.apache.maven.archiva.common.consumers.Consumer</role>
+ <role-hint>artifact-health</role-hint>
+ <implementation>org.apache.maven.archiva.consumers.ArtifactHealthConsumer</implementation>
+ <instantiation-strategy>per-lookup</instantiation-strategy>
+ <requirements>
+ <requirement>
+ <role>org.apache.maven.artifact.factory.ArtifactFactory</role>
+ <field-name>artifactFactory</field-name>
+ </requirement>
+ </requirements>
+ </component>
+
+ <component>
+ <role>org.apache.maven.archiva.common.consumers.Consumer</role>
+ <role-hint>metadata-health</role-hint>
+ <implementation>org.apache.maven.archiva.consumers.RepositoryMetadataHealthConsumer</implementation>
+ <instantiation-strategy>per-lookup</instantiation-strategy>
+ <requirements>
+ <requirement>
+ <role>org.apache.maven.artifact.factory.ArtifactFactory</role>
+ <field-name>artifactFactory</field-name>
+ </requirement>
+ </requirements>
+ </component>
+
+ <!-- SNIP:END -->
+
+ <component>
+ <role>org.apache.maven.archiva.scheduler.executors.DataRefreshConsumers</role>
+ <implementation>org.apache.maven.archiva.scheduler.executors.DataRefreshConsumers</implementation>
+ <description>Mutable list of consumer for the Data Refresh.</description>
+ <configuration>
+ <consumer-names>
+ <consumer-name>index-artifact</consumer-name>
+ <consumer-name>artifact-health</consumer-name>
+ <consumer-name>metadata-health</consumer-name>
+ </consumer-names>
+ </configuration>
+ </component>
+
+ <component>
+ <role>org.codehaus.plexus.taskqueue.TaskQueue</role>
+ <role-hint>data-refresh</role-hint>
+ <implementation>org.codehaus.plexus.taskqueue.DefaultTaskQueue</implementation>
+ <lifecycle-handler>plexus-configurable</lifecycle-handler>
+ <configuration>
+ <task-entry-evaluators>
+ </task-entry-evaluators>
+ <task-exit-evaluators>
+ </task-exit-evaluators>
+ <task-viability-evaluators>
+ </task-viability-evaluators>
+ </configuration>
+ </component>
+
+ <component>
+ <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</role>
+ <role-hint>data-refresh</role-hint>
+ <implementation>org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor</implementation>
+ <requirements>
+ <requirement>
+ <role>org.codehaus.plexus.taskqueue.execution.TaskExecutor</role>
+ <role-hint>data-refresh</role-hint>
+ </requirement>
+ <requirement>
+ <role>org.codehaus.plexus.taskqueue.TaskQueue</role>
+ <role-hint>data-refresh</role-hint>
+ </requirement>
+ </requirements>
+ <configuration>
+ <name>data-refresh</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>
--- /dev/null
+<?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>
--- /dev/null
+package org.apache.maven.archiva;
+
+/*
+ * 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 junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * AllTests - added to allow IDE users to pull all tests into their tool.
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class AllTests
+{
+
+ public static Test suite()
+ {
+ TestSuite suite = new TestSuite( "Test for org.apache.maven.archiva" );
+ //$JUnit-BEGIN$
+ suite.addTest( org.apache.maven.archiva.repositories.AllTests.suite() );
+ suite.addTest( org.apache.maven.archiva.scheduler.executors.AllTests.suite() );
+ //$JUnit-END$
+ return suite;
+ }
+
+}
--- /dev/null
+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 junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * AllTests
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class AllTests
+{
+
+ public static Test suite()
+ {
+ TestSuite suite = new TestSuite( "Test for org.apache.maven.archiva.repositories" );
+ //$JUnit-BEGIN$
+ suite.addTestSuite( DefaultActiveManagedRepositoriesTest.class );
+ //$JUnit-END$
+ return suite;
+ }
+
+}
--- /dev/null
+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.common.artifact.managed.ManagedArtifact;
+import org.apache.maven.archiva.common.artifact.managed.ManagedEjbArtifact;
+import org.apache.maven.archiva.common.artifact.managed.ManagedJavaArtifact;
+import org.codehaus.plexus.PlexusTestCase;
+
+/**
+ * DefaultActiveManagedRepositoriesTest
+ *
+ * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class DefaultActiveManagedRepositoriesTest
+ extends PlexusTestCase
+{
+ private ActiveManagedRepositories managedRepos;
+
+ protected void setUp()
+ throws Exception
+ {
+ super.setUp();
+
+ managedRepos = (ActiveManagedRepositories) 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() );
+ }
+}
--- /dev/null
+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 junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * AllTests
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class AllTests
+{
+
+ public static Test suite()
+ {
+ TestSuite suite = new TestSuite( "Test for org.apache.maven.archiva.scheduler.executors" );
+ //$JUnit-BEGIN$
+ suite.addTestSuite( DataRefreshExecutorTest.class );
+ //$JUnit-END$
+ return suite;
+ }
+
+}
--- /dev/null
+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.ArchivaConfiguration;
+import org.apache.maven.archiva.configuration.Configuration;
+import org.apache.maven.archiva.scheduler.task.DataRefreshTask;
+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:joakime@apache.org">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class DataRefreshExecutorTest
+ extends PlexusTestCase
+{
+ private TaskExecutor taskExecutor;
+
+ protected void setUp()
+ throws Exception
+ {
+ super.setUp();
+
+ taskExecutor = (TaskExecutor) lookup( "org.codehaus.plexus.taskqueue.execution.TaskExecutor", "data-refresh" );
+
+ ArchivaConfiguration archivaConfiguration =
+ (ArchivaConfiguration) lookup( ArchivaConfiguration.class.getName() );
+ Configuration configuration = archivaConfiguration.getConfiguration();
+
+ File indexPath = new File( configuration.getIndexPath() );
+ if ( indexPath.exists() )
+ {
+ FileUtils.deleteDirectory( indexPath );
+ }
+ }
+
+ public void testExecutor()
+ throws TaskExecutionException
+ {
+ taskExecutor.executeTask( new TestDataRefreshTask() );
+ }
+
+ class TestDataRefreshTask
+ extends DataRefreshTask
+ {
+ public String getJobName()
+ {
+ return "TestDataRefresh";
+ }
+ }
+}
--- /dev/null
+incorrectMd5
--- /dev/null
+379dcfcd1e6312cc859111f696047eb4
--- /dev/null
+incorrectSha1
--- /dev/null
+52e07b82d944741f66bba5896d4cd74e9879e289
--- /dev/null
+unmodified
--- /dev/null
+4289bbdd6fba75013b317b2f9a540736 *v4artifact-1.0.0.jar
--- /dev/null
+e3e4159da65a4257f0bffb7cac8e3e78241a4dca *v4artifact-1.0.0.jar
--- /dev/null
+<!--
+ ~ 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.
+ -->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>test</groupId>
+ <artifactId>artifact-one</artifactId>
+ <version>1.0.0</version>
+</project>
--- /dev/null
+<!--
+ ~ 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.
+ -->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>test</groupId>
+ <artifactId>artifact-three</artifactId>
+ <version>1.0.0</version>
+</project>
--- /dev/null
+<!--
+ ~ 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.
+ -->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>test</groupId>
+ <artifactId>artifact-two</artifactId>
+ <version>1.0.0</version>
+</project>
--- /dev/null
+<!--
+ ~ 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.
+ -->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>dryrun-artifact</artifactId>
+ <groupId>test</groupId>
+ <currentVersion>1.0.0</currentVersion>
+</project>
--- /dev/null
+<!--
+ ~ 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.
+ -->
+
+<project>
+ <pomVersion>3</pomVersion>
+ <artifactId>incorrectMd5Artifact</artifactId>
+ <groupId>test</groupId>
+ <currentVersion>1.0.0</currentVersion>
+</project>
--- /dev/null
+<!--
+ ~ 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.
+ -->
+
+<project>
+ <pomVersion>3</pomVersion>
+ <artifactId>incorrectSha1Artifact</artifactId>
+ <groupId>test</groupId>
+ <currentVersion>1.0.0</currentVersion>
+</project>
--- /dev/null
+<!--
+ ~ 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.
+ -->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>modified-artifact</artifactId>
+ <groupId>test</groupId>
+ <currentVersion>1.0.0</currentVersion>
+</project>
--- /dev/null
+<!--
+ ~ 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.
+ -->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>test</groupId>
+ <artifactId>newversoin-artifact</artifactId>
+ <version>1.0.1</version>
+</project>
--- /dev/null
+<!--
+ ~ 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.
+ -->
+
+<project>
+ <pomVersion>3</pomVersion>
+ <artifactId>relocated-v3artifact</artifactId>
+ <groupId>test</groupId>
+ <currentVersion>1.0.0</currentVersion>
+ <dependencies>
+ <dependency>
+ <groupId>groupId</groupId>
+ <artifactId>artifactId</artifactId>
+ <version>version</version>
+ </dependency>
+ <dependency>
+ <groupId>groupId</groupId>
+ <artifactId>test-artifactId</artifactId>
+ <version>version</version>
+ <properties>
+ <scope>test</scope>
+ </properties>
+ </dependency>
+ </dependencies>
+ <repository>
+ <connection>scm:cvs:ext:${maven.username}@localhost:/home/cvs</connection>
+ </repository>
+ <properties>
+ <relocated.groupId>relocated-test</relocated.groupId>
+ </properties>
+</project>
--- /dev/null
+<!--
+ ~ 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.
+ -->
+
+<project>
+ <pomVersion>3</pomVersion>
+ <artifactId>v3artifact</artifactId>
+ <groupId>test</groupId>
+ <currentVersion>1.0.0</currentVersion>
+ <dependencies>
+ <dependency>
+ <groupId>groupId</groupId>
+ <artifactId>artifactId</artifactId>
+ <version>version</version>
+ </dependency>
+ <dependency>
+ <groupId>groupId</groupId>
+ <artifactId>test-artifactId</artifactId>
+ <version>version</version>
+ <properties>
+ <scope>test</scope>
+ </properties>
+ </dependency>
+ </dependencies>
+ <!-- deliberate parse error -->
+ <repository>
+</project>
--- /dev/null
+<!--
+ ~ 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.
+ -->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>unmodified-artifact</artifactId>
+ <groupId>test</groupId>
+ <currentVersion>1.0.0</currentVersion>
+</project>
--- /dev/null
+<!--
+ ~ 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.
+ -->
+
+<project>
+ <pomVersion>3</pomVersion>
+ <extend>../project.xml</extend>
+ <artifactId>v3-warnings-artifact</artifactId>
+ <groupId>test</groupId>
+ <currentVersion>1.0.0</currentVersion>
+ <versions>
+ <version>
+ <id>1.0</id>
+ <name>1.0</name>
+ <tag>1_0</tag>
+ </version>
+ </versions>
+ <dependencies>
+ <dependency>
+ <groupId>groupId</groupId>
+ <artifactId>artifactId</artifactId>
+ <version>version</version>
+ </dependency>
+ <dependency>
+ <groupId>groupId</groupId>
+ <artifactId>test-artifactId</artifactId>
+ <version>version</version>
+ <properties>
+ <scope>test</scope>
+ </properties>
+ </dependency>
+ </dependencies>
+ <repository>
+ <connection>scm:cvs:ext:${maven.username}@localhost:/home/cvs</connection>
+ </repository>
+</project>
--- /dev/null
+<!--
+ ~ 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.
+ -->
+
+<project>
+ <pomVersion>3</pomVersion>
+ <artifactId>v3artifact</artifactId>
+ <groupId>test</groupId>
+ <currentVersion>1.0.0-20060105.130101-3</currentVersion>
+ <dependencies>
+ <dependency>
+ <groupId>groupId</groupId>
+ <artifactId>artifactId</artifactId>
+ <version>version</version>
+ </dependency>
+ <dependency>
+ <groupId>groupId</groupId>
+ <artifactId>test-artifactId</artifactId>
+ <version>version</version>
+ <properties>
+ <scope>test</scope>
+ </properties>
+ </dependency>
+ </dependencies>
+ <repository>
+ <connection>scm:cvs:ext:${maven.username}@localhost:/home/cvs</connection>
+ </repository>
+</project>
--- /dev/null
+<!--
+ ~ 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.
+ -->
+
+<project>
+ <pomVersion>3</pomVersion>
+ <artifactId>v3artifact</artifactId>
+ <groupId>test</groupId>
+ <currentVersion>1.0.0-SNAPSHOT</currentVersion>
+ <dependencies>
+ <dependency>
+ <groupId>groupId</groupId>
+ <artifactId>artifactId</artifactId>
+ <version>version</version>
+ </dependency>
+ <dependency>
+ <groupId>groupId</groupId>
+ <artifactId>test-artifactId</artifactId>
+ <version>version</version>
+ <properties>
+ <scope>test</scope>
+ </properties>
+ </dependency>
+ </dependencies>
+ <repository>
+ <connection>scm:cvs:ext:${maven.username}@localhost:/home/cvs</connection>
+ </repository>
+</project>
--- /dev/null
+<!--
+ ~ 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.
+ -->
+
+<project>
+ <pomVersion>3</pomVersion>
+ <artifactId>v3artifact</artifactId>
+ <groupId>test</groupId>
+ <currentVersion>1.0.0</currentVersion>
+ <dependencies>
+ <dependency>
+ <groupId>groupId</groupId>
+ <artifactId>artifactId</artifactId>
+ <version>version</version>
+ </dependency>
+ <dependency>
+ <groupId>groupId</groupId>
+ <artifactId>test-artifactId</artifactId>
+ <version>version</version>
+ <properties>
+ <scope>test</scope>
+ </properties>
+ </dependency>
+ </dependencies>
+ <repository>
+ <connection>scm:cvs:ext:${maven.username}@localhost:/home/cvs</connection>
+ </repository>
+</project>
--- /dev/null
+<!--
+ ~ 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.
+ -->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>test</groupId>
+ <artifactId>v4artifact</artifactId>
+ <version>1.0.0-20060111.120115-1</version>
+</project>
--- /dev/null
+<!--
+ ~ 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.
+ -->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>test</groupId>
+ <artifactId>v4artifact</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+</project>
--- /dev/null
+<!--
+ ~ 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.
+ -->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>test</groupId>
+ <artifactId>v4artifact</artifactId>
+ <version>1.0.0</version>
+</project>
--- /dev/null
+4d677e8e95fb342512e3d05ea68a501d
\ No newline at end of file
--- /dev/null
+58f1e8ae41f12747947c947437e262d9f3bd3ce7
\ No newline at end of file
--- /dev/null
+<?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>
\ No newline at end of file
--- /dev/null
+506f014fdec1a0e02b4a40b6e7a9a40c
\ No newline at end of file
--- /dev/null
+7aa0572d8d06ed6c2d14b9a79f16427127f3a2dc
\ No newline at end of file
--- /dev/null
+<?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>
\ No newline at end of file
--- /dev/null
+162bb9adf25e1044c3e6bc4ab7a28963
\ No newline at end of file
--- /dev/null
+0c485c6093f11d16e8710d58b3f4fbe2184428ec
\ No newline at end of file
--- /dev/null
+ece384b9ed97eb5ab3337022a2425738
\ No newline at end of file
--- /dev/null
+8c97bc705524dd2798c2bbdb0978bf20a09f4adb
\ No newline at end of file
--- /dev/null
+d4fe361b7e0c648d127d8143003abdbc
\ No newline at end of file
--- /dev/null
+4ebf4a3ff5ee70473284d2008df145905cd09b80
\ No newline at end of file
--- /dev/null
+b7b6eea84bc331c0f6485bc9cda1f263
\ No newline at end of file
--- /dev/null
+a08204dc89d2b3324143ed6e73c0c79249920a6d
\ No newline at end of file
--- /dev/null
+95041ac6ca18e5d2edfd076a1db17260
\ No newline at end of file
--- /dev/null
+241a1816ec34ac7199bdad4245aa23f26eff0dbc
\ No newline at end of file
--- /dev/null
+<?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>
\ No newline at end of file
--- /dev/null
+f74a51504ccf227e4ef23e2e39a2b795
\ No newline at end of file
--- /dev/null
+71ea326f41c0e11f213a31453eb295cdaafedaf3
\ No newline at end of file
--- /dev/null
+<?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>
\ No newline at end of file
--- /dev/null
+0ad0dd0c31b907837cd76d8d078fa1a7
\ No newline at end of file
--- /dev/null
+727eab340e25ac049dfd7e1440e36adbfa0b36c3
\ No newline at end of file
--- /dev/null
+a9307b318ad24de6968916fae2369b24
\ No newline at end of file
--- /dev/null
+5797a7262ea7b78573e4417cb1580c4857331ad0
\ No newline at end of file
--- /dev/null
+<?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>
\ No newline at end of file
--- /dev/null
+05fa18418ae91126094fc348968f5998
\ No newline at end of file
--- /dev/null
+4d31788221b2c52d706ed2f699ce1cef378f93fa
\ No newline at end of file
--- /dev/null
+<?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>
\ No newline at end of file
--- /dev/null
+967fd6db15ca4b281d3d7e17d2d42748
\ No newline at end of file
--- /dev/null
+8db116301bb933dd2bd84aa095d969915a518e71
\ No newline at end of file
--- /dev/null
+ce74ccd6ed0386fe1f5f864e9306b7ac
\ No newline at end of file
--- /dev/null
+cfae8bc6d35bd3fcbd09645ec5f21cdb65af606a
\ No newline at end of file
--- /dev/null
+<?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>
\ No newline at end of file
--- /dev/null
+f64549509bac5f2c69892b06b7dcb051
\ No newline at end of file
--- /dev/null
+390de11af26257916a4b769a1e99fcdb552c8b6b
\ No newline at end of file
--- /dev/null
+a111f4992ee5d79118c90753fe90f454
\ No newline at end of file
--- /dev/null
+4719d0a316edce8be88aa49aecdda9279a57f6bf
\ No newline at end of file
--- /dev/null
+<?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>
\ No newline at end of file
--- /dev/null
+66fccfaec7b4497965881d16ebc05440
\ No newline at end of file
--- /dev/null
+8acf1d833362bb10815081a409e90cf1574da49b
\ No newline at end of file
--- /dev/null
+dfde38fb74217c2aa45cd06dbccf1eb4
\ No newline at end of file
--- /dev/null
+cc4b661113efbc5e49504e69e5893b1bfcf30c22
\ No newline at end of file
--- /dev/null
+af58ccd15e4fdd7581037fd3efff9d39
\ No newline at end of file
--- /dev/null
+fbf8eb5bab1378d1513dc31c93bed5cb4024d6a6
\ No newline at end of file
--- /dev/null
+ec9f4f9b63e2005e91769c7144c97230
\ No newline at end of file
--- /dev/null
+b67e0befef623ec302d99cc0ccc8a6f51046dc2c
\ No newline at end of file
--- /dev/null
+<?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>
\ No newline at end of file
--- /dev/null
+8a7724b36f3985aeab383cd606f0ff4e
\ No newline at end of file
--- /dev/null
+dede1bb862486b428417019c4d964aba36792b07
\ No newline at end of file
--- /dev/null
+<?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>
\ No newline at end of file
--- /dev/null
+971ba8f9fdb30858c671346073cb9b33
\ No newline at end of file
--- /dev/null
+e5b14072df36ae9b0ad8ec79512bc632164a4148
\ No newline at end of file
--- /dev/null
+<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>
--- /dev/null
+24bb4da72c86f29c900802d1c9fc9581
\ No newline at end of file
--- /dev/null
+67198346b344f6260e61dc42511d854e885f6b23
\ No newline at end of file
--- /dev/null
+<?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>
\ No newline at end of file
--- /dev/null
+84aef5b30a8d48c3902bacf9fbcb9205
\ No newline at end of file
--- /dev/null
+19606e25290454d398e3187466d7d78d2f2800c1
\ No newline at end of file
--- /dev/null
+9772846681b2691f343a8f4790c7e881
\ No newline at end of file
--- /dev/null
+744189233a2fc36f9180b1c814e60e1e974ebdc7
\ No newline at end of file
--- /dev/null
+<?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>
\ No newline at end of file
--- /dev/null
+8a4922d2c9a041baa484f927ca34631c
\ No newline at end of file
--- /dev/null
+1c9b3fd6b2b060d1a9d42e562f981abd5ad7422a
\ No newline at end of file
--- /dev/null
+<?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>
\ No newline at end of file
--- /dev/null
+5d9d60fca5422465a5532859c94ecc8c
\ No newline at end of file
--- /dev/null
+cc53fcda992f0515fa761bc8947053e9c2931f01
\ No newline at end of file
--- /dev/null
+<?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>
\ No newline at end of file
--- /dev/null
+400a4c18b70498f60437ff8ad66de5a3
\ No newline at end of file
--- /dev/null
+4e4f57ef76ee335161112382342d3407e9bca2cc
\ No newline at end of file
--- /dev/null
+408c7c6961e83e707f65fac084de1f94
\ No newline at end of file
--- /dev/null
+a9c4f781137bab2f4d00c9124e80925c421ead8c
\ No newline at end of file
--- /dev/null
+234db44ad6eb80cf4484528e496a4b25
\ No newline at end of file
--- /dev/null
+c7a91a4dd1b5a414779f2f04f2f054849dee4f57
\ No newline at end of file
--- /dev/null
+aff6435489ca8a7838edb655887b3c6c
\ No newline at end of file
--- /dev/null
+9302ea57f52240bd8c3991d07d095f033f908aad
\ No newline at end of file
--- /dev/null
+6f53b8b06e0b43fff3057183e64f581d
\ No newline at end of file
--- /dev/null
+58703dba30983dc34f78d0c44f6cd4b77e4c1446
\ No newline at end of file
--- /dev/null
+<?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-ejb</artifactId>
+ <packaging>ejb</packaging>
+ <name>DayTrader :: EJBs</name>
+ <version>2.0-SNAPSHOT</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-antrun-plugin</artifactId>
+ <executions>
+ <execution>
+ <phase>compile</phase>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ <configuration>
+ <tasks>
+ <path id="enhance.path.ref">
+ <fileset dir="${project.build.outputDirectory}">
+ <include name="**/*.class"></include>
+ </fileset>
+ </path>
+ <pathconvert pathsep=" " property="enhance.files" refid="enhance.path.ref"></pathconvert>
+ <java classname="org.apache.openjpa.enhance.PCEnhancer">
+ <arg line="-p persistence.xml"></arg>
+ <arg line="${enhance.files}"></arg>
+ <classpath>
+ <path refid="maven.dependency.classpath"></path>
+ <path refid="maven.compile.classpath"></path>
+ </classpath>
+ </java>
+ </tasks>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <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>org.apache.geronimo.daytrader</groupId>
+ <artifactId>daytrader-wsappclient</artifactId>
+ <version>2.0-SNAPSHOT</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-ejb_2.1_spec</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jaxrpc_1.1_spec</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jms_1.1_spec</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-qname_1.1_spec</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jpa_3.0_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>
+ <dependency>
+ <groupId>org.apache.openjpa</groupId>
+ <artifactId>openjpa-all</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>xerces</groupId>
+ <artifactId>xercesImpl</artifactId>
+ <version>2.6.2</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>xerces</groupId>
+ <artifactId>xmlParserAPIs</artifactId>
+ <version>2.2.1</version>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
--- /dev/null
+f8c41c8799c7d8c75a807d4a205aff42
\ No newline at end of file
--- /dev/null
+18046fd02d02885f97616c2c053cbff165f4f382
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.apache.geronimo.daytrader</groupId>
+ <artifactId>daytrader-ejb</artifactId>
+ <version>2.0-SNAPSHOT</version>
+ <versioning>
+ <snapshot>
+ <buildNumber>1</buildNumber>
+ </snapshot>
+ <lastUpdated>20070201164617</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
--- /dev/null
+1f7c6581909ac26dcb44ff7612d7898d
\ No newline at end of file
--- /dev/null
+c5a7be31fc8110ca91ed0b72bc7ece546e50e435
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.apache.geronimo.daytrader</groupId>
+ <artifactId>daytrader-ejb</artifactId>
+ <version>2.0-SNAPSHOT</version>
+ <versioning>
+ <versions>
+ <version>2.0-SNAPSHOT</version>
+ </versions>
+ <lastUpdated>20070201164617</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
--- /dev/null
+1abcabff35aa4fda30eafd13e478e961
\ No newline at end of file
--- /dev/null
+5e3bf24a230b3ef502edee8dd0099b0cb3300046
\ No newline at end of file
--- /dev/null
+d10bcecf5cfd5a232e2c9852d87c9ff3
\ No newline at end of file
--- /dev/null
+f6c34949c8ec5fc7605f2e5b308826952d455468
\ No newline at end of file
--- /dev/null
+88526652477cffde86b4fb6d3c4d9b09
\ No newline at end of file
--- /dev/null
+8e32bee44b3179b2534e7dae45f823cfc97985a3
\ No newline at end of file
--- /dev/null
+ffed1a6a0f9a18c940e5176c83d0bf17
\ No newline at end of file
--- /dev/null
+60aacd0b5166182a133a62d8df23f6d6fc77a67c
\ No newline at end of file
--- /dev/null
+<?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-streamer</artifactId>
+ <name>DayTrader :: Quote Streamer</name>
+ <version>2.0-SNAPSHOT</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>org.apache.geronimo.daytrader</groupId>
+ <artifactId>daytrader-ejb</artifactId>
+ <version>2.0-SNAPSHOT</version>
+ <type>ejb</type>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-ejb_2.1_spec</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jms_1.1_spec</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jpa_3.0_spec</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.openjpa</groupId>
+ <artifactId>openjpa-all</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
--- /dev/null
+76a04efad19db1246f31c34190f8b15d
\ No newline at end of file
--- /dev/null
+b62855d411ae2798e4089c8260247d4aa69a0411
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.apache.geronimo.daytrader</groupId>
+ <artifactId>daytrader-streamer</artifactId>
+ <version>2.0-SNAPSHOT</version>
+ <versioning>
+ <snapshot>
+ <buildNumber>1</buildNumber>
+ </snapshot>
+ <lastUpdated>20070201164625</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
--- /dev/null
+d34e873a79fc96c4b11a2d993936de27
\ No newline at end of file
--- /dev/null
+1e9780431924e1277145a408c60fdb26fd155443
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.apache.geronimo.daytrader</groupId>
+ <artifactId>daytrader-streamer</artifactId>
+ <version>2.0-SNAPSHOT</version>
+ <versioning>
+ <versions>
+ <version>2.0-SNAPSHOT</version>
+ </versions>
+ <lastUpdated>20070201164625</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
--- /dev/null
+fd8090195a044102add1f6f9ea7ffd49
\ No newline at end of file
--- /dev/null
+96a066a26b7e2a8b5ea476cc74caa7d0cc9af897
\ No newline at end of file
--- /dev/null
+f8ce7b4b74d018f232f8ffb0c529070e
\ No newline at end of file
--- /dev/null
+93469a577c1c694530dc3b6fde07b4b4f9349315
\ No newline at end of file
--- /dev/null
+<?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-web</artifactId>
+ <packaging>war</packaging>
+ <name>DayTrader :: Web Application</name>
+ <version>2.0-SNAPSHOT</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>
+ <artifactId>maven-war-plugin</artifactId>
+ <configuration>
+ <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>org.apache.geronimo.daytrader</groupId>
+ <artifactId>daytrader-ejb</artifactId>
+ <version>2.0-SNAPSHOT</version>
+ <type>ejb</type>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.daytrader</groupId>
+ <artifactId>daytrader-wsappclient</artifactId>
+ <version>2.0-SNAPSHOT</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.daytrader</groupId>
+ <artifactId>daytrader-streamer</artifactId>
+ <version>2.0-SNAPSHOT</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-ejb_2.1_spec</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jms_1.1_spec</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-servlet_2.4_spec</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jsp_2.0_spec</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>taglibs</groupId>
+ <artifactId>standard</artifactId>
+ <version>1.1.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jpa_3.0_spec</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
--- /dev/null
+e8a54b8681eec09323657749f29219fe
\ No newline at end of file
--- /dev/null
+3c52b8ce4ebdc6527928cb134e569558838b7d14
\ No newline at end of file
--- /dev/null
+cca35f6167c93ad3ae2ff53d58cb9db4
\ No newline at end of file
--- /dev/null
+ca06e4519bb8e5b0db340f77195fd22f2d5bf46c
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.apache.geronimo.daytrader</groupId>
+ <artifactId>daytrader-web</artifactId>
+ <version>2.0-SNAPSHOT</version>
+ <versioning>
+ <snapshot>
+ <buildNumber>1</buildNumber>
+ </snapshot>
+ <lastUpdated>20070201164633</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
--- /dev/null
+aec372b38f559a990e90afc04578f992
\ No newline at end of file
--- /dev/null
+ee504dda264fbfac8299c600b65de0876c0d8538
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.apache.geronimo.daytrader</groupId>
+ <artifactId>daytrader-web</artifactId>
+ <version>2.0-SNAPSHOT</version>
+ <versioning>
+ <versions>
+ <version>2.0-SNAPSHOT</version>
+ </versions>
+ <lastUpdated>20070201164633</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
--- /dev/null
+4ba953cf06bc7a0e3357ff9c429d9802
\ No newline at end of file
--- /dev/null
+09726ef1508b5ee8089a03fb089b0dc667d285a9
\ No newline at end of file
--- /dev/null
+84fef312edccec95590045380db177de
\ No newline at end of file
--- /dev/null
+351a4315b098a070eda7f4a28b24000c5d77564c
\ No newline at end of file
--- /dev/null
+1f70073c2a75466d778936198f60c397
\ No newline at end of file
--- /dev/null
+186447fd962aef413ff53f68c86cc00066c64041
\ No newline at end of file
--- /dev/null
+b0cad0d8b0539b5e6c74d313e2784fdd
\ No newline at end of file
--- /dev/null
+fa88bf7615bbd5c1d2a38291ba131d3473b9aff1
\ No newline at end of file
--- /dev/null
+<?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-wsappclient</artifactId>
+ <name>DayTrader :: WS Application Client</name>
+ <version>2.0-20070201.183230-5</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-jaxrpc_1.1_spec</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-qname_1.1_spec</artifactId>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
--- /dev/null
+ea41a407f1a9100771120e449e389651
\ No newline at end of file
--- /dev/null
+c92d13aeeab835b7752fe8c2a8675db009596c9f
\ No newline at end of file
--- /dev/null
+80d8585d504bddd8262c83976c7a9c72
\ No newline at end of file
--- /dev/null
+00d78884bbb4a4f102b3b1ce132a4cd81d28bdc9
\ No newline at end of file
--- /dev/null
+05a15d6b6390b9bca327a67646448650
\ No newline at end of file
--- /dev/null
+f401e2a994d55ec812372f96aae64ca3663f7c6f
\ No newline at end of file
--- /dev/null
+1823b9d8cdb50da80373cb4b85c243fb
\ No newline at end of file
--- /dev/null
+5228990401004c5bdb9ad548bbf8aed1ce6cc196
\ No newline at end of file
--- /dev/null
+<?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-wsappclient</artifactId>
+ <name>DayTrader :: WS Application Client</name>
+ <version>2.0-SNAPSHOT</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-deploy-plugin</artifactId>
+ <configuration>
+ <uniqueVersion>true</uniqueVersion>
+ </configuration>
+ </plugin>
+ <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-jaxrpc_1.1_spec</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-qname_1.1_spec</artifactId>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
--- /dev/null
+b5f837ccb11cdc5102f0c7f2c5b329e8
\ No newline at end of file
--- /dev/null
+4d3052ef11fd63a0bc78eeaeaaa568127c100860
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.apache.geronimo.daytrader</groupId>
+ <artifactId>daytrader-wsappclient</artifactId>
+ <version>2.0-SNAPSHOT</version>
+ <versioning>
+ <snapshot>
+ <timestamp>20070201.183230</timestamp>
+ <buildNumber>5</buildNumber>
+ </snapshot>
+ <lastUpdated>20070201183230</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
--- /dev/null
+89df889ab494b253f0f21507ae7f701c
\ No newline at end of file
--- /dev/null
+52fad08cc95dc998c54c6f8d0758b3a3c3107cec
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.apache.geronimo.daytrader</groupId>
+ <artifactId>daytrader-wsappclient</artifactId>
+ <version>2.0-SNAPSHOT</version>
+ <versioning>
+ <versions>
+ <version>2.0-SNAPSHOT</version>
+ </versions>
+ <lastUpdated>20070201164602</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
--- /dev/null
+7ac1294c500c0323a743194aa80bc1ad
\ No newline at end of file
--- /dev/null
+21115e0e4184bd7093a63afa1fede189bcab67c9
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 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.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.geronimo.genesis.config</groupId>
+ <artifactId>project-config</artifactId>
+ <version>1.1-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.geronimo.daytrader</groupId>
+ <artifactId>daytrader</artifactId>
+ <name>DayTrader :: Performance Benchmark Sample</name>
+ <packaging>pom</packaging>
+ <version>2.0-SNAPSHOT</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>
+
+ <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>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-ejb_2.1_spec</artifactId>
+ <version>[1.0,2.0)</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jaxrpc_1.1_spec</artifactId>
+ <version>[1.0,2.0)</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jms_1.1_spec</artifactId>
+ <version>[1.0,2.0)</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-qname_1.1_spec</artifactId>
+ <version>[1.0,2.0)</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-servlet_2.4_spec</artifactId>
+ <version>[1.0,2.0)</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jsp_2.0_spec</artifactId>
+ <version>[1.0,2.0)</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jpa_3.0_spec</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.openjpa</groupId>
+ <artifactId>openjpa-all</artifactId>
+ <version>0.9.6-incubating</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>
+ </dependencies>
+ </dependencyManagement>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.geronimo.genesis.plugins</groupId>
+ <artifactId>tools-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>validate-java-version</id>
+ <phase>validate</phase>
+ <goals>
+ <goal>require-java-version</goal>
+ </goals>
+ <configuration>
+ <version>1.5*</version>
+ </configuration>
+ </execution>
+
+ <!--
+ NOTE: This will copy LICENSE.txt and NOTICE.txt to classes/META-INF.
+
+ Its a itty-bitty HACK to avoid adding resource definitions to
+ the build, which causes the Eclipse plugin to generate invalid
+ .classpath files. :-(
+ -->
+ <execution>
+ <id>install-legal-files</id>
+ <phase>generate-resources</phase>
+ <goals>
+ <goal>copy-legal-files</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-idea-plugin</artifactId>
+ <configuration>
+ <jdkName>1.5</jdkName>
+ <linkModules>true</linkModules>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-release-plugin</artifactId>
+ <configuration>
+ <tagBase>https://svn.apache.org/repos/asf/geronimo/daytrader/tags</tagBase>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <repositories>
+ <!--
+ NOTE: The default repositories are picked up by Genesis, but need to
+ specify where Genesis lives to pick it up + any additional repositories.
+ -->
+ <repository>
+ <id>apache-snapshots</id>
+ <name>Apache Snapshots Repository</name>
+ <url>http://people.apache.org/repo/m2-snapshot-repository</url>
+ <layout>default</layout>
+ <snapshots>
+ <enabled>true</enabled>
+ <updatePolicy>daily</updatePolicy>
+ <checksumPolicy>ignore</checksumPolicy>
+ </snapshots>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ </repository>
+ </repositories>
+
+ <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>
--- /dev/null
+d04e80114262c514c82d4346ee094bcb
\ No newline at end of file
--- /dev/null
+2db30210d79420ac52602cf715a13a31f3feed4d
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.apache.geronimo.daytrader</groupId>
+ <artifactId>daytrader</artifactId>
+ <version>2.0-SNAPSHOT</version>
+ <versioning>
+ <snapshot>
+ <buildNumber>1</buildNumber>
+ </snapshot>
+ <lastUpdated>20070201164554</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
--- /dev/null
+769e66f03f659d146f1face5c82211d4
\ No newline at end of file
--- /dev/null
+8228d5deee211e9ae81f88308ecee855fe9b318a
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.apache.geronimo.daytrader</groupId>
+ <artifactId>daytrader</artifactId>
+ <version>2.0-SNAPSHOT</version>
+ <versioning>
+ <versions>
+ <version>2.0-SNAPSHOT</version>
+ </versions>
+ <lastUpdated>20070201164554</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
--- /dev/null
+847e11a580cde1f29066eef1f233aaf5
\ No newline at end of file
--- /dev/null
+4aea09fa18f379bba75e056079dfa9022f934331
\ No newline at end of file
--- /dev/null
+<?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.
+ -->
+
+<component-set>
+ <components>
+ <component>
+ <role>org.codehaus.plexus.registry.Registry</role>
+ <implementation>org.codehaus.plexus.registry.commons.CommonsConfigurationRegistry</implementation>
+ <role-hint>commons-configuration</role-hint>
+ <configuration>
+ <properties>
+ <xml fileName="${basedir}/src/test/conf/archiva.xml"
+ config-name="org.apache.maven.archiva.base" config-at="org.apache.maven.archiva"/>
+ </properties>
+ </configuration>
+ </component>
+ </components>
+</component-set>
--- /dev/null
+<?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.
+ -->
+
+<component-set>
+ <components>
+ <component>
+ <role>org.codehaus.plexus.registry.Registry</role>
+ <implementation>org.codehaus.plexus.registry.commons.CommonsConfigurationRegistry</implementation>
+ <role-hint>commons-configuration</role-hint>
+ <configuration>
+ <properties>
+ <xml fileName="${basedir}/src/test/conf/archiva.xml"
+ config-name="org.apache.maven.archiva" config-at="org.apache.maven.archiva"/>
+ </properties>
+ </configuration>
+ </component>
+
+ <component>
+ <role>org.codehaus.plexus.jdo.JdoFactory</role>
+ <role-hint>archiva</role-hint>
+ <implementation>org.codehaus.plexus.jdo.DefaultConfigurableJdoFactory</implementation>
+
+ <configuration>
+ <!-- Database Configuration -->
+ <driverName>org.hsqldb.jdbcDriver</driverName>
+ <url>jdbc:hsqldb:mem:TESTDB</url>
+ <userName>sa</userName>
+ <password></password>
+
+ <!-- JPOX and JDO configuration -->
+ <persistenceManagerFactoryClass>org.jpox.PersistenceManagerFactoryImpl</persistenceManagerFactoryClass>
+ <otherProperties>
+ <property>
+ <name>javax.jdo.PersistenceManagerFactoryClass</name>
+ <value>org.jpox.PersistenceManagerFactoryImpl</value>
+ </property>
+ <property>
+ <name>org.jpox.autoCreateSchema</name>
+ <value>true</value>
+ </property>
+ <property>
+ <name>org.jpox.validateTables</name>
+ <value>false</value>
+ </property>
+ <property>
+ <name>org.jpox.validateConstraints</name>
+ <value>false</value>
+ </property>
+ <property>
+ <name>org.jpox.validateColumns</name>
+ <value>false</value>
+ </property>
+ <property>
+ <name>org.jpox.autoStartMechanism</name>
+ <value>None</value>
+ </property>
+ <property>
+ <name>org.jpox.transactionIsolation</name>
+ <value>READ_UNCOMMITTED</value>
+ </property>
+ <property>
+ <name>org.jpox.poid.transactionIsolation</name>
+ <value>READ_UNCOMMITTED</value>
+ </property>
+ <property>
+ <name>org.jpox.rdbms.dateTimezone</name>
+ <value>JDK_DEFAULT_TIMEZONE</value>
+ </property>
+ </otherProperties>
+ </configuration>
+ </component>
+ </components>
+</component-set>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- ~ 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.
- -->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <parent>
- <artifactId>archiva</artifactId>
- <groupId>org.apache.maven.archiva</groupId>
- <version>1.0-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>archiva-core</artifactId>
- <name>Archiva Core</name>
- <dependencies>
- <dependency>
- <groupId>org.apache.maven.archiva</groupId>
- <artifactId>archiva-consumer-api</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.maven.archiva</groupId>
- <artifactId>archiva-configuration</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.maven.archiva</groupId>
- <artifactId>archiva-discoverer</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.maven.archiva</groupId>
- <artifactId>archiva-proxy</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.maven.archiva</groupId>
- <artifactId>archiva-reports-standard</artifactId>
- </dependency>
- <dependency>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-component-api</artifactId>
- </dependency>
- <dependency>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-quartz</artifactId>
- <version>1.0-alpha-3</version>
- </dependency>
- <dependency>
- <groupId>org.codehaus.plexus.cache</groupId>
- <artifactId>plexus-cache-ehcache</artifactId>
- <version>1.0-alpha-1</version>
- </dependency>
- <dependency>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-taskqueue</artifactId>
- <version>1.0-alpha-6</version>
- </dependency>
- <dependency>
- <groupId>commons-lang</groupId>
- <artifactId>commons-lang</artifactId>
- </dependency>
- <dependency>
- <groupId>org.codehaus.plexus.registry</groupId>
- <artifactId>plexus-registry-commons</artifactId>
- <version>1.0-alpha-2-SNAPSHOT</version>
- <scope>test</scope>
- </dependency>
- <!-- TEST DEPS -->
- <dependency>
- <groupId>hsqldb</groupId>
- <artifactId>hsqldb</artifactId>
- <version>1.7.3.3</version>
- <scope>test</scope>
- </dependency>
- <!-- needed for PlexusTestCase -->
- <dependency>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-container-default</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
- <build>
- <plugins>
- <plugin>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>merge</id>
- <goals>
- <goal>merge-descriptors</goal>
- </goals>
- <configuration>
- <descriptors>
- <descriptor>${basedir}/src/main/resources/META-INF/plexus/components.xml</descriptor>
- <descriptor>${project.build.directory}/generated-resources/plexus/META-INF/plexus/components.xml</descriptor>
- </descriptors>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-</project>
+++ /dev/null
-package org.apache.maven.archiva.configuration;
-
-/*
- * 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.proxy.ProxiedArtifactRepository;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-
-import java.util.List;
-
-/**
- * Create an artifact repository from the given configuration.
- *
- * @author <a href="mailto:brett@apache.org">Brett Porter</a>
- */
-public interface ConfiguredRepositoryFactory
-{
- String ROLE = ConfiguredRepositoryFactory.class.getName();
-
- /**
- * Create an artifact repository from the given configuration.
- *
- * @param configuration the configuration
- * @return the artifact repository
- */
- ArtifactRepository createRepository( RepositoryConfiguration configuration );
-
- /**
- * Create artifact repositories from the given configuration.
- *
- * @param configuration the configuration containing the repositories
- * @return the artifact repositories
- */
- List createRepositories( Configuration configuration );
-
- /**
- * Create a local repository from the given configuration.
- *
- * @param configuration the configuration
- * @return the local artifact repository
- */
- ArtifactRepository createLocalRepository( Configuration configuration );
-
- /**
- * Create an artifact repository from the given proxy repository configuration.
- *
- * @param configuration the configuration
- * @return the artifact repository
- */
- ProxiedArtifactRepository createProxiedRepository( ProxiedRepositoryConfiguration configuration );
-
- /**
- * Create artifact repositories from the given proxy repository configurations.
- *
- * @param configuration the configuration containing the repositories
- * @return the artifact repositories
- */
- List createProxiedRepositories( Configuration configuration );
-}
+++ /dev/null
-package org.apache.maven.archiva.configuration;
-
-/*
- * 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.proxy.ProxiedArtifactRepository;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
-import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
-import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-/**
- * Create artifact repositories from a configuration.
- *
- * @author <a href="mailto:brett@apache.org">Brett Porter</a>
- * @plexus.component role="org.apache.maven.archiva.configuration.ConfiguredRepositoryFactory"
- */
-public class DefaultConfiguredRepositoryFactory
- implements ConfiguredRepositoryFactory
-{
- /**
- * @plexus.requirement role="org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout"
- */
- private Map repositoryLayouts;
-
- /**
- * @plexus.requirement
- */
- private ArtifactRepositoryFactory repoFactory;
-
- public ArtifactRepository createRepository( RepositoryConfiguration configuration )
- {
- return createRepository( configuration.getLayout(), configuration.getId(), configuration.getDirectory());
- }
-
- public ProxiedArtifactRepository createProxiedRepository( ProxiedRepositoryConfiguration configuration )
- {
- boolean enabled = isEnabled( configuration.getSnapshotsPolicy() );
- String updatePolicy =
- getUpdatePolicy( configuration.getSnapshotsPolicy(), configuration.getSnapshotsInterval() );
- ArtifactRepositoryPolicy snapshotsPolicy =
- new ArtifactRepositoryPolicy( enabled, updatePolicy, ArtifactRepositoryPolicy.CHECKSUM_POLICY_FAIL );
-
- enabled = isEnabled( configuration.getReleasesPolicy() );
- updatePolicy = getUpdatePolicy( configuration.getReleasesPolicy(), configuration.getReleasesInterval() );
- ArtifactRepositoryPolicy releasesPolicy =
- new ArtifactRepositoryPolicy( enabled, updatePolicy, ArtifactRepositoryPolicy.CHECKSUM_POLICY_FAIL );
-
- ArtifactRepositoryLayout layout = (ArtifactRepositoryLayout) repositoryLayouts.get( configuration.getLayout() );
-
- if ( layout == null )
- {
- throw new IllegalArgumentException( "Invalid layout: " + configuration.getLayout() );
- }
-
- ArtifactRepository artifactRepository = repoFactory.createArtifactRepository( configuration.getId(),
- configuration.getUrl(), layout,
- snapshotsPolicy, releasesPolicy );
- ProxiedArtifactRepository repository = new ProxiedArtifactRepository( artifactRepository );
- repository.setCacheFailures( configuration.isCacheFailures() );
- repository.setHardFail( configuration.isHardFail() );
- repository.setName( configuration.getName() );
- repository.setUseNetworkProxy( configuration.isUseNetworkProxy() );
- return repository;
- }
-
- public List createRepositories( Configuration configuration )
- {
- List managedRepositories = configuration.getRepositories();
- List repositories = new ArrayList( managedRepositories.size() );
-
- for ( Iterator i = managedRepositories.iterator(); i.hasNext(); )
- {
- repositories.add( createRepository( (RepositoryConfiguration) i.next() ) );
- }
-
- return repositories;
- }
-
- public List createProxiedRepositories( Configuration configuration )
- {
- List proxiedRepositories = configuration.getProxiedRepositories();
- List repositories = new ArrayList( proxiedRepositories.size() );
-
- for ( Iterator i = proxiedRepositories.iterator(); i.hasNext(); )
- {
- repositories.add( createProxiedRepository( (ProxiedRepositoryConfiguration) i.next() ) );
- }
-
- return repositories;
- }
-
- public ArtifactRepository createLocalRepository( Configuration configuration )
- {
- return createRepository( "default", "local", configuration.getLocalRepository() );
- }
-
- public ArtifactRepository createRepository( String layout, String id, String directory )
- {
- ArtifactRepositoryLayout repositoryLayout = (ArtifactRepositoryLayout) repositoryLayouts.get( layout );
- File repository = new File( directory );
- repository.mkdirs();
-
- String repoDir = repository.toURI().toString();
- //workaround for spaces non converted by PathUtils in wagon
- //TODO: remove it when PathUtils will be fixed
- if ( repoDir.indexOf( "%20" ) >= 0 )
- {
- repoDir = StringUtils.replace( repoDir, "%20", " " );
- }
-
- return repoFactory.createArtifactRepository( id, repoDir, repositoryLayout, null, null );
- }
-
- private static String getUpdatePolicy( String policy, int interval )
- {
- return "interval".equals( policy ) ? policy + ":" + interval : policy;
- }
-
- private static boolean isEnabled( String policy )
- {
- return !"disabled".equals( policy );
- }
-}
+++ /dev/null
-package org.apache.maven.archiva.consumers;
-
-/*
- * 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.common.utils.BaseFile;
-import org.apache.maven.archiva.reporting.database.ArtifactResultsDatabase;
-import org.apache.maven.archiva.reporting.group.ReportGroup;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.InvalidArtifactRTException;
-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 java.util.Collections;
-
-/**
- * ArtifactHealthConsumer
- *
- * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
- * @version $Id$
- *
- * @plexus.component role="org.apache.maven.archiva.common.consumers.Consumer"
- * role-hint="artifact-health"
- * instantiation-strategy="per-lookup"
- */
-public class ArtifactHealthConsumer
- extends GenericArtifactConsumer
-{
- /**
- * @plexus.requirement
- */
- private ArtifactResultsDatabase database;
-
- /**
- * @plexus.requirement role-hint="health"
- */
- private ReportGroup health;
-
- /**
- * @plexus.requirement
- */
- private MavenProjectBuilder projectBuilder;
-
- public void processArtifact( Artifact artifact, BaseFile file )
- {
- Model model = null;
- try
- {
- Artifact pomArtifact = artifactFactory.createProjectArtifact( artifact.getGroupId(), artifact
- .getArtifactId(), artifact.getVersion() );
- MavenProject project = projectBuilder.buildFromRepository( pomArtifact, Collections.EMPTY_LIST, repository );
-
- model = project.getModel();
- }
- catch ( InvalidArtifactRTException e )
- {
- database.addWarning( artifact, "health", "invalid", "Invalid artifact [" + artifact + "] : " + e );
- }
- catch ( ProjectBuildingException e )
- {
- database.addWarning( artifact, "health", "project-build", "Error reading project model: " + e );
- }
-
- database.remove( artifact );
- health.processArtifact( artifact, model );
- }
-
- public void processFileProblem( BaseFile path, String message )
- {
- /* do nothing here (yet) */
- // TODO: store build failure into database?
- }
-
- public String getName()
- {
- return "Artifact Health Consumer";
- }
-}
+++ /dev/null
-package org.apache.maven.archiva.consumers;
-
-/*
- * 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.common.utils.BaseFile;
-import org.apache.maven.archiva.configuration.ArchivaConfiguration;
-import org.apache.maven.archiva.configuration.Configuration;
-import org.apache.maven.archiva.indexer.RepositoryArtifactIndex;
-import org.apache.maven.archiva.indexer.RepositoryArtifactIndexFactory;
-import org.apache.maven.archiva.indexer.RepositoryIndexException;
-import org.apache.maven.archiva.indexer.record.RepositoryIndexRecordFactory;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-
-import java.io.File;
-
-/**
- * IndexArtifactConsumer
- *
- * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
- * @version $Id$
- *
- * @plexus.component role="org.apache.maven.archiva.common.consumers.Consumer"
- * role-hint="index-artifact"
- * instantiation-strategy="per-lookup"
- */
-public class IndexArtifactConsumer
- extends GenericArtifactConsumer
-{
- /**
- * @plexus.requirement
- */
- private RepositoryArtifactIndexFactory indexFactory;
-
- /**
- * @plexus.requirement role-hint="standard"
- */
- private RepositoryIndexRecordFactory recordFactory;
-
- /**
- * Configuration store.
- *
- * @plexus.requirement
- */
- private ArchivaConfiguration archivaConfiguration;
-
- private RepositoryArtifactIndex index;
-
- public boolean init( ArtifactRepository repository )
- {
- Configuration configuration = archivaConfiguration.getConfiguration();
-
- File indexPath = new File( configuration.getIndexPath() );
-
- index = indexFactory.createStandardIndex( indexPath );
-
- return super.init( repository );
- }
-
- public void processArtifact( Artifact artifact, BaseFile file )
- {
- try
- {
- index.indexArtifact( artifact, recordFactory );
- }
- catch ( RepositoryIndexException e )
- {
- getLogger().warn( "Unable to index artifact " + artifact, e );
- }
- }
-
- public void processFileProblem( BaseFile path, String message )
- {
-
- }
-
- public String getName()
- {
- return "Index Artifact Consumer";
- }
-}
+++ /dev/null
-package org.apache.maven.archiva.consumers;
-
-/*
- * 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.common.utils.BaseFile;
-import org.apache.maven.archiva.reporting.database.MetadataResultsDatabase;
-import org.apache.maven.archiva.reporting.group.ReportGroup;
-import org.apache.maven.archiva.reporting.model.MetadataResults;
-import org.apache.maven.artifact.repository.metadata.RepositoryMetadata;
-
-/**
- * RepositoryMetadataHealthConsumer
- *
- * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
- * @version $Id$
- *
- * @plexus.component role="org.apache.maven.archiva.common.consumers.Consumer"
- * role-hint="metadata-health"
- * instantiation-strategy="per-lookup"
- */
-public class RepositoryMetadataHealthConsumer
- extends GenericRepositoryMetadataConsumer
-{
- /**
- * @plexus.requirement
- */
- private MetadataResultsDatabase database;
-
- /**
- * @plexus.requirement role-hint="health"
- */
- private ReportGroup health;
-
- public void processRepositoryMetadata( RepositoryMetadata metadata, BaseFile file )
- {
- MetadataResults results = database.getMetadataResults( metadata );
- database.clearResults( results );
-
- health.processMetadata( metadata, repository );
- }
-
- public void processFileProblem( BaseFile path, String message )
- {
-
- }
-
- public String getName()
- {
- return "RepositoryMetadata Health Consumer";
- }
-}
+++ /dev/null
-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.common.artifact.managed.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;
-
-import java.util.List;
-
-/**
- * ActiveManagedRepositories
- *
- * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
- * @version $Id$
- */
-public interface ActiveManagedRepositories
-{
- 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 );
-
- /**
- * Get the List of active managed repositories as a List of {@link ArtifactRepository} objects.
- *
- * @return the list of ArtifactRepository objects.
- */
- public List /*<ArtifactRepository>*/getAllArtifactRepositories();
-
- RepositoryConfiguration getRepositoryConfiguration( String id );
-
- /**
- * Providing only a groupId, artifactId, and version, return the MavenProject that
- * is found, in any managed repository.
- *
- * @param groupId the groupId to search for
- * @param artifactId the artifactId to search for
- * @param version the version to search for
- * @return the MavenProject from the provided parameters.
- * @throws ProjectBuildingException if there was a problem building the maven project object.
- */
- MavenProject findProject( String groupId, String artifactId, String version )
- throws ProjectBuildingException;
-
- ManagedArtifact findArtifact( String groupId, String artifactId, String version )
- throws ProjectBuildingException;
-
- ManagedArtifact findArtifact( String groupId, String artifactId, String version, String type );
-
- ManagedArtifact findArtifact( Artifact artifact );
-
- /**
- * Obtain the last data refresh timestamp for all Managed Repositories.
- *
- * @return the last data refresh timestamp.
- */
- long getLastDataRefreshTime();
-
- /**
- * Tests to see if there needs to be a data refresh performed.
- *
- * The only valid scenario is if 1 or more repositories have not had their data refreshed ever.
- *
- * @return true if there needs to be a data refresh.
- */
- boolean needsDataRefresh();
-}
+++ /dev/null
-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.common.artifact.managed.ManagedArtifact;
-import org.apache.maven.archiva.common.artifact.managed.ManagedArtifactTypes;
-import org.apache.maven.archiva.common.artifact.managed.ManagedEjbArtifact;
-import org.apache.maven.archiva.common.artifact.managed.ManagedJavaArtifact;
-import org.apache.maven.archiva.configuration.ArchivaConfiguration;
-import org.apache.maven.archiva.configuration.Configuration;
-import org.apache.maven.archiva.configuration.ConfiguredRepositoryFactory;
-import org.apache.maven.archiva.configuration.RepositoryConfiguration;
-import org.apache.maven.archiva.discoverer.DiscovererStatistics;
-import org.apache.maven.archiva.scheduler.executors.DataRefreshExecutor;
-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.logging.AbstractLogEnabled;
-import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
-import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
-import org.codehaus.plexus.registry.Registry;
-import org.codehaus.plexus.registry.RegistryListener;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.util.Iterator;
-import java.util.List;
-
-/**
- * DefaultActiveManagedRepositories
- *
- * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
- * @version $Id$
- * @plexus.component role="org.apache.maven.archiva.repositories.ActiveManagedRepositories"
- */
-public class DefaultActiveManagedRepositories
- extends AbstractLogEnabled
- implements ActiveManagedRepositories, Initializable, RegistryListener
-{
- /**
- * @plexus.requirement role-hint="artifactCache"
- */
- private Cache artifactCache;
-
- /**
- * @plexus.requirement
- */
- private ArtifactFactory artifactFactory;
-
- /**
- * @plexus.requirement
- */
- private ArchivaConfiguration archivaConfiguration;
-
- /**
- * @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 List getAllArtifactRepositories()
- {
- return repositoryFactory.createRepositories( configuration );
- }
-
- public RepositoryConfiguration getRepositoryConfiguration( String id )
- {
- return this.configuration.getRepositoryById( id );
- }
-
- public void initialize()
- throws InitializationException
- {
- Configuration config = archivaConfiguration.getConfiguration();
- archivaConfiguration.addChangeListener( this );
- 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;
- }
-
- public void beforeConfigurationChange( Registry registry, String propertyName, Object propertyValue )
- {
- // nothing to do
- }
-
- public void afterConfigurationChange( Registry registry, String propertyName, Object propertyValue )
- {
- if ( propertyName.startsWith( "repositories" ) || propertyName.startsWith( "localRepository" ) )
- {
- getLogger().debug(
- "Triggering managed repository configuration change with " + propertyName + " set to "
- + propertyValue );
- configureSelf( archivaConfiguration.getConfiguration() );
- }
- else
- {
- getLogger().debug( "Not triggering managed repository configuration change with " + propertyName );
- }
- }
-
- public long getLastDataRefreshTime()
- {
- long lastDataRefreshTime = 0;
-
- for ( Iterator i = getAllArtifactRepositories().iterator(); i.hasNext(); )
- {
- ArtifactRepository repository = (ArtifactRepository) i.next();
-
- DiscovererStatistics stats = new DiscovererStatistics( repository );
- try
- {
- stats.load( DataRefreshExecutor.DATAREFRESH_FILE );
- if ( stats.getTimestampFinished() > lastDataRefreshTime )
- {
- lastDataRefreshTime = stats.getTimestampFinished();
- }
- }
- catch ( FileNotFoundException e)
- {
- getLogger().info(
- "No previous datarefresh timestamp available, as "
- + DataRefreshExecutor.DATAREFRESH_FILE + " has never been generated." );
- }
- catch ( IOException e )
- {
- getLogger().warn(
- "Unable to load " + DataRefreshExecutor.DATAREFRESH_FILE
- + " to determine last refresh timestamp: " + e.getMessage(), e );
- }
- }
-
- return lastDataRefreshTime;
- }
-
- public boolean needsDataRefresh()
- {
- for ( Iterator i = getAllArtifactRepositories().iterator(); i.hasNext(); )
- {
- ArtifactRepository repository = (ArtifactRepository) i.next();
-
- DiscovererStatistics stats = new DiscovererStatistics( repository );
- if ( stats.getTimestampFinished() <= 0 )
- {
- // Found a repository that has NEVER had it's data walked.
- return true;
- }
- }
-
- return false;
- }
-}
+++ /dev/null
-package org.apache.maven.archiva.scheduler;
-
-/*
- * 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.configuration.ArchivaConfiguration;
-import org.apache.maven.archiva.configuration.Configuration;
-import org.apache.maven.archiva.repositories.ActiveManagedRepositories;
-import org.apache.maven.archiva.scheduler.task.DataRefreshTask;
-import org.apache.maven.archiva.scheduler.task.RepositoryTask;
-import org.codehaus.plexus.logging.AbstractLogEnabled;
-import org.codehaus.plexus.personality.plexus.lifecycle.phase.Startable;
-import org.codehaus.plexus.personality.plexus.lifecycle.phase.StartingException;
-import org.codehaus.plexus.personality.plexus.lifecycle.phase.StoppingException;
-import org.codehaus.plexus.registry.Registry;
-import org.codehaus.plexus.registry.RegistryListener;
-import org.codehaus.plexus.scheduler.Scheduler;
-import org.codehaus.plexus.taskqueue.TaskQueue;
-import org.codehaus.plexus.taskqueue.TaskQueueException;
-import org.codehaus.plexus.taskqueue.execution.TaskExecutionException;
-import org.quartz.CronTrigger;
-import org.quartz.JobDataMap;
-import org.quartz.JobDetail;
-import org.quartz.SchedulerException;
-
-import java.text.ParseException;
-
-/**
- * Default implementation of a scheduling component for the application.
- *
- * @author <a href="mailto:brett@apache.org">Brett Porter</a>
- * @plexus.component role="org.apache.maven.archiva.scheduler.RepositoryTaskScheduler"
- */
-public class DefaultRepositoryTaskScheduler
- extends AbstractLogEnabled
- implements RepositoryTaskScheduler, Startable, RegistryListener
-{
- /**
- * @plexus.requirement
- */
- private Scheduler scheduler;
-
- /**
- * @plexus.requirement role-hint="data-refresh"
- */
- private TaskQueue datarefreshQueue;
-
- /**
- * @plexus.requirement
- */
- private ArchivaConfiguration archivaConfiguration;
-
- /**
- * @plexus.requirement
- */
- private ActiveManagedRepositories activeRepositories;
-
- private static final String DISCOVERER_GROUP = "DISCOVERER";
-
- private static final String DATA_REFRESH_JOB = "dataRefreshTask";
-
- public void start()
- throws StartingException
- {
- Configuration configuration = archivaConfiguration.getConfiguration();
- archivaConfiguration.addChangeListener( this );
-
- try
- {
- scheduleJobs( configuration.getDataRefreshCronExpression() );
- }
- catch ( ParseException e )
- {
- throw new StartingException( "Invalid configuration: " + configuration.getDataRefreshCronExpression(), e );
- }
- catch ( SchedulerException e )
- {
- throw new StartingException( "Unable to start scheduler: " + e.getMessage(), e );
- }
- }
-
- private void scheduleJobs( String indexerCronExpression )
- throws ParseException, SchedulerException
- {
- JobDetail jobDetail = createJobDetail( DATA_REFRESH_JOB );
-
- getLogger().info( "Scheduling data-refresh: " + indexerCronExpression );
- CronTrigger trigger = new CronTrigger( DATA_REFRESH_JOB + "Trigger", DISCOVERER_GROUP, indexerCronExpression );
- scheduler.scheduleJob( jobDetail, trigger );
-
- try
- {
- queueNowIfNeeded();
- }
- catch ( org.codehaus.plexus.taskqueue.execution.TaskExecutionException e )
- {
- getLogger().error( "Error executing task first time, continuing anyway: " + e.getMessage(), e );
- }
- }
-
- private JobDetail createJobDetail( String jobName )
- {
- JobDetail jobDetail = new JobDetail( jobName, DISCOVERER_GROUP, RepositoryTaskJob.class );
-
- JobDataMap dataMap = new JobDataMap();
- dataMap.put( RepositoryTaskJob.TASK_QUEUE, datarefreshQueue );
- dataMap.put( RepositoryTaskJob.TASK_QUEUE_POLICY, RepositoryTask.QUEUE_POLICY_SKIP );
- jobDetail.setJobDataMap( dataMap );
-
- return jobDetail;
- }
-
- public void stop()
- throws StoppingException
- {
- try
- {
- scheduler.unscheduleJob( DATA_REFRESH_JOB, DISCOVERER_GROUP );
- }
- catch ( SchedulerException e )
- {
- throw new StoppingException( "Unable to unschedule tasks", e );
- }
- }
-
-
- public void beforeConfigurationChange( Registry registry, String propertyName, Object propertyValue )
- {
- // nothing to do
- }
-
- public void afterConfigurationChange( Registry registry, String propertyName, Object propertyValue )
- {
- if ( "dataRefreshCronExpression".equals( propertyName ) )
- {
- getLogger().debug( "Restarting task scheduler with new configuration after property change: " +
- propertyName + " to " + propertyValue );
- try
- {
- stop();
- }
- catch ( StoppingException e )
- {
- getLogger().warn( "Error stopping task scheduler: " + e.getMessage(), e );
- }
-
- try
- {
- Configuration configuration = archivaConfiguration.getConfiguration();
- scheduleJobs( configuration.getDataRefreshCronExpression() );
- }
- catch ( ParseException e )
- {
- getLogger().error(
- "Error restarting task scheduler after configuration change, due to configuration error: " +
- e.getMessage(), e );
- }
- catch ( SchedulerException e )
- {
- getLogger().error( "Error restarting task scheduler after configuration change: " + e.getMessage(), e );
- }
- }
- else
- {
- getLogger().debug(
- "Not restarting task scheduler with new configuration after property change: " + propertyName );
- }
- }
-
- public void runDataRefresh()
- throws TaskExecutionException
- {
- DataRefreshTask task = new DataRefreshTask();
- task.setJobName( "DATA_REFRESH_INIT" );
- try
- {
- datarefreshQueue.put( task );
- }
- catch ( TaskQueueException e )
- {
- throw new TaskExecutionException( e.getMessage(), e );
- }
- }
-
- public void queueNowIfNeeded()
- throws TaskExecutionException
- {
- if ( activeRepositories.needsDataRefresh() )
- {
- runDataRefresh();
- }
- }
-
-}
+++ /dev/null
-package org.apache.maven.archiva.scheduler;
-
-/*
- * 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.scheduler.task.DataRefreshTask;
-import org.apache.maven.archiva.scheduler.task.RepositoryTask;
-import org.codehaus.plexus.scheduler.AbstractJob;
-import org.codehaus.plexus.taskqueue.TaskQueue;
-import org.codehaus.plexus.taskqueue.TaskQueueException;
-import org.quartz.JobDataMap;
-import org.quartz.JobExecutionContext;
-import org.quartz.JobExecutionException;
-
-/**
- * This class is the discoverer job that is executed by the scheduler.
- */
-public class RepositoryTaskJob
- extends AbstractJob
-{
- static final String TASK_KEY = "EXECUTION";
-
- static final String TASK_QUEUE = "TASK_QUEUE";
-
- static final String TASK_QUEUE_POLICY = "TASK_QUEUE_POLICY";
-
- /**
- * Execute the discoverer and the indexer.
- *
- * @param context
- * @throws org.quartz.JobExecutionException
- *
- */
- public void execute( JobExecutionContext context )
- throws JobExecutionException
- {
- JobDataMap dataMap = context.getJobDetail().getJobDataMap();
- setJobDataMap( dataMap );
-
- TaskQueue taskQueue = (TaskQueue) dataMap.get( TASK_QUEUE );
- String queuePolicy = dataMap.get( TASK_QUEUE_POLICY ).toString();
-
- RepositoryTask task = new DataRefreshTask();
- task.setJobName( context.getJobDetail().getName() );
-
- try
- {
- if ( taskQueue.getQueueSnapshot().size() == 0 )
- {
- taskQueue.put( task );
- }
- else
- {
- if ( RepositoryTask.QUEUE_POLICY_WAIT.equals( queuePolicy ) )
- {
- taskQueue.put( task );
- }
- else if ( RepositoryTask.QUEUE_POLICY_SKIP.equals( queuePolicy ) )
- {
- // do not queue anymore, policy is to skip
- }
- }
- }
- catch ( TaskQueueException e )
- {
- throw new JobExecutionException( e );
- }
- }
-}
+++ /dev/null
-package org.apache.maven.archiva.scheduler;
-
-/*
- * 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.codehaus.plexus.taskqueue.execution.TaskExecutionException;
-
-/**
- * The component that takes care of scheduling in the application.
- *
- * @author <a href="mailto:brett@apache.org">Brett Porter</a>
- */
-public interface RepositoryTaskScheduler
-{
- /**
- * The Plexus component role.
- */
- String ROLE = RepositoryTaskScheduler.class.getName();
-
- void runDataRefresh()
- throws TaskExecutionException;
-
-}
+++ /dev/null
-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 java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-/**
- * Mutable list of consumer for the Data Refresh.
- *
- * NOTE: This class only exists to minimize the requirements of manual component management.
- * This approach allows for a small and simple component definition in the application.xml
- *
- * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
- * @version $Id$
- *
- * @plexus.component role="org.apache.maven.archiva.scheduler.executors.DataRefreshConsumers"
- */
-public class DataRefreshConsumers
-{
- /**
- * @plexus.configuration
- */
- private List consumerNames;
-
- public List getConsumerNames()
- {
- if ( consumerNames == null )
- {
- consumerNames = new ArrayList();
- consumerNames.add( "index-artifact" );
- consumerNames.add( "artifact-health" );
- consumerNames.add( "metadata-health" );
- }
-
- return consumerNames;
- }
-
- public Iterator iterator()
- {
- return getConsumerNames().iterator();
- }
-}
+++ /dev/null
-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.maven.archiva.configuration.ArchivaConfiguration;
-import org.apache.maven.archiva.configuration.Configuration;
-import org.apache.maven.archiva.configuration.ConfiguredRepositoryFactory;
-import org.apache.maven.archiva.configuration.RepositoryConfiguration;
-import org.apache.maven.archiva.discoverer.Discoverer;
-import org.apache.maven.archiva.discoverer.DiscovererException;
-import org.apache.maven.archiva.discoverer.DiscovererStatistics;
-import org.apache.maven.archiva.repository.consumer.Consumer;
-import org.apache.maven.archiva.repository.consumer.ConsumerException;
-import org.apache.maven.archiva.repository.consumer.ConsumerFactory;
-import org.apache.maven.archiva.scheduler.task.DataRefreshTask;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.codehaus.plexus.logging.AbstractLogEnabled;
-import org.codehaus.plexus.taskqueue.Task;
-import org.codehaus.plexus.taskqueue.execution.TaskExecutionException;
-import org.codehaus.plexus.taskqueue.execution.TaskExecutor;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-/**
- * DataRefreshExecutor
- *
- * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
- * @version $Id$
- *
- * @plexus.component role="org.codehaus.plexus.taskqueue.execution.TaskExecutor"
- * role-hint="data-refresh"
- */
-public class DataRefreshExecutor
- extends AbstractLogEnabled
- implements TaskExecutor
-{
- public static final String DATAREFRESH_FILE = ".datarefresh";
-
- /**
- * Configuration store.
- *
- * @plexus.requirement
- */
- private ArchivaConfiguration archivaConfiguration;
-
- /**
- * @plexus.requirement
- */
- private ConfiguredRepositoryFactory repoFactory;
-
- /**
- * @plexus.requirement
- */
- private DataRefreshConsumers consumerNames;
-
- /**
- * @plexus.requirement
- */
- private Discoverer discoverer;
-
- /**
- * @plexus.requirement
- */
- private ConsumerFactory consumerFactory;
-
- public void executeTask( Task task )
- throws TaskExecutionException
- {
- DataRefreshTask indexerTask = (DataRefreshTask) task;
-
- getLogger().info( "Executing task from queue with job name: " + indexerTask.getJobName() );
-
- execute();
- }
-
- public void execute()
- throws TaskExecutionException
- {
- Configuration configuration = archivaConfiguration.getConfiguration();
-
- List consumers = new ArrayList();
-
- for ( Iterator it = consumerNames.iterator(); it.hasNext(); )
- {
- String name = (String) it.next();
- try
- {
- Consumer consumer = consumerFactory.createConsumer( name );
- consumers.add( consumer );
- }
- catch ( ConsumerException e )
- {
- getLogger().warn( e.getMessage(), e );
- throw new TaskExecutionException( e.getMessage(), e );
- }
- }
-
- long time = System.currentTimeMillis();
-
- for ( Iterator i = configuration.getRepositories().iterator(); i.hasNext(); )
- {
- RepositoryConfiguration repositoryConfiguration = (RepositoryConfiguration) i.next();
-
- if ( !repositoryConfiguration.isIndexed() )
- {
- continue;
- }
-
- ArtifactRepository repository = repoFactory.createRepository( repositoryConfiguration );
-
- List filteredConsumers = filterConsumers( consumers, repository );
-
- DiscovererStatistics lastRunStats = new DiscovererStatistics( repository );
- try
- {
- lastRunStats.load( DATAREFRESH_FILE );
- }
- catch ( IOException e )
- {
- getLogger().info(
- "Unable to load last run statistics for repository [" + repository.getId() + "]: "
- + e.getMessage() );
- }
-
- try
- {
- DiscovererStatistics stats = discoverer
- .walkRepository( repository, filteredConsumers, repositoryConfiguration.isIncludeSnapshots(),
- lastRunStats.getTimestampFinished(), null, null );
-
- stats.dump( getLogger() );
- stats.save( DATAREFRESH_FILE );
- }
- catch ( DiscovererException e )
- {
- getLogger().error(
- "Unable to run data refresh against repository [" + repository.getId() + "]: "
- + e.getMessage(), e );
- }
- catch ( IOException e )
- {
- getLogger().warn(
- "Unable to save last run statistics for repository [" + repository.getId() + "]: "
- + e.getMessage() );
- }
- }
-
- time = System.currentTimeMillis() - time;
-
- getLogger().info( "Finished data refresh process in " + time + "ms." );
- }
-
- /**
- * Not all consumers work with all repositories.
- * This will filter out those incompatible consumers based on the provided repository.
- *
- * @param consumers the initial list of consumers.
- * @param repository the repository to test consumer against.
- * @return the filtered list of consumers.
- */
- private List filterConsumers( List consumers, ArtifactRepository repository )
- {
- List filtered = new ArrayList();
-
- for ( Iterator it = consumers.iterator(); it.hasNext(); )
- {
- Consumer consumer = (Consumer) it.next();
- if ( consumer.init( repository ) )
- {
- // Approved!
- filtered.add( consumer );
- }
- else
- {
- getLogger().info( "Disabling consumer [" + consumer.getName() + "] for repository " + repository );
- }
- }
-
- return filtered;
- }
-}
+++ /dev/null
-package org.apache.maven.archiva.scheduler.task;
-
-/**
- * DataRefreshTask - task for discovering changes in the repository
- * and updating all associated data.
- *
- * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
- * @version $Id$
- */
-public class DataRefreshTask
- implements RepositoryTask
-{
- private String jobName;
-
- private String policy;
-
- public String getJobName()
- {
- return jobName;
- }
-
- public String getQueuePolicy()
- {
- return policy;
- }
-
- public void setJobName( String jobName )
- {
- this.jobName = jobName;
- }
-
- public void setQueuePolicy( String policy )
- {
- this.policy = policy;
- }
-
- public long getMaxExecutionTime()
- {
- return 0;
- }
-}
+++ /dev/null
-package org.apache.maven.archiva.scheduler.task;
-
-/*
- * 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.codehaus.plexus.taskqueue.Task;
-
-/**
- * A repository task.
- *
- * @author <a href="mailto:brett@apache.org">Brett Porter</a>
- */
-public interface RepositoryTask
- extends Task
-{
- String QUEUE_POLICY_WAIT = "wait";
-
- String QUEUE_POLICY_SKIP = "skip";
-
- /**
- * Gets the queue policy for this task.
- *
- * @return Queue policy for this task
- */
- String getQueuePolicy();
-
- /**
- * Sets the queue policy for this task.
- *
- * @param policy
- */
- void setQueuePolicy( String policy );
-
- /**
- * Sets the job name to represent a group of similar / identical job tasks. Can be used to check the
- * task queue for similar / identical job tasks.
- */
- void setJobName( String jobName );
-
- String getJobName();
-}
+++ /dev/null
-<?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.
- -->
-
-<component-set>
- <components>
-
- <!-- TODO: Remove once CDC can handle correct cross-module descriptor creation. -->
-
- <!-- SNIP:START -->
-
- <component>
- <role>org.apache.maven.archiva.common.consumers.Consumer</role>
- <role-hint>index-artifact</role-hint>
- <implementation>org.apache.maven.archiva.consumers.IndexArtifactConsumer</implementation>
- <instantiation-strategy>per-lookup</instantiation-strategy>
- <requirements>
- <requirement>
- <role>org.apache.maven.artifact.factory.ArtifactFactory</role>
- <field-name>artifactFactory</field-name>
- </requirement>
- </requirements>
- </component>
-
- <component>
- <role>org.apache.maven.archiva.common.consumers.Consumer</role>
- <role-hint>artifact-health</role-hint>
- <implementation>org.apache.maven.archiva.consumers.ArtifactHealthConsumer</implementation>
- <instantiation-strategy>per-lookup</instantiation-strategy>
- <requirements>
- <requirement>
- <role>org.apache.maven.artifact.factory.ArtifactFactory</role>
- <field-name>artifactFactory</field-name>
- </requirement>
- </requirements>
- </component>
-
- <component>
- <role>org.apache.maven.archiva.common.consumers.Consumer</role>
- <role-hint>metadata-health</role-hint>
- <implementation>org.apache.maven.archiva.consumers.RepositoryMetadataHealthConsumer</implementation>
- <instantiation-strategy>per-lookup</instantiation-strategy>
- <requirements>
- <requirement>
- <role>org.apache.maven.artifact.factory.ArtifactFactory</role>
- <field-name>artifactFactory</field-name>
- </requirement>
- </requirements>
- </component>
-
- <!-- SNIP:END -->
-
- <component>
- <role>org.apache.maven.archiva.scheduler.executors.DataRefreshConsumers</role>
- <implementation>org.apache.maven.archiva.scheduler.executors.DataRefreshConsumers</implementation>
- <description>Mutable list of consumer for the Data Refresh.</description>
- <configuration>
- <consumer-names>
- <consumer-name>index-artifact</consumer-name>
- <consumer-name>artifact-health</consumer-name>
- <consumer-name>metadata-health</consumer-name>
- </consumer-names>
- </configuration>
- </component>
-
- <component>
- <role>org.codehaus.plexus.taskqueue.TaskQueue</role>
- <role-hint>data-refresh</role-hint>
- <implementation>org.codehaus.plexus.taskqueue.DefaultTaskQueue</implementation>
- <lifecycle-handler>plexus-configurable</lifecycle-handler>
- <configuration>
- <task-entry-evaluators>
- </task-entry-evaluators>
- <task-exit-evaluators>
- </task-exit-evaluators>
- <task-viability-evaluators>
- </task-viability-evaluators>
- </configuration>
- </component>
-
- <component>
- <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</role>
- <role-hint>data-refresh</role-hint>
- <implementation>org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor</implementation>
- <requirements>
- <requirement>
- <role>org.codehaus.plexus.taskqueue.execution.TaskExecutor</role>
- <role-hint>data-refresh</role-hint>
- </requirement>
- <requirement>
- <role>org.codehaus.plexus.taskqueue.TaskQueue</role>
- <role-hint>data-refresh</role-hint>
- </requirement>
- </requirements>
- <configuration>
- <name>data-refresh</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>
+++ /dev/null
-<?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>
+++ /dev/null
-package org.apache.maven.archiva;
-
-/*
- * 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 junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * AllTests - added to allow IDE users to pull all tests into their tool.
- *
- * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
- * @version $Id$
- */
-public class AllTests
-{
-
- public static Test suite()
- {
- TestSuite suite = new TestSuite( "Test for org.apache.maven.archiva" );
- //$JUnit-BEGIN$
- suite.addTest( org.apache.maven.archiva.repositories.AllTests.suite() );
- suite.addTest( org.apache.maven.archiva.scheduler.executors.AllTests.suite() );
- //$JUnit-END$
- return suite;
- }
-
-}
+++ /dev/null
-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 junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * AllTests
- *
- * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
- * @version $Id$
- */
-public class AllTests
-{
-
- public static Test suite()
- {
- TestSuite suite = new TestSuite( "Test for org.apache.maven.archiva.repositories" );
- //$JUnit-BEGIN$
- suite.addTestSuite( DefaultActiveManagedRepositoriesTest.class );
- //$JUnit-END$
- return suite;
- }
-
-}
+++ /dev/null
-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.common.artifact.managed.ManagedArtifact;
-import org.apache.maven.archiva.common.artifact.managed.ManagedEjbArtifact;
-import org.apache.maven.archiva.common.artifact.managed.ManagedJavaArtifact;
-import org.codehaus.plexus.PlexusTestCase;
-
-/**
- * DefaultActiveManagedRepositoriesTest
- *
- * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
- * @version $Id$
- */
-public class DefaultActiveManagedRepositoriesTest
- extends PlexusTestCase
-{
- private ActiveManagedRepositories managedRepos;
-
- protected void setUp()
- throws Exception
- {
- super.setUp();
-
- managedRepos = (ActiveManagedRepositories) 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() );
- }
-}
+++ /dev/null
-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 junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * AllTests
- *
- * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
- * @version $Id$
- */
-public class AllTests
-{
-
- public static Test suite()
- {
- TestSuite suite = new TestSuite( "Test for org.apache.maven.archiva.scheduler.executors" );
- //$JUnit-BEGIN$
- suite.addTestSuite( DataRefreshExecutorTest.class );
- //$JUnit-END$
- return suite;
- }
-
-}
+++ /dev/null
-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.ArchivaConfiguration;
-import org.apache.maven.archiva.configuration.Configuration;
-import org.apache.maven.archiva.scheduler.task.DataRefreshTask;
-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:joakime@apache.org">Joakim Erdfelt</a>
- * @version $Id$
- */
-public class DataRefreshExecutorTest
- extends PlexusTestCase
-{
- private TaskExecutor taskExecutor;
-
- protected void setUp()
- throws Exception
- {
- super.setUp();
-
- taskExecutor = (TaskExecutor) lookup( "org.codehaus.plexus.taskqueue.execution.TaskExecutor", "data-refresh" );
-
- ArchivaConfiguration archivaConfiguration =
- (ArchivaConfiguration) lookup( ArchivaConfiguration.class.getName() );
- Configuration configuration = archivaConfiguration.getConfiguration();
-
- File indexPath = new File( configuration.getIndexPath() );
- if ( indexPath.exists() )
- {
- FileUtils.deleteDirectory( indexPath );
- }
- }
-
- public void testExecutor()
- throws TaskExecutionException
- {
- taskExecutor.executeTask( new TestDataRefreshTask() );
- }
-
- class TestDataRefreshTask
- extends DataRefreshTask
- {
- public String getJobName()
- {
- return "TestDataRefresh";
- }
- }
-}
+++ /dev/null
-incorrectMd5
+++ /dev/null
-379dcfcd1e6312cc859111f696047eb4
+++ /dev/null
-incorrectSha1
+++ /dev/null
-52e07b82d944741f66bba5896d4cd74e9879e289
+++ /dev/null
-unmodified
+++ /dev/null
-4289bbdd6fba75013b317b2f9a540736 *v4artifact-1.0.0.jar
+++ /dev/null
-e3e4159da65a4257f0bffb7cac8e3e78241a4dca *v4artifact-1.0.0.jar
+++ /dev/null
-<!--
- ~ 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.
- -->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <groupId>test</groupId>
- <artifactId>artifact-one</artifactId>
- <version>1.0.0</version>
-</project>
+++ /dev/null
-<!--
- ~ 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.
- -->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <groupId>test</groupId>
- <artifactId>artifact-three</artifactId>
- <version>1.0.0</version>
-</project>
+++ /dev/null
-<!--
- ~ 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.
- -->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <groupId>test</groupId>
- <artifactId>artifact-two</artifactId>
- <version>1.0.0</version>
-</project>
+++ /dev/null
-<!--
- ~ 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.
- -->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>dryrun-artifact</artifactId>
- <groupId>test</groupId>
- <currentVersion>1.0.0</currentVersion>
-</project>
+++ /dev/null
-<!--
- ~ 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.
- -->
-
-<project>
- <pomVersion>3</pomVersion>
- <artifactId>incorrectMd5Artifact</artifactId>
- <groupId>test</groupId>
- <currentVersion>1.0.0</currentVersion>
-</project>
+++ /dev/null
-<!--
- ~ 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.
- -->
-
-<project>
- <pomVersion>3</pomVersion>
- <artifactId>incorrectSha1Artifact</artifactId>
- <groupId>test</groupId>
- <currentVersion>1.0.0</currentVersion>
-</project>
+++ /dev/null
-<!--
- ~ 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.
- -->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>modified-artifact</artifactId>
- <groupId>test</groupId>
- <currentVersion>1.0.0</currentVersion>
-</project>
+++ /dev/null
-<!--
- ~ 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.
- -->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <groupId>test</groupId>
- <artifactId>newversoin-artifact</artifactId>
- <version>1.0.1</version>
-</project>
+++ /dev/null
-<!--
- ~ 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.
- -->
-
-<project>
- <pomVersion>3</pomVersion>
- <artifactId>relocated-v3artifact</artifactId>
- <groupId>test</groupId>
- <currentVersion>1.0.0</currentVersion>
- <dependencies>
- <dependency>
- <groupId>groupId</groupId>
- <artifactId>artifactId</artifactId>
- <version>version</version>
- </dependency>
- <dependency>
- <groupId>groupId</groupId>
- <artifactId>test-artifactId</artifactId>
- <version>version</version>
- <properties>
- <scope>test</scope>
- </properties>
- </dependency>
- </dependencies>
- <repository>
- <connection>scm:cvs:ext:${maven.username}@localhost:/home/cvs</connection>
- </repository>
- <properties>
- <relocated.groupId>relocated-test</relocated.groupId>
- </properties>
-</project>
+++ /dev/null
-<!--
- ~ 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.
- -->
-
-<project>
- <pomVersion>3</pomVersion>
- <artifactId>v3artifact</artifactId>
- <groupId>test</groupId>
- <currentVersion>1.0.0</currentVersion>
- <dependencies>
- <dependency>
- <groupId>groupId</groupId>
- <artifactId>artifactId</artifactId>
- <version>version</version>
- </dependency>
- <dependency>
- <groupId>groupId</groupId>
- <artifactId>test-artifactId</artifactId>
- <version>version</version>
- <properties>
- <scope>test</scope>
- </properties>
- </dependency>
- </dependencies>
- <!-- deliberate parse error -->
- <repository>
-</project>
+++ /dev/null
-<!--
- ~ 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.
- -->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>unmodified-artifact</artifactId>
- <groupId>test</groupId>
- <currentVersion>1.0.0</currentVersion>
-</project>
+++ /dev/null
-<!--
- ~ 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.
- -->
-
-<project>
- <pomVersion>3</pomVersion>
- <extend>../project.xml</extend>
- <artifactId>v3-warnings-artifact</artifactId>
- <groupId>test</groupId>
- <currentVersion>1.0.0</currentVersion>
- <versions>
- <version>
- <id>1.0</id>
- <name>1.0</name>
- <tag>1_0</tag>
- </version>
- </versions>
- <dependencies>
- <dependency>
- <groupId>groupId</groupId>
- <artifactId>artifactId</artifactId>
- <version>version</version>
- </dependency>
- <dependency>
- <groupId>groupId</groupId>
- <artifactId>test-artifactId</artifactId>
- <version>version</version>
- <properties>
- <scope>test</scope>
- </properties>
- </dependency>
- </dependencies>
- <repository>
- <connection>scm:cvs:ext:${maven.username}@localhost:/home/cvs</connection>
- </repository>
-</project>
+++ /dev/null
-<!--
- ~ 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.
- -->
-
-<project>
- <pomVersion>3</pomVersion>
- <artifactId>v3artifact</artifactId>
- <groupId>test</groupId>
- <currentVersion>1.0.0-20060105.130101-3</currentVersion>
- <dependencies>
- <dependency>
- <groupId>groupId</groupId>
- <artifactId>artifactId</artifactId>
- <version>version</version>
- </dependency>
- <dependency>
- <groupId>groupId</groupId>
- <artifactId>test-artifactId</artifactId>
- <version>version</version>
- <properties>
- <scope>test</scope>
- </properties>
- </dependency>
- </dependencies>
- <repository>
- <connection>scm:cvs:ext:${maven.username}@localhost:/home/cvs</connection>
- </repository>
-</project>
+++ /dev/null
-<!--
- ~ 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.
- -->
-
-<project>
- <pomVersion>3</pomVersion>
- <artifactId>v3artifact</artifactId>
- <groupId>test</groupId>
- <currentVersion>1.0.0-SNAPSHOT</currentVersion>
- <dependencies>
- <dependency>
- <groupId>groupId</groupId>
- <artifactId>artifactId</artifactId>
- <version>version</version>
- </dependency>
- <dependency>
- <groupId>groupId</groupId>
- <artifactId>test-artifactId</artifactId>
- <version>version</version>
- <properties>
- <scope>test</scope>
- </properties>
- </dependency>
- </dependencies>
- <repository>
- <connection>scm:cvs:ext:${maven.username}@localhost:/home/cvs</connection>
- </repository>
-</project>
+++ /dev/null
-<!--
- ~ 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.
- -->
-
-<project>
- <pomVersion>3</pomVersion>
- <artifactId>v3artifact</artifactId>
- <groupId>test</groupId>
- <currentVersion>1.0.0</currentVersion>
- <dependencies>
- <dependency>
- <groupId>groupId</groupId>
- <artifactId>artifactId</artifactId>
- <version>version</version>
- </dependency>
- <dependency>
- <groupId>groupId</groupId>
- <artifactId>test-artifactId</artifactId>
- <version>version</version>
- <properties>
- <scope>test</scope>
- </properties>
- </dependency>
- </dependencies>
- <repository>
- <connection>scm:cvs:ext:${maven.username}@localhost:/home/cvs</connection>
- </repository>
-</project>
+++ /dev/null
-<!--
- ~ 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.
- -->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <groupId>test</groupId>
- <artifactId>v4artifact</artifactId>
- <version>1.0.0-20060111.120115-1</version>
-</project>
+++ /dev/null
-<!--
- ~ 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.
- -->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <groupId>test</groupId>
- <artifactId>v4artifact</artifactId>
- <version>1.0.0-SNAPSHOT</version>
-</project>
+++ /dev/null
-<!--
- ~ 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.
- -->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <groupId>test</groupId>
- <artifactId>v4artifact</artifactId>
- <version>1.0.0</version>
-</project>
+++ /dev/null
-4d677e8e95fb342512e3d05ea68a501d
\ No newline at end of file
+++ /dev/null
-58f1e8ae41f12747947c947437e262d9f3bd3ce7
\ No newline at end of file
+++ /dev/null
-<?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>
\ No newline at end of file
+++ /dev/null
-506f014fdec1a0e02b4a40b6e7a9a40c
\ No newline at end of file
+++ /dev/null
-7aa0572d8d06ed6c2d14b9a79f16427127f3a2dc
\ No newline at end of file
+++ /dev/null
-<?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>
\ No newline at end of file
+++ /dev/null
-162bb9adf25e1044c3e6bc4ab7a28963
\ No newline at end of file
+++ /dev/null
-0c485c6093f11d16e8710d58b3f4fbe2184428ec
\ No newline at end of file
+++ /dev/null
-ece384b9ed97eb5ab3337022a2425738
\ No newline at end of file
+++ /dev/null
-8c97bc705524dd2798c2bbdb0978bf20a09f4adb
\ No newline at end of file
+++ /dev/null
-d4fe361b7e0c648d127d8143003abdbc
\ No newline at end of file
+++ /dev/null
-4ebf4a3ff5ee70473284d2008df145905cd09b80
\ No newline at end of file
+++ /dev/null
-b7b6eea84bc331c0f6485bc9cda1f263
\ No newline at end of file
+++ /dev/null
-a08204dc89d2b3324143ed6e73c0c79249920a6d
\ No newline at end of file
+++ /dev/null
-95041ac6ca18e5d2edfd076a1db17260
\ No newline at end of file
+++ /dev/null
-241a1816ec34ac7199bdad4245aa23f26eff0dbc
\ No newline at end of file
+++ /dev/null
-<?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>
\ No newline at end of file
+++ /dev/null
-f74a51504ccf227e4ef23e2e39a2b795
\ No newline at end of file
+++ /dev/null
-71ea326f41c0e11f213a31453eb295cdaafedaf3
\ No newline at end of file
+++ /dev/null
-<?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>
\ No newline at end of file
+++ /dev/null
-0ad0dd0c31b907837cd76d8d078fa1a7
\ No newline at end of file
+++ /dev/null
-727eab340e25ac049dfd7e1440e36adbfa0b36c3
\ No newline at end of file
+++ /dev/null
-a9307b318ad24de6968916fae2369b24
\ No newline at end of file
+++ /dev/null
-5797a7262ea7b78573e4417cb1580c4857331ad0
\ No newline at end of file
+++ /dev/null
-<?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>
\ No newline at end of file
+++ /dev/null
-05fa18418ae91126094fc348968f5998
\ No newline at end of file
+++ /dev/null
-4d31788221b2c52d706ed2f699ce1cef378f93fa
\ No newline at end of file
+++ /dev/null
-<?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>
\ No newline at end of file
+++ /dev/null
-967fd6db15ca4b281d3d7e17d2d42748
\ No newline at end of file
+++ /dev/null
-8db116301bb933dd2bd84aa095d969915a518e71
\ No newline at end of file
+++ /dev/null
-ce74ccd6ed0386fe1f5f864e9306b7ac
\ No newline at end of file
+++ /dev/null
-cfae8bc6d35bd3fcbd09645ec5f21cdb65af606a
\ No newline at end of file
+++ /dev/null
-<?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>
\ No newline at end of file
+++ /dev/null
-f64549509bac5f2c69892b06b7dcb051
\ No newline at end of file
+++ /dev/null
-390de11af26257916a4b769a1e99fcdb552c8b6b
\ No newline at end of file
+++ /dev/null
-a111f4992ee5d79118c90753fe90f454
\ No newline at end of file
+++ /dev/null
-4719d0a316edce8be88aa49aecdda9279a57f6bf
\ No newline at end of file
+++ /dev/null
-<?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>
\ No newline at end of file
+++ /dev/null
-66fccfaec7b4497965881d16ebc05440
\ No newline at end of file
+++ /dev/null
-8acf1d833362bb10815081a409e90cf1574da49b
\ No newline at end of file
+++ /dev/null
-dfde38fb74217c2aa45cd06dbccf1eb4
\ No newline at end of file
+++ /dev/null
-cc4b661113efbc5e49504e69e5893b1bfcf30c22
\ No newline at end of file
+++ /dev/null
-af58ccd15e4fdd7581037fd3efff9d39
\ No newline at end of file
+++ /dev/null
-fbf8eb5bab1378d1513dc31c93bed5cb4024d6a6
\ No newline at end of file
+++ /dev/null
-ec9f4f9b63e2005e91769c7144c97230
\ No newline at end of file
+++ /dev/null
-b67e0befef623ec302d99cc0ccc8a6f51046dc2c
\ No newline at end of file
+++ /dev/null
-<?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>
\ No newline at end of file
+++ /dev/null
-8a7724b36f3985aeab383cd606f0ff4e
\ No newline at end of file
+++ /dev/null
-dede1bb862486b428417019c4d964aba36792b07
\ No newline at end of file
+++ /dev/null
-<?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>
\ No newline at end of file
+++ /dev/null
-971ba8f9fdb30858c671346073cb9b33
\ No newline at end of file
+++ /dev/null
-e5b14072df36ae9b0ad8ec79512bc632164a4148
\ No newline at end of file
+++ /dev/null
-<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>
+++ /dev/null
-24bb4da72c86f29c900802d1c9fc9581
\ No newline at end of file
+++ /dev/null
-67198346b344f6260e61dc42511d854e885f6b23
\ No newline at end of file
+++ /dev/null
-<?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>
\ No newline at end of file
+++ /dev/null
-84aef5b30a8d48c3902bacf9fbcb9205
\ No newline at end of file
+++ /dev/null
-19606e25290454d398e3187466d7d78d2f2800c1
\ No newline at end of file
+++ /dev/null
-9772846681b2691f343a8f4790c7e881
\ No newline at end of file
+++ /dev/null
-744189233a2fc36f9180b1c814e60e1e974ebdc7
\ No newline at end of file
+++ /dev/null
-<?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>
\ No newline at end of file
+++ /dev/null
-8a4922d2c9a041baa484f927ca34631c
\ No newline at end of file
+++ /dev/null
-1c9b3fd6b2b060d1a9d42e562f981abd5ad7422a
\ No newline at end of file
+++ /dev/null
-<?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>
\ No newline at end of file
+++ /dev/null
-5d9d60fca5422465a5532859c94ecc8c
\ No newline at end of file
+++ /dev/null
-cc53fcda992f0515fa761bc8947053e9c2931f01
\ No newline at end of file
+++ /dev/null
-<?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>
\ No newline at end of file
+++ /dev/null
-400a4c18b70498f60437ff8ad66de5a3
\ No newline at end of file
+++ /dev/null
-4e4f57ef76ee335161112382342d3407e9bca2cc
\ No newline at end of file
+++ /dev/null
-408c7c6961e83e707f65fac084de1f94
\ No newline at end of file
+++ /dev/null
-a9c4f781137bab2f4d00c9124e80925c421ead8c
\ No newline at end of file
+++ /dev/null
-234db44ad6eb80cf4484528e496a4b25
\ No newline at end of file
+++ /dev/null
-c7a91a4dd1b5a414779f2f04f2f054849dee4f57
\ No newline at end of file
+++ /dev/null
-aff6435489ca8a7838edb655887b3c6c
\ No newline at end of file
+++ /dev/null
-9302ea57f52240bd8c3991d07d095f033f908aad
\ No newline at end of file
+++ /dev/null
-6f53b8b06e0b43fff3057183e64f581d
\ No newline at end of file
+++ /dev/null
-58703dba30983dc34f78d0c44f6cd4b77e4c1446
\ No newline at end of file
+++ /dev/null
-<?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-ejb</artifactId>
- <packaging>ejb</packaging>
- <name>DayTrader :: EJBs</name>
- <version>2.0-SNAPSHOT</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-antrun-plugin</artifactId>
- <executions>
- <execution>
- <phase>compile</phase>
- <goals>
- <goal>run</goal>
- </goals>
- <configuration>
- <tasks>
- <path id="enhance.path.ref">
- <fileset dir="${project.build.outputDirectory}">
- <include name="**/*.class"></include>
- </fileset>
- </path>
- <pathconvert pathsep=" " property="enhance.files" refid="enhance.path.ref"></pathconvert>
- <java classname="org.apache.openjpa.enhance.PCEnhancer">
- <arg line="-p persistence.xml"></arg>
- <arg line="${enhance.files}"></arg>
- <classpath>
- <path refid="maven.dependency.classpath"></path>
- <path refid="maven.compile.classpath"></path>
- </classpath>
- </java>
- </tasks>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <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>org.apache.geronimo.daytrader</groupId>
- <artifactId>daytrader-wsappclient</artifactId>
- <version>2.0-SNAPSHOT</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-ejb_2.1_spec</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-jaxrpc_1.1_spec</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-jms_1.1_spec</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-qname_1.1_spec</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-jpa_3.0_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>
- <dependency>
- <groupId>org.apache.openjpa</groupId>
- <artifactId>openjpa-all</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>xerces</groupId>
- <artifactId>xercesImpl</artifactId>
- <version>2.6.2</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>xerces</groupId>
- <artifactId>xmlParserAPIs</artifactId>
- <version>2.2.1</version>
- <scope>provided</scope>
- </dependency>
- </dependencies>
- <distributionManagement>
- <status>deployed</status>
- </distributionManagement>
-</project>
\ No newline at end of file
+++ /dev/null
-f8c41c8799c7d8c75a807d4a205aff42
\ No newline at end of file
+++ /dev/null
-18046fd02d02885f97616c2c053cbff165f4f382
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?><metadata>
- <groupId>org.apache.geronimo.daytrader</groupId>
- <artifactId>daytrader-ejb</artifactId>
- <version>2.0-SNAPSHOT</version>
- <versioning>
- <snapshot>
- <buildNumber>1</buildNumber>
- </snapshot>
- <lastUpdated>20070201164617</lastUpdated>
- </versioning>
-</metadata>
\ No newline at end of file
+++ /dev/null
-1f7c6581909ac26dcb44ff7612d7898d
\ No newline at end of file
+++ /dev/null
-c5a7be31fc8110ca91ed0b72bc7ece546e50e435
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?><metadata>
- <groupId>org.apache.geronimo.daytrader</groupId>
- <artifactId>daytrader-ejb</artifactId>
- <version>2.0-SNAPSHOT</version>
- <versioning>
- <versions>
- <version>2.0-SNAPSHOT</version>
- </versions>
- <lastUpdated>20070201164617</lastUpdated>
- </versioning>
-</metadata>
\ No newline at end of file
+++ /dev/null
-1abcabff35aa4fda30eafd13e478e961
\ No newline at end of file
+++ /dev/null
-5e3bf24a230b3ef502edee8dd0099b0cb3300046
\ No newline at end of file
+++ /dev/null
-d10bcecf5cfd5a232e2c9852d87c9ff3
\ No newline at end of file
+++ /dev/null
-f6c34949c8ec5fc7605f2e5b308826952d455468
\ No newline at end of file
+++ /dev/null
-88526652477cffde86b4fb6d3c4d9b09
\ No newline at end of file
+++ /dev/null
-8e32bee44b3179b2534e7dae45f823cfc97985a3
\ No newline at end of file
+++ /dev/null
-ffed1a6a0f9a18c940e5176c83d0bf17
\ No newline at end of file
+++ /dev/null
-60aacd0b5166182a133a62d8df23f6d6fc77a67c
\ No newline at end of file
+++ /dev/null
-<?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-streamer</artifactId>
- <name>DayTrader :: Quote Streamer</name>
- <version>2.0-SNAPSHOT</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>org.apache.geronimo.daytrader</groupId>
- <artifactId>daytrader-ejb</artifactId>
- <version>2.0-SNAPSHOT</version>
- <type>ejb</type>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-ejb_2.1_spec</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-jms_1.1_spec</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-jpa_3.0_spec</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.openjpa</groupId>
- <artifactId>openjpa-all</artifactId>
- <scope>provided</scope>
- </dependency>
- </dependencies>
- <distributionManagement>
- <status>deployed</status>
- </distributionManagement>
-</project>
\ No newline at end of file
+++ /dev/null
-76a04efad19db1246f31c34190f8b15d
\ No newline at end of file
+++ /dev/null
-b62855d411ae2798e4089c8260247d4aa69a0411
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?><metadata>
- <groupId>org.apache.geronimo.daytrader</groupId>
- <artifactId>daytrader-streamer</artifactId>
- <version>2.0-SNAPSHOT</version>
- <versioning>
- <snapshot>
- <buildNumber>1</buildNumber>
- </snapshot>
- <lastUpdated>20070201164625</lastUpdated>
- </versioning>
-</metadata>
\ No newline at end of file
+++ /dev/null
-d34e873a79fc96c4b11a2d993936de27
\ No newline at end of file
+++ /dev/null
-1e9780431924e1277145a408c60fdb26fd155443
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?><metadata>
- <groupId>org.apache.geronimo.daytrader</groupId>
- <artifactId>daytrader-streamer</artifactId>
- <version>2.0-SNAPSHOT</version>
- <versioning>
- <versions>
- <version>2.0-SNAPSHOT</version>
- </versions>
- <lastUpdated>20070201164625</lastUpdated>
- </versioning>
-</metadata>
\ No newline at end of file
+++ /dev/null
-fd8090195a044102add1f6f9ea7ffd49
\ No newline at end of file
+++ /dev/null
-96a066a26b7e2a8b5ea476cc74caa7d0cc9af897
\ No newline at end of file
+++ /dev/null
-f8ce7b4b74d018f232f8ffb0c529070e
\ No newline at end of file
+++ /dev/null
-93469a577c1c694530dc3b6fde07b4b4f9349315
\ No newline at end of file
+++ /dev/null
-<?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-web</artifactId>
- <packaging>war</packaging>
- <name>DayTrader :: Web Application</name>
- <version>2.0-SNAPSHOT</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>
- <artifactId>maven-war-plugin</artifactId>
- <configuration>
- <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>org.apache.geronimo.daytrader</groupId>
- <artifactId>daytrader-ejb</artifactId>
- <version>2.0-SNAPSHOT</version>
- <type>ejb</type>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.geronimo.daytrader</groupId>
- <artifactId>daytrader-wsappclient</artifactId>
- <version>2.0-SNAPSHOT</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.geronimo.daytrader</groupId>
- <artifactId>daytrader-streamer</artifactId>
- <version>2.0-SNAPSHOT</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-ejb_2.1_spec</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-jms_1.1_spec</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-servlet_2.4_spec</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-jsp_2.0_spec</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>taglibs</groupId>
- <artifactId>standard</artifactId>
- <version>1.1.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-jpa_3.0_spec</artifactId>
- <scope>provided</scope>
- </dependency>
- </dependencies>
- <distributionManagement>
- <status>deployed</status>
- </distributionManagement>
-</project>
\ No newline at end of file
+++ /dev/null
-e8a54b8681eec09323657749f29219fe
\ No newline at end of file
+++ /dev/null
-3c52b8ce4ebdc6527928cb134e569558838b7d14
\ No newline at end of file
+++ /dev/null
-cca35f6167c93ad3ae2ff53d58cb9db4
\ No newline at end of file
+++ /dev/null
-ca06e4519bb8e5b0db340f77195fd22f2d5bf46c
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?><metadata>
- <groupId>org.apache.geronimo.daytrader</groupId>
- <artifactId>daytrader-web</artifactId>
- <version>2.0-SNAPSHOT</version>
- <versioning>
- <snapshot>
- <buildNumber>1</buildNumber>
- </snapshot>
- <lastUpdated>20070201164633</lastUpdated>
- </versioning>
-</metadata>
\ No newline at end of file
+++ /dev/null
-aec372b38f559a990e90afc04578f992
\ No newline at end of file
+++ /dev/null
-ee504dda264fbfac8299c600b65de0876c0d8538
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?><metadata>
- <groupId>org.apache.geronimo.daytrader</groupId>
- <artifactId>daytrader-web</artifactId>
- <version>2.0-SNAPSHOT</version>
- <versioning>
- <versions>
- <version>2.0-SNAPSHOT</version>
- </versions>
- <lastUpdated>20070201164633</lastUpdated>
- </versioning>
-</metadata>
\ No newline at end of file
+++ /dev/null
-4ba953cf06bc7a0e3357ff9c429d9802
\ No newline at end of file
+++ /dev/null
-09726ef1508b5ee8089a03fb089b0dc667d285a9
\ No newline at end of file
+++ /dev/null
-84fef312edccec95590045380db177de
\ No newline at end of file
+++ /dev/null
-351a4315b098a070eda7f4a28b24000c5d77564c
\ No newline at end of file
+++ /dev/null
-1f70073c2a75466d778936198f60c397
\ No newline at end of file
+++ /dev/null
-186447fd962aef413ff53f68c86cc00066c64041
\ No newline at end of file
+++ /dev/null
-b0cad0d8b0539b5e6c74d313e2784fdd
\ No newline at end of file
+++ /dev/null
-fa88bf7615bbd5c1d2a38291ba131d3473b9aff1
\ No newline at end of file
+++ /dev/null
-<?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-wsappclient</artifactId>
- <name>DayTrader :: WS Application Client</name>
- <version>2.0-20070201.183230-5</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-jaxrpc_1.1_spec</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-qname_1.1_spec</artifactId>
- </dependency>
- </dependencies>
- <distributionManagement>
- <status>deployed</status>
- </distributionManagement>
-</project>
\ No newline at end of file
+++ /dev/null
-ea41a407f1a9100771120e449e389651
\ No newline at end of file
+++ /dev/null
-c92d13aeeab835b7752fe8c2a8675db009596c9f
\ No newline at end of file
+++ /dev/null
-80d8585d504bddd8262c83976c7a9c72
\ No newline at end of file
+++ /dev/null
-00d78884bbb4a4f102b3b1ce132a4cd81d28bdc9
\ No newline at end of file
+++ /dev/null
-05a15d6b6390b9bca327a67646448650
\ No newline at end of file
+++ /dev/null
-f401e2a994d55ec812372f96aae64ca3663f7c6f
\ No newline at end of file
+++ /dev/null
-1823b9d8cdb50da80373cb4b85c243fb
\ No newline at end of file
+++ /dev/null
-5228990401004c5bdb9ad548bbf8aed1ce6cc196
\ No newline at end of file
+++ /dev/null
-<?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-wsappclient</artifactId>
- <name>DayTrader :: WS Application Client</name>
- <version>2.0-SNAPSHOT</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-deploy-plugin</artifactId>
- <configuration>
- <uniqueVersion>true</uniqueVersion>
- </configuration>
- </plugin>
- <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-jaxrpc_1.1_spec</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-qname_1.1_spec</artifactId>
- </dependency>
- </dependencies>
- <distributionManagement>
- <status>deployed</status>
- </distributionManagement>
-</project>
\ No newline at end of file
+++ /dev/null
-b5f837ccb11cdc5102f0c7f2c5b329e8
\ No newline at end of file
+++ /dev/null
-4d3052ef11fd63a0bc78eeaeaaa568127c100860
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?><metadata>
- <groupId>org.apache.geronimo.daytrader</groupId>
- <artifactId>daytrader-wsappclient</artifactId>
- <version>2.0-SNAPSHOT</version>
- <versioning>
- <snapshot>
- <timestamp>20070201.183230</timestamp>
- <buildNumber>5</buildNumber>
- </snapshot>
- <lastUpdated>20070201183230</lastUpdated>
- </versioning>
-</metadata>
\ No newline at end of file
+++ /dev/null
-89df889ab494b253f0f21507ae7f701c
\ No newline at end of file
+++ /dev/null
-52fad08cc95dc998c54c6f8d0758b3a3c3107cec
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?><metadata>
- <groupId>org.apache.geronimo.daytrader</groupId>
- <artifactId>daytrader-wsappclient</artifactId>
- <version>2.0-SNAPSHOT</version>
- <versioning>
- <versions>
- <version>2.0-SNAPSHOT</version>
- </versions>
- <lastUpdated>20070201164602</lastUpdated>
- </versioning>
-</metadata>
\ No newline at end of file
+++ /dev/null
-7ac1294c500c0323a743194aa80bc1ad
\ No newline at end of file
+++ /dev/null
-21115e0e4184bd7093a63afa1fede189bcab67c9
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- 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.
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.apache.geronimo.genesis.config</groupId>
- <artifactId>project-config</artifactId>
- <version>1.1-SNAPSHOT</version>
- </parent>
-
- <groupId>org.apache.geronimo.daytrader</groupId>
- <artifactId>daytrader</artifactId>
- <name>DayTrader :: Performance Benchmark Sample</name>
- <packaging>pom</packaging>
- <version>2.0-SNAPSHOT</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>
-
- <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>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-ejb_2.1_spec</artifactId>
- <version>[1.0,2.0)</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-jaxrpc_1.1_spec</artifactId>
- <version>[1.0,2.0)</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-jms_1.1_spec</artifactId>
- <version>[1.0,2.0)</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-qname_1.1_spec</artifactId>
- <version>[1.0,2.0)</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-servlet_2.4_spec</artifactId>
- <version>[1.0,2.0)</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-jsp_2.0_spec</artifactId>
- <version>[1.0,2.0)</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-jpa_3.0_spec</artifactId>
- <version>1.0-SNAPSHOT</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.openjpa</groupId>
- <artifactId>openjpa-all</artifactId>
- <version>0.9.6-incubating</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>
- </dependencies>
- </dependencyManagement>
- <build>
-
- <plugins>
- <plugin>
- <groupId>org.apache.geronimo.genesis.plugins</groupId>
- <artifactId>tools-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>validate-java-version</id>
- <phase>validate</phase>
- <goals>
- <goal>require-java-version</goal>
- </goals>
- <configuration>
- <version>1.5*</version>
- </configuration>
- </execution>
-
- <!--
- NOTE: This will copy LICENSE.txt and NOTICE.txt to classes/META-INF.
-
- Its a itty-bitty HACK to avoid adding resource definitions to
- the build, which causes the Eclipse plugin to generate invalid
- .classpath files. :-(
- -->
- <execution>
- <id>install-legal-files</id>
- <phase>generate-resources</phase>
- <goals>
- <goal>copy-legal-files</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>1.5</source>
- <target>1.5</target>
- </configuration>
- </plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-idea-plugin</artifactId>
- <configuration>
- <jdkName>1.5</jdkName>
- <linkModules>true</linkModules>
- </configuration>
- </plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- <configuration>
- <source>1.5</source>
- </configuration>
- </plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-release-plugin</artifactId>
- <configuration>
- <tagBase>https://svn.apache.org/repos/asf/geronimo/daytrader/tags</tagBase>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
- <repositories>
- <!--
- NOTE: The default repositories are picked up by Genesis, but need to
- specify where Genesis lives to pick it up + any additional repositories.
- -->
- <repository>
- <id>apache-snapshots</id>
- <name>Apache Snapshots Repository</name>
- <url>http://people.apache.org/repo/m2-snapshot-repository</url>
- <layout>default</layout>
- <snapshots>
- <enabled>true</enabled>
- <updatePolicy>daily</updatePolicy>
- <checksumPolicy>ignore</checksumPolicy>
- </snapshots>
- <releases>
- <enabled>false</enabled>
- </releases>
- </repository>
- </repositories>
-
- <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>
+++ /dev/null
-d04e80114262c514c82d4346ee094bcb
\ No newline at end of file
+++ /dev/null
-2db30210d79420ac52602cf715a13a31f3feed4d
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?><metadata>
- <groupId>org.apache.geronimo.daytrader</groupId>
- <artifactId>daytrader</artifactId>
- <version>2.0-SNAPSHOT</version>
- <versioning>
- <snapshot>
- <buildNumber>1</buildNumber>
- </snapshot>
- <lastUpdated>20070201164554</lastUpdated>
- </versioning>
-</metadata>
\ No newline at end of file
+++ /dev/null
-769e66f03f659d146f1face5c82211d4
\ No newline at end of file
+++ /dev/null
-8228d5deee211e9ae81f88308ecee855fe9b318a
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?><metadata>
- <groupId>org.apache.geronimo.daytrader</groupId>
- <artifactId>daytrader</artifactId>
- <version>2.0-SNAPSHOT</version>
- <versioning>
- <versions>
- <version>2.0-SNAPSHOT</version>
- </versions>
- <lastUpdated>20070201164554</lastUpdated>
- </versioning>
-</metadata>
\ No newline at end of file
+++ /dev/null
-847e11a580cde1f29066eef1f233aaf5
\ No newline at end of file
+++ /dev/null
-4aea09fa18f379bba75e056079dfa9022f934331
\ No newline at end of file
+++ /dev/null
-<?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.
- -->
-
-<component-set>
- <components>
- <component>
- <role>org.codehaus.plexus.registry.Registry</role>
- <implementation>org.codehaus.plexus.registry.commons.CommonsConfigurationRegistry</implementation>
- <role-hint>commons-configuration</role-hint>
- <configuration>
- <properties>
- <xml fileName="${basedir}/src/test/conf/archiva.xml"
- config-name="org.apache.maven.archiva.base" config-at="org.apache.maven.archiva"/>
- </properties>
- </configuration>
- </component>
- </components>
-</component-set>
+++ /dev/null
-<?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.
- -->
-
-<component-set>
- <components>
- <component>
- <role>org.codehaus.plexus.registry.Registry</role>
- <implementation>org.codehaus.plexus.registry.commons.CommonsConfigurationRegistry</implementation>
- <role-hint>commons-configuration</role-hint>
- <configuration>
- <properties>
- <xml fileName="${basedir}/src/test/conf/archiva.xml"
- config-name="org.apache.maven.archiva" config-at="org.apache.maven.archiva"/>
- </properties>
- </configuration>
- </component>
-
- <component>
- <role>org.codehaus.plexus.jdo.JdoFactory</role>
- <role-hint>archiva</role-hint>
- <implementation>org.codehaus.plexus.jdo.DefaultConfigurableJdoFactory</implementation>
-
- <configuration>
- <!-- Database Configuration -->
- <driverName>org.hsqldb.jdbcDriver</driverName>
- <url>jdbc:hsqldb:mem:TESTDB</url>
- <userName>sa</userName>
- <password></password>
-
- <!-- JPOX and JDO configuration -->
- <persistenceManagerFactoryClass>org.jpox.PersistenceManagerFactoryImpl</persistenceManagerFactoryClass>
- <otherProperties>
- <property>
- <name>javax.jdo.PersistenceManagerFactoryClass</name>
- <value>org.jpox.PersistenceManagerFactoryImpl</value>
- </property>
- <property>
- <name>org.jpox.autoCreateSchema</name>
- <value>true</value>
- </property>
- <property>
- <name>org.jpox.validateTables</name>
- <value>false</value>
- </property>
- <property>
- <name>org.jpox.validateConstraints</name>
- <value>false</value>
- </property>
- <property>
- <name>org.jpox.validateColumns</name>
- <value>false</value>
- </property>
- <property>
- <name>org.jpox.autoStartMechanism</name>
- <value>None</value>
- </property>
- <property>
- <name>org.jpox.transactionIsolation</name>
- <value>READ_UNCOMMITTED</value>
- </property>
- <property>
- <name>org.jpox.poid.transactionIsolation</name>
- <value>READ_UNCOMMITTED</value>
- </property>
- <property>
- <name>org.jpox.rdbms.dateTimezone</name>
- <value>JDK_DEFAULT_TIMEZONE</value>
- </property>
- </otherProperties>
- </configuration>
- </component>
- </components>
-</component-set>