Author: jdumay
Date: Thu Feb 12 06:58:17 2009
New Revision: 743633
URL: http://svn.apache.org/viewvc?rev=743633&view=rev
Log:
Merging in MRM-1084 and adding factory impls with spring config
Added:
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/src/main/java/org/apache/archiva/repository/DefaultRepositoryInterceptorFactory.java
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/src/main/java/org/apache/archiva/repository/DefaultRepositoryManagerFactory.java
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/src/main/resources/META-INF/
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/src/main/resources/META-INF/spring-context.xml
Modified:
archiva/branches/archiva-with-new-repoapi/ (props changed)
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-configuration/pom.xml
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-api/src/main/java/org/apache/maven/archiva/consumers/Consumer.java
(props changed)
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-model/pom.xml
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-model/src/main/mdo/archiva-base.xml
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/maven/archiva/proxy/MetadataTransferTest.java
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/
(props changed)
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-api/
(props changed)
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/RepositoryContentFactory.java
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/metadata/RepositoryMetadataMerge.java
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/pom.xml
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-web/archiva-repository-servlet/
(props changed)
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-web/archiva-repository-servlet/pom.xml
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-web/archiva-repository-servlet/src/main/java/org/apache/archiva/web/servlet/RepositoryServlet.java
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-web/archiva-webapp/pom.xml
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-web/archiva-webapp/src/main/resources/struts.properties
(props changed)
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-web/archiva-webapp/src/main/resources/struts.xml
(props changed)
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/web.xml
archiva/branches/archiva-with-new-repoapi/pom.xml
Propchange: archiva/branches/archiva-with-new-repoapi/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Feb 12 06:58:17 2009
@@ -1,3 +1,4 @@
/archiva/branches/MRM-541:686983-687034
/archiva/branches/archiva-search-improvements:723609-726925
/archiva/branches/archiva-struts2:699795-705848
+/archiva/trunk:743242-743630
Modified:
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-configuration/pom.xml
URL:
http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-configuration/pom.xml?rev=743633&r1=743632&r2=743633&view=diff
==============================================================================
---
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-configuration/pom.xml
(original)
+++
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-configuration/pom.xml
Thu Feb 12 06:58:17 2009
@@ -64,19 +64,36 @@
<plugin>
<groupId>org.codehaus.modello</groupId>
<artifactId>modello-maven-plugin</artifactId>
- <version>1.0-alpha-15</version>
<executions>
<execution>
<goals>
<goal>java</goal>
- <goal>registry-reader</goal>
- <goal>registry-writer</goal>
</goals>
</execution>
+ <execution>
+ <id>archiva-jpox-registry-reader</id>
+ <goals>
+ <goal>generate</goal>
+ </goals>
+ <configuration>
+ <generatorId>registry-reader</generatorId>
+ </configuration>
+ </execution>
+ <execution>
+ <id>archiva-jpox-registry-writer</id>
+ <goals>
+ <goal>generate</goal>
+ </goals>
+ <configuration>
+ <generatorId>registry-writer</generatorId>
+ </configuration>
+ </execution>
</executions>
<configuration>
<version>1.2.0</version>
- <model>src/main/mdo/configuration.mdo</model>
+ <models>
+ <model>src/main/mdo/configuration.mdo</model>
+ </models>
</configuration>
</plugin>
<plugin>
Propchange:
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-api/src/main/java/org/apache/maven/archiva/consumers/Consumer.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Feb 12 06:58:17 2009
@@ -1,3 +1,4 @@
/archiva/branches/MRM-541/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-api/src/main/java/org/apache/maven/archiva/consumers/BaseConsumer.java:686983-687034
/archiva/branches/archiva-search-improvements/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-api/src/main/java/org/apache/maven/archiva/consumers/Consumer.java:723609-726925
/archiva/branches/archiva-struts2/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-api/src/main/java/org/apache/maven/archiva/consumers/BaseConsumer.java:699795-705848
+/archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-api/src/main/java/org/apache/maven/archiva/consumers/Consumer.java:743242-743630
Modified:
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-model/pom.xml
URL:
http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-model/pom.xml?rev=743633&r1=743632&r2=743633&view=diff
==============================================================================
---
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-model/pom.xml
(original)
+++
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-model/pom.xml
Thu Feb 12 06:58:17 2009
@@ -59,11 +59,12 @@
<plugin>
<groupId>org.codehaus.modello</groupId>
<artifactId>modello-maven-plugin</artifactId>
- <version>1.0-alpha-17</version>
<configuration>
<version>1.0.0</version>
<packageWithVersion>false</packageWithVersion>
- <model>src/main/mdo/archiva-base.xml</model>
+ <models>
+ <model>src/main/mdo/archiva-base.xml</model>
+ </models>
</configuration>
<executions>
<execution>
@@ -71,14 +72,26 @@
<goals>
<goal>java</goal>
<goal>xsd</goal>
- <goal>jpox-jdo-mapping</goal>
- <goal>jpox-metadata-class</goal>
- <!--
- <goal>xpp3-writer</goal>
- <goal>xpp3-reader</goal>
- -->
</goals>
</execution>
+ <execution>
+ <id>archiva-jpox-jdo-mapping</id>
+ <goals>
+ <goal>generate</goal>
+ </goals>
+ <configuration>
+ <generatorId>jpox-jdo-mapping</generatorId>
+ </configuration>
+ </execution>
+ <execution>
+ <id>archiva-jpox-metadata-class</id>
+ <goals>
+ <goal>generate</goal>
+ </goals>
+ <configuration>
+ <generatorId>jpox-metadata-class</generatorId>
+ </configuration>
+ </execution>
</executions>
</plugin>
<plugin>
@@ -139,6 +152,24 @@
</execution>
</executions>
</plugin>
+ <!-- stupid hack because jpox/modello is not supported anymore and it
has bugs -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <executions>
+ <execution>
+ <phase>process-sources</phase>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ <configuration>
+ <tasks>
+ <copy
file="${project.build.directory}/generated-sources/modello/org/apache/maven/archiva/model/package.jdo"
todir="${project.build.outputDirectory}/org/apache/maven/archiva/model/" />
+ </tasks>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
Modified:
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-model/src/main/mdo/archiva-base.xml
URL:
http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-model/src/main/mdo/archiva-base.xml?rev=743633&r1=743632&r2=743633&view=diff
==============================================================================
---
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-model/src/main/mdo/archiva-base.xml
(original)
+++
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-model/src/main/mdo/archiva-base.xml
Thu Feb 12 06:58:17 2009
@@ -96,8 +96,7 @@
-->
<!--
<class stash.storable="true"
- jpox.table="REPOSITORIES"
- jpox.not-persisted-fields="modelEncoding">
+ jpox.table="REPOSITORIES">
<name>ArchivaRepositoryModel</name>
<version>1.0.0+</version>
<fields>
@@ -219,7 +218,6 @@
<class stash.storable="true"
jpox.table="ARTIFACT"
- jpox.not-persisted-fields="modelEncoding"
jpox.use-identifiers-as-primary-key="false"
jpox.identity-type="application"
jpox.identity-class="org.apache.maven.archiva.model.jpox.ArchivaArtifactModelKey">
@@ -440,7 +438,6 @@
</class>
<class stash.storable="true"
jpox.table="JAVA_ARTIFACT"
- jpox.not-persisted-fields="modelEncoding"
jpox.use-identifiers-as-primary-key="false"
jpox.identity-type="application"
jpox.identity-class="org.apache.maven.archiva.model.jpox.ArchivaArtifactJavaDetailsKey">
@@ -586,7 +583,6 @@
<class stash.storable="true"
jpox.use-identifiers-as-primary-key="false"
- jpox.not-persisted-fields="modelEncoding"
jpox.identity-type="application"
jpox.identity-class="org.apache.maven.archiva.model.jpox.ArchivaRepositoryMetadataKey"
jpox.table="REPOSITORY_METADATA">
@@ -772,7 +768,6 @@
</class>
<class stash.storable="true"
- jpox.not-persisted-fields="modelEncoding"
jpox.table="REPOSITORY_METADATA_SNAPSHOTS">
<name>SnapshotVersion</name>
<description>The Snapshot Version</description>
@@ -807,7 +802,6 @@
</class>
<class stash.storable="true"
- jpox.not-persisted-fields="modelEncoding"
jpox.table="REPOSITORY_METADATA_PLUGINS">
<name>Plugin</name>
<description>The Plugin</description>
@@ -855,7 +849,6 @@
-->
<class stash.storable="true"
- jpox.not-persisted-fields="modelEncoding"
jpox.table="PROJECT_REFERENCE">
<name>ProjectReference</name>
<description>A reference to another (unversioned) Project</description>
@@ -919,7 +912,6 @@
</class>
<class stash.storable="true"
- jpox.not-persisted-fields="modelEncoding"
jpox.table="VERSIONED_REFERENCE">
<name>VersionedReference</name>
<description>A reference to another Versioned Project</description>
@@ -995,7 +987,6 @@
</class>
<class stash.storable="true"
- jpox.not-persisted-fields="modelEncoding"
jpox.table="ARTIFACT_REFERENCE">
<name>ArtifactReference</name>
<version>1.0.0+</version>
@@ -1215,7 +1206,6 @@
<class stash.storable="true"
jpox.table="PROJECT"
- jpox.not-persisted-fields="modelEncoding"
jpox.use-identifiers-as-primary-key="false"
jpox.identity-type="application"
jpox.identity-class="org.apache.maven.archiva.model.jpox.ArchivaProjectModelKey">
@@ -1532,7 +1522,6 @@
</class>
<class stash.storable="true"
- jpox.not-persisted-fields="modelEncoding"
jpox.table="MAILING_LISTS">
<name>MailingList</name>
<description>A Mailing List</description>
@@ -1590,7 +1579,6 @@
</class>
<class stash.storable="true"
- jpox.not-persisted-fields="modelEncoding"
jpox.table="ORGANIZATION">
<name>Organization</name>
<description>Specifies the organization that produces this
project.</description>
@@ -1634,7 +1622,6 @@
</class>
<class stash.storable="true"
- jpox.not-persisted-fields="modelEncoding"
jpox.table="LICENSES">
<name>License</name>
<description><![CDATA[
@@ -1685,7 +1672,6 @@
</class>
<class stash.storable="true"
- jpox.not-persisted-fields="modelEncoding"
jpox.table="ISSUE_MANAGEMENT">
<name>IssueManagement</name>
<description>
@@ -1717,7 +1703,7 @@
</codeSegments>
</class>
- <class jpox.not-persisted-fields="modelEncoding">
+ <class>
<name>CiManagement</name>
<version>1.0.0+</version>
<fields>
@@ -1748,8 +1734,7 @@
</codeSegments>
</class>
- <class stash.storable="true"
- jpox.not-persisted-fields="modelEncoding">
+ <class stash.storable="true">
<name>Individual</name>
<description>
Description of a person who has contributed to the project.
@@ -1853,7 +1838,6 @@
</class>
<class stash.storable="true"
- jpox.not-persisted-fields="modelEncoding"
jpox.table="DEPENDENCY">
<name>Dependency</name>
<version>1.0.0+</version>
@@ -2043,7 +2027,6 @@
</class>
<class stash.storable="true"
- jpox.not-persisted-fields="modelEncoding"
jpox.table="EXCLUSIONS">
<name>Exclusion</name>
<version>1.0.0+</version>
@@ -2074,7 +2057,6 @@
</class>
<class stash.storable="true"
- jpox.not-persisted-fields="modelEncoding"
jpox.table="SCM">
<name>Scm</name>
<version>1.0.0+</version>
@@ -2119,9 +2101,7 @@
</codeSegments>
</class>
- <class stash.storable="true"
- jpox.not-persisted-fields="modelEncoding"
- jpox.table="PROJECT_REPOSITORIES">
+ <class stash.storable="true" jpox.table="PROJECT_REPOSITORIES">
<name>ProjectRepository</name>
<version>1.0.0+</version>
<fields>
@@ -2204,7 +2184,6 @@
-->
<class stash.storable="true"
- jpox.not-persisted-fields="modelEncoding"
jpox.table="REPOSITORY_PROBLEMS">
<name>RepositoryProblem</name>
<version>1.0.0+</version>
@@ -2307,7 +2286,6 @@
-->
<class stash.storable="true"
- jpox.not-persisted-fields="modelEncoding"
jpox.table="REPOSITORY_STATS">
<name>RepositoryContentStatistics</name>
<version>1.0.0+</version>
Modified:
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/maven/archiva/proxy/MetadataTransferTest.java
URL:
http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/maven/archiva/proxy/MetadataTransferTest.java?rev=743633&r1=743632&r2=743633&view=diff
==============================================================================
---
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/maven/archiva/proxy/MetadataTransferTest.java
(original)
+++
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/maven/archiva/proxy/MetadataTransferTest.java
Thu Feb 12 06:58:17 2009
@@ -1112,7 +1112,6 @@
m.getPlugins().add( p );
}
- m.setModelEncoding( null );
RepositoryMetadataWriter.write( m, expectedMetadataXml );
// Compare the file to the actual contents.
@@ -1148,7 +1147,6 @@
m.getAvailableVersions().addAll( Arrays.asList( expectedVersions )
);
}
- m.setModelEncoding( null );
RepositoryMetadataWriter.write( m, expectedMetadataXml );
// Compare the file to the actual contents.
@@ -1176,7 +1174,6 @@
m.setGroupId( metadata.getGroupId() );
m.setArtifactId( metadata.getArtifactId() );
m.setVersion( metadata.getVersion() );
- m.setModelEncoding( null );
RepositoryMetadataWriter.write( m, expectedMetadataXml );
// Compare the file to the actual contents.
@@ -1254,7 +1251,6 @@
m.setLastUpdated( expectedDate + expectedTime );
- m.setModelEncoding( null );
RepositoryMetadataWriter.write( m, expectedMetadataXml );
// Compare the file to the actual contents.
@@ -1290,7 +1286,6 @@
m.getAvailableVersions().addAll( Arrays.asList(
expectedProxyVersions ) );
}
- m.setModelEncoding( null );
RepositoryMetadataWriter.write( m, expectedMetadataXml );
// Compare the file to the actual contents.
@@ -1320,7 +1315,6 @@
m.setGroupId( metadata.getGroupId() );
m.setArtifactId( metadata.getArtifactId() );
m.setVersion( metadata.getVersion() );
- m.setModelEncoding( null );
RepositoryMetadataWriter.write( m, expectedMetadataXml );
// Compare the file to the actual contents.
Propchange:
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Thu Feb 12 06:58:17 2009
@@ -0,0 +1 @@
+target
Propchange:
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-api/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Thu Feb 12 06:58:17 2009
@@ -0,0 +1 @@
+target
Modified:
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/RepositoryContentFactory.java
URL:
http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/RepositoryContentFactory.java?rev=743633&r1=743632&r2=743633&view=diff
==============================================================================
---
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/RepositoryContentFactory.java
(original)
+++
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/RepositoryContentFactory.java
Thu Feb 12 06:58:17 2009
@@ -36,6 +36,7 @@
import java.util.HashMap;
import java.util.Map;
+import org.apache.commons.collections.map.UnmodifiableMap;
/**
* RepositoryContentRequest
@@ -66,6 +67,24 @@
}
/**
+ * Gets an unmodifiable map representing the Managed repositories
+ * @return managedContentMap
+ */
+ public Map<String, ManagedRepositoryContent> getManagedContentMap()
+ {
+ return UnmodifiableMap.decorate(managedContentMap);
+ }
+
+ /**
+ * Gets an unmodifiable map representing the Remote repositories
+ * @return remoteContentMap
+ */
+ public Map<String, RemoteRepositoryContent> getRemoteContentMap()
+ {
+ return UnmodifiableMap.decorate(remoteContentMap);
+ }
+
+ /**
* Get the ManagedRepositoryContent object for the repository Id specified.
*
* @param repoId the repository id to fetch.
Modified:
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/metadata/RepositoryMetadataMerge.java
URL:
http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/metadata/RepositoryMetadataMerge.java?rev=743633&r1=743632&r2=743633&view=diff
==============================================================================
---
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/metadata/RepositoryMetadataMerge.java
(original)
+++
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/metadata/RepositoryMetadataMerge.java
Thu Feb 12 06:58:17 2009
@@ -219,7 +219,6 @@
{
Plugin clonedPlugin = new Plugin();
clonedPlugin.setArtifactId(plugin.getArtifactId());
- clonedPlugin.setModelEncoding(plugin.getModelEncoding());
clonedPlugin.setName(plugin.getName());
clonedPlugin.setPrefix(plugin.getPrefix());
result.add(plugin);
Modified:
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/pom.xml
URL:
http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/pom.xml?rev=743633&r1=743632&r2=743633&view=diff
==============================================================================
---
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/pom.xml
(original)
+++
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/pom.xml
Thu Feb 12 06:58:17 2009
@@ -29,5 +29,13 @@
<groupId>org.apache.archiva</groupId>
<artifactId>archiva-repository-api</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.apache.archiva</groupId>
+ <artifactId>archiva-configuration</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-beans</artifactId>
+ </dependency>
</dependencies>
</project>
Added:
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/src/main/java/org/apache/archiva/repository/DefaultRepositoryInterceptorFactory.java
URL:
http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/src/main/java/org/apache/archiva/repository/DefaultRepositoryInterceptorFactory.java?rev=743633&view=auto
==============================================================================
---
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/src/main/java/org/apache/archiva/repository/DefaultRepositoryInterceptorFactory.java
(added)
+++
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/src/main/java/org/apache/archiva/repository/DefaultRepositoryInterceptorFactory.java
Thu Feb 12 06:58:17 2009
@@ -0,0 +1,52 @@
+package org.apache.archiva.repository;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Map;
+import org.apache.archiva.repository.api.interceptor.RepositoryInterceptor;
+import
org.apache.archiva.repository.api.interceptor.RepositoryInterceptorFactory;
+import org.springframework.beans.BeansException;
+import org.springframework.beans.factory.BeanFactory;
+import org.springframework.beans.factory.BeanFactoryAware;
+import org.springframework.beans.factory.ListableBeanFactory;
+
+public class DefaultRepositoryInterceptorFactory implements
RepositoryInterceptorFactory<RepositoryInterceptor>, BeanFactoryAware
+{
+ private ListableBeanFactory beanFactory;
+
+ private final ArrayList<RepositoryInterceptor> repositoryInterceptors;
+
+ private final Class interceptorType;
+
+ public DefaultRepositoryInterceptorFactory(Class interceptorType)
+ {
+ this.interceptorType = interceptorType;
+ this.repositoryInterceptors = new ArrayList<RepositoryInterceptor>();
+ }
+
+ public void init()
+ {
+ Map beans = beanFactory.getBeansOfType(interceptorType);
+ if (beans != null)
+ {
+ repositoryInterceptors.addAll(repositoryInterceptors);
+ }
+ }
+
+ public Collection<RepositoryInterceptor> getRepositoryInterceptors()
+ {
+ return repositoryInterceptors;
+ }
+
+ public void setBeanFactory(BeanFactory beanFactory) throws BeansException
+ {
+ if (beanFactory instanceof ListableBeanFactory)
+ {
+ this.beanFactory = (ListableBeanFactory)beanFactory;
+ }
+ else
+ {
+ throw new RuntimeException("BeanFactory is not a
ListableBeanFactory " + beanFactory.getClass());
+ }
+ }
+}
Added:
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/src/main/java/org/apache/archiva/repository/DefaultRepositoryManagerFactory.java
URL:
http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/src/main/java/org/apache/archiva/repository/DefaultRepositoryManagerFactory.java?rev=743633&view=auto
==============================================================================
---
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/src/main/java/org/apache/archiva/repository/DefaultRepositoryManagerFactory.java
(added)
+++
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/src/main/java/org/apache/archiva/repository/DefaultRepositoryManagerFactory.java
Thu Feb 12 06:58:17 2009
@@ -0,0 +1,44 @@
+package org.apache.archiva.repository;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Map;
+import org.apache.archiva.repository.api.RepositoryManager;
+import org.apache.archiva.repository.api.RepositoryManagerFactory;
+import org.springframework.beans.BeansException;
+import org.springframework.beans.factory.BeanFactory;
+import org.springframework.beans.factory.BeanFactoryAware;
+import org.springframework.beans.factory.ListableBeanFactory;
+
+public class DefaultRepositoryManagerFactory implements
RepositoryManagerFactory, BeanFactoryAware
+{
+ private ListableBeanFactory beanFactory;
+
+ private final ArrayList<RepositoryManager> repositoryManagers = new
ArrayList<RepositoryManager>();
+
+ public void init()
+ {
+ Map beans = beanFactory.getBeansOfType(RepositoryManager.class);
+ if (beans != null)
+ {
+ repositoryManagers.addAll(beans.values());
+ }
+ }
+
+ public Collection<RepositoryManager> getRepositoryManagers()
+ {
+ return repositoryManagers;
+ }
+
+ public void setBeanFactory(BeanFactory beanFactory) throws BeansException
+ {
+ if (beanFactory instanceof ListableBeanFactory)
+ {
+ this.beanFactory = (ListableBeanFactory)beanFactory;
+ }
+ else
+ {
+ throw new RuntimeException("BeanFactory is not a
ListableBeanFactory " + beanFactory.getClass());
+ }
+ }
+}
Added:
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/src/main/resources/META-INF/spring-context.xml
URL:
http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/src/main/resources/META-INF/spring-context.xml?rev=743633&view=auto
==============================================================================
---
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/src/main/resources/META-INF/spring-context.xml
(added)
+++
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/src/main/resources/META-INF/spring-context.xml
Thu Feb 12 06:58:17 2009
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
+
+ <bean name="repositoryFactory"
class="org.apache.archiva.repository.DefaultRepositoryFactory">
+ <constructor-arg ref="archivaConfiguration"/>
+ </bean>
+ <bean name="systemRepositoryManager"
class="org.apache.archiva.repository.DefaultRepositoryManager"/>
+ <bean name="repositoryManagerFactory"
class="org.apache.archiva.repository.DefaultRepositoryManagerFactory"
init-method="init"/>
+ <bean name="preRepositoryInterceptorFactory"
class="org.apache.archiva.repository.DefaultRepositoryInterceptorFactory"
init-method="init">
+ <constructor-arg
value="org.apache.archiva.repository.api.interceptor.PreRepositoryInterceptor"/>
+ </bean>
+ <bean name="postRepositoryInterceptorFactory"
class="org.apache.archiva.repository.DefaultRepositoryInterceptorFactory"
init-method="init">
+ <constructor-arg
value="org.apache.archiva.repository.api.interceptor.PostRepositoryInterceptor"/>
+ </bean>
+</beans>
\ No newline at end of file
Propchange:
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-web/archiva-repository-servlet/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Thu Feb 12 06:58:17 2009
@@ -0,0 +1 @@
+target
Modified:
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-web/archiva-repository-servlet/pom.xml
URL:
http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-web/archiva-repository-servlet/pom.xml?rev=743633&r1=743632&r2=743633&view=diff
==============================================================================
---
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-web/archiva-repository-servlet/pom.xml
(original)
+++
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-web/archiva-repository-servlet/pom.xml
Thu Feb 12 06:58:17 2009
@@ -30,6 +30,10 @@
<artifactId>archiva-repository-api</artifactId>
</dependency>
<dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-web</artifactId>
+ </dependency>
+ <dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
</dependency>
Modified:
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-web/archiva-repository-servlet/src/main/java/org/apache/archiva/web/servlet/RepositoryServlet.java
URL:
http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-web/archiva-repository-servlet/src/main/java/org/apache/archiva/web/servlet/RepositoryServlet.java?rev=743633&r1=743632&r2=743633&view=diff
==============================================================================
---
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-web/archiva-repository-servlet/src/main/java/org/apache/archiva/web/servlet/RepositoryServlet.java
(original)
+++
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-web/archiva-repository-servlet/src/main/java/org/apache/archiva/web/servlet/RepositoryServlet.java
Thu Feb 12 06:58:17 2009
@@ -19,6 +19,7 @@
* under the License.
*/
+import javax.servlet.ServletConfig;
import org.apache.archiva.repository.api.RepositoryContext;
import org.apache.archiva.repository.api.RepositoryManager;
import org.apache.archiva.repository.api.RepositoryManagerFactory;
@@ -37,28 +38,37 @@
import org.apache.archiva.repository.api.ResourceType;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.springframework.context.ApplicationContext;
+import org.springframework.web.context.support.WebApplicationContextUtils;
public class RepositoryServlet extends HttpServlet
{
private static final Logger log =
LoggerFactory.getLogger(RepositoryServlet.class);
- private final RepositoryInterceptorFactory<PreRepositoryInterceptor>
preRepositoryInterceptorFactory;
+ private RepositoryInterceptorFactory<PreRepositoryInterceptor>
preRepositoryInterceptorFactory;
- private final RepositoryInterceptorFactory<PostRepositoryInterceptor>
postRepositoryInterceptorFactory;
+ private RepositoryInterceptorFactory<PostRepositoryInterceptor>
postRepositoryInterceptorFactory;
- private final RepositoryManagerFactory repositoryManagerFactory;
+ private RepositoryManagerFactory repositoryManagerFactory;
private static final String MKCOL_METHOD = "MKCOL";
private static final String LAST_MODIFIED = "last-modified";
- public RepositoryServlet(
RepositoryInterceptorFactory<PreRepositoryInterceptor>
preRepositoryInterceptorFactory,
- RepositoryInterceptorFactory<PostRepositoryInterceptor>
postRepositoryInterceptorFactory,
- RepositoryManagerFactory repositoryManagerFactory)
- {
- this.preRepositoryInterceptorFactory = preRepositoryInterceptorFactory;
- this.postRepositoryInterceptorFactory =
postRepositoryInterceptorFactory;
- this.repositoryManagerFactory = repositoryManagerFactory;
+ private static final String REPOSITORY_MANAGER_FACTORY =
"repositoryManagerFactoryName";
+
+ private static final String PREREPOSITORY_INTERCEPTOR_FACTORY =
"preRepositoryInterceptorFactoryName";
+
+ private static final String POSTREPOSITORY_INTERCEPTOR_FACTORY =
"postRepositoryInterceptorFactoryName";
+
+ @Override
+ public void init(ServletConfig config) throws ServletException
+ {
+ super.init(config);
+ final ApplicationContext applicationContext =
WebApplicationContextUtils.getRequiredWebApplicationContext(config.getServletContext());
+ repositoryManagerFactory =
(RepositoryManagerFactory)applicationContext.getBean(config.getInitParameter(REPOSITORY_MANAGER_FACTORY));
+ preRepositoryInterceptorFactory =
(RepositoryInterceptorFactory<PreRepositoryInterceptor>)applicationContext.getBean(config.getInitParameter(PREREPOSITORY_INTERCEPTOR_FACTORY));
+ postRepositoryInterceptorFactory =
(RepositoryInterceptorFactory<PostRepositoryInterceptor>)applicationContext.getBean(config.getInitParameter(POSTREPOSITORY_INTERCEPTOR_FACTORY));
}
@Override
Modified:
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-web/archiva-webapp/pom.xml
URL:
http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-web/archiva-webapp/pom.xml?rev=743633&r1=743632&r2=743633&view=diff
==============================================================================
---
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-web/archiva-webapp/pom.xml
(original)
+++
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-web/archiva-webapp/pom.xml
Thu Feb 12 06:58:17 2009
@@ -101,6 +101,22 @@
<artifactId>archiva-xmlrpc-security</artifactId>
</dependency>
<dependency>
+ <groupId>org.apache.archiva</groupId>
+ <artifactId>archiva-webdav</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.archiva</groupId>
+ <artifactId>archiva-repository-servlet</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.archiva</groupId>
+ <artifactId>archiva-repository-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.archiva</groupId>
+ <artifactId>archiva-repository</artifactId>
+ </dependency>
+ <dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<scope>provided</scope>
@@ -176,14 +192,6 @@
</dependency>
<!-- Other dependencies -->
<dependency>
- <groupId>org.apache.archiva</groupId>
- <artifactId>archiva-webdav</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.archiva</groupId>
- <artifactId>archiva-repository-servlet</artifactId>
- </dependency>
- <dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-spring-plugin</artifactId>
<scope>runtime</scope>
Propchange:
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-web/archiva-webapp/src/main/resources/struts.properties
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Feb 12 06:58:17 2009
@@ -1,3 +1,4 @@
/archiva/branches/MRM-541/archiva-modules/archiva-web/archiva-webapp/src/main/resources/webwork.properties:686983-687034
/archiva/branches/archiva-search-improvements/archiva-modules/archiva-web/archiva-webapp/src/main/resources/struts.properties:723609-726925
/archiva/branches/archiva-struts2/archiva-modules/archiva-web/archiva-webapp/src/main/resources/struts.properties:699795-705848
+/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/resources/struts.properties:743242-743630
Propchange:
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-web/archiva-webapp/src/main/resources/struts.xml
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Feb 12 06:58:17 2009
@@ -1,3 +1,4 @@
/archiva/branches/MRM-541/archiva-modules/archiva-web/archiva-webapp/src/main/resources/xwork.xml:686983-687034
/archiva/branches/archiva-search-improvements/archiva-modules/archiva-web/archiva-webapp/src/main/resources/struts.xml:723609-726925
/archiva/branches/archiva-struts2/archiva-modules/archiva-web/archiva-webapp/src/main/resources/struts.xml:699795-705848
+/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/resources/struts.xml:743242-743630
Modified:
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/web.xml
URL:
http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/web.xml?rev=743633&r1=743632&r2=743633&view=diff
==============================================================================
---
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/web.xml
(original)
+++
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/web.xml
Thu Feb 12 06:58:17 2009
@@ -17,10 +17,7 @@
~ specific language governing permissions and limitations
~ under the License.
-->
-
-<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
+<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>Apache Archiva</display-name>
@@ -90,10 +87,22 @@
<servlet>
<servlet-name>RepositoryServlet</servlet-name>
<servlet-class>
- org.apache.maven.archiva.webdav.RepositoryServlet
+ org.apache.archiva.web.servlet.RepositoryServlet
</servlet-class>
<!-- Loading this on startup so as to take advantage of
configuration listeners -->
- <load-on-startup>1</load-on-startup>
+ <init-param>
+ <param-name>preRepositoryInterceptorFactoryName</param-name>
+ <param-value>preRepositoryInterceptorFactory</param-value>
+ </init-param>
+ <init-param>
+ <param-name>postRepositoryInterceptorFactoryName</param-name>
+ <param-value>postRepositoryInterceptorFactory</param-value>
+ </init-param>
+ <init-param>
+ <param-name>repositoryManagerFactoryName</param-name>
+ <param-value>repositoryManagerFactory</param-value>
+ </init-param>
+ <load-on-startup>1</load-on-startup>
</servlet>
<servlet>
Modified: archiva/branches/archiva-with-new-repoapi/pom.xml
URL:
http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/pom.xml?rev=743633&r1=743632&r2=743633&view=diff
==============================================================================
--- archiva/branches/archiva-with-new-repoapi/pom.xml (original)
+++ archiva/branches/archiva-with-new-repoapi/pom.xml Thu Feb 12 06:58:17 2009
@@ -110,7 +110,22 @@
<plugin>
<groupId>org.codehaus.modello</groupId>
<artifactId>modello-maven-plugin</artifactId>
- <version>1.0-alpha-15</version>
+ <version>1.0</version>
+ <configuration>
+ <useJava5>true</useJava5>
+ </configuration>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-plugin-plexus-registry</artifactId>
+ <version>1.0-alpha-21</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-plugin-jpox</artifactId>
+ <version>1.0-alpha-21</version>
+ </dependency>
+ </dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
@@ -1002,6 +1017,17 @@
<!-- Transitive versions to manage -->
<dependency>
<groupId>org.springframework</groupId>
+ <artifactId>spring-core</artifactId>
+ <version>${spring.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
<exclusions>