You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ol...@apache.org on 2014/11/17 00:43:26 UTC

[1/3] archiva git commit: Add a AbstractMetadataRepository to remove duplicated code

Repository: archiva
Updated Branches:
  refs/heads/master 021bbaf5a -> aa9bfe5eb


http://git-wip-us.apache.org/repos/asf/archiva/blob/63479200/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/AbstractMetadataRepository.java
----------------------------------------------------------------------
diff --git a/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/AbstractMetadataRepository.java b/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/AbstractMetadataRepository.java
new file mode 100644
index 0000000..7372229
--- /dev/null
+++ b/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/AbstractMetadataRepository.java
@@ -0,0 +1,280 @@
+package org.apache.archiva.metadata.repository;
+
+/*
+* 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.Collection;
+import java.util.Date;
+import java.util.List;
+
+import org.apache.archiva.metadata.model.ArtifactMetadata;
+import org.apache.archiva.metadata.model.MetadataFacet;
+import org.apache.archiva.metadata.model.ProjectMetadata;
+import org.apache.archiva.metadata.model.ProjectVersionMetadata;
+import org.apache.archiva.metadata.model.ProjectVersionReference;
+
+public abstract class AbstractMetadataRepository
+    implements MetadataRepository
+{
+
+    @Override
+    public void updateProject( String repositoryId, ProjectMetadata project )
+        throws MetadataRepositoryException
+    {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public void updateArtifact( String repositoryId, String namespace, String projectId, String projectVersion,
+                                ArtifactMetadata artifactMeta )
+        throws MetadataRepositoryException
+    {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public void updateProjectVersion( String repositoryId, String namespace, String projectId,
+                                      ProjectVersionMetadata versionMetadata )
+        throws MetadataRepositoryException
+    {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public void updateNamespace( String repositoryId, String namespace )
+        throws MetadataRepositoryException
+    {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public List<String> getMetadataFacets( String repositoryId, String facetId )
+        throws MetadataRepositoryException
+    {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public boolean hasMetadataFacet( String repositoryId, String facetId )
+        throws MetadataRepositoryException
+    {
+        return false;
+    }
+
+    @Override
+    public MetadataFacet getMetadataFacet( String repositoryId, String facetId, String name )
+        throws MetadataRepositoryException
+    {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public void addMetadataFacet( String repositoryId, MetadataFacet metadataFacet )
+        throws MetadataRepositoryException
+    {
+    }
+
+    @Override
+    public void removeMetadataFacets( String repositoryId, String facetId )
+        throws MetadataRepositoryException
+    {
+    }
+
+    @Override
+    public void removeMetadataFacet( String repositoryId, String facetId, String name )
+        throws MetadataRepositoryException
+    {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public List<ArtifactMetadata> getArtifactsByDateRange( String repositoryId, Date startTime, Date endTime )
+        throws MetadataRepositoryException
+    {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public Collection<String> getRepositories()
+        throws MetadataRepositoryException
+    {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public Collection<ArtifactMetadata> getArtifactsByChecksum( String repositoryId, String checksum )
+        throws MetadataRepositoryException
+    {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public void removeArtifact( String repositoryId, String namespace, String project, String version, String id )
+        throws MetadataRepositoryException
+    {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public void removeArtifact( ArtifactMetadata artifactMetadata, String baseVersion )
+        throws MetadataRepositoryException
+    {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public void removeArtifact( String repositoryId, String namespace, String project, String version,
+                                MetadataFacet metadataFacet )
+        throws MetadataRepositoryException
+    {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public void removeRepository( String repositoryId )
+        throws MetadataRepositoryException
+    {
+    }
+
+    @Override
+    public void removeNamespace( String repositoryId, String namespace )
+        throws MetadataRepositoryException
+    {
+        throw new UnsupportedOperationException();
+
+    }
+
+    @Override
+    public List<ArtifactMetadata> getArtifacts( String repositoryId )
+        throws MetadataRepositoryException
+    {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public ProjectMetadata getProject( String repoId, String namespace, String projectId )
+        throws MetadataResolutionException
+    {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public ProjectVersionMetadata getProjectVersion( String repoId, String namespace, String projectId,
+                                                     String projectVersion )
+        throws MetadataResolutionException
+    {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public Collection<String> getArtifactVersions( String repoId, String namespace, String projectId,
+                                                   String projectVersion )
+        throws MetadataResolutionException
+    {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public Collection<ProjectVersionReference> getProjectReferences( String repoId, String namespace, String projectId,
+                                                                     String projectVersion )
+        throws MetadataResolutionException
+    {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public Collection<String> getRootNamespaces( String repoId )
+        throws MetadataResolutionException
+    {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public Collection<String> getNamespaces( String repoId, String namespace )
+        throws MetadataResolutionException
+    {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public Collection<String> getProjects( String repoId, String namespace )
+        throws MetadataResolutionException
+    {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public Collection<String> getProjectVersions( String repoId, String namespace, String projectId )
+        throws MetadataResolutionException
+    {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public void removeProjectVersion( String repoId, String namespace, String projectId, String projectVersion )
+        throws MetadataRepositoryException
+    {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public Collection<ArtifactMetadata> getArtifacts( String repoId, String namespace, String projectId,
+                                                      String projectVersion )
+        throws MetadataResolutionException
+    {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public void removeProject( String repositoryId, String namespace, String projectId )
+        throws MetadataRepositoryException
+    {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public void save()
+    {
+    }
+
+    @Override
+    public void close()
+        throws MetadataRepositoryException
+    {
+    }
+
+    @Override
+    public void revert()
+    {
+    }
+
+    @Override
+    public boolean canObtainAccess( Class<?> aClass )
+    {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public <T> T obtainAccess( Class<T> aClass )
+        throws MetadataRepositoryException
+    {
+        throw new UnsupportedOperationException();
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/archiva/blob/63479200/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/metadata/repository/TestMetadataRepository.java
----------------------------------------------------------------------
diff --git a/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/metadata/repository/TestMetadataRepository.java b/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/metadata/repository/TestMetadataRepository.java
deleted file mode 100644
index e63cac1..0000000
--- a/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/metadata/repository/TestMetadataRepository.java
+++ /dev/null
@@ -1,274 +0,0 @@
-package org.apache.archiva.metadata.repository;
-
-/*
- * 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.archiva.metadata.model.ArtifactMetadata;
-import org.apache.archiva.metadata.model.MetadataFacet;
-import org.apache.archiva.metadata.model.ProjectMetadata;
-import org.apache.archiva.metadata.model.ProjectVersionMetadata;
-import org.apache.archiva.metadata.model.ProjectVersionReference;
-import org.springframework.stereotype.Service;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-@Service
-public class TestMetadataRepository
-    implements MetadataRepository
-{
-    private Map<String, MetadataFacet> facets = new HashMap<>();
-
-    @Override
-    public void updateProject( String repoId, ProjectMetadata project )
-    {
-        //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    @Override
-    public void updateArtifact( String repoId, String namespace, String projectId, String projectVersion,
-                                ArtifactMetadata artifactMeta )
-    {
-        //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    @Override
-    public void updateProjectVersion( String repoId, String namespace, String projectId,
-                                      ProjectVersionMetadata versionMetadata )
-    {
-        //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    @Override
-    public void updateNamespace( String repoId, String namespace )
-    {
-        //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    @Override
-    public List<String> getMetadataFacets( String repoId, String facetId )
-    {
-        return new ArrayList<>( facets.keySet() );
-    }
-
-    @Override
-    public MetadataFacet getMetadataFacet( String repositoryId, String facetId, String name )
-    {
-        return facets.get( name );
-    }
-
-    @Override
-    public void addMetadataFacet( String repositoryId, MetadataFacet metadataFacet )
-    {
-        facets.put( metadataFacet.getName(), metadataFacet );
-    }
-
-    @Override
-    public void removeMetadataFacets( String repositoryId, String facetId )
-    {
-        facets.clear();
-    }
-
-    @Override
-    public void removeMetadataFacet( String repoId, String facetId, String name )
-    {
-        //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    @Override
-    public List<ArtifactMetadata> getArtifactsByDateRange( String repoId, Date startTime, Date endTime )
-    {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    @Override
-    public Collection<String> getRepositories()
-    {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    @Override
-    public List<ArtifactMetadata> getArtifactsByChecksum( String repoId, String checksum )
-    {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    @Override
-    public void removeArtifact( String repositoryId, String namespace, String project, String version, String id )
-    {
-        //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    @Override
-    public void removeRepository( String repoId )
-    {
-        //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    @Override
-    public List<ArtifactMetadata> getArtifacts( String repositoryId )
-    {
-        return null;
-    }
-
-    @Override
-    public ProjectMetadata getProject( String repoId, String namespace, String projectId )
-        throws MetadataResolutionException
-    {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    @Override
-    public ProjectVersionMetadata getProjectVersion( String repoId, String namespace, String projectId,
-                                                     String projectVersion )
-        throws MetadataResolutionException
-    {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    @Override
-    public Collection<String> getArtifactVersions( String repoId, String namespace, String projectId,
-                                                   String projectVersion )
-        throws MetadataResolutionException
-    {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    @Override
-    public Collection<ProjectVersionReference> getProjectReferences( String repoId, String namespace, String projectId,
-                                                                     String projectVersion )
-        throws MetadataResolutionException
-    {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    @Override
-    public Collection<String> getRootNamespaces( String repoId )
-        throws MetadataResolutionException
-    {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    @Override
-    public Collection<String> getNamespaces( String repoId, String namespace )
-        throws MetadataResolutionException
-    {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    @Override
-    public Collection<String> getProjects( String repoId, String namespace )
-        throws MetadataResolutionException
-    {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    @Override
-    public Collection<String> getProjectVersions( String repoId, String namespace, String projectId )
-        throws MetadataResolutionException
-    {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    @Override
-    public Collection<ArtifactMetadata> getArtifacts( String repoId, String namespace, String projectId,
-                                                      String projectVersion )
-        throws MetadataResolutionException
-    {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    @Override
-    public void save()
-    {
-        //
-    }
-
-    @Override
-    public void close()
-    {
-        //
-    }
-
-    @Override
-    public void revert()
-    {
-        //
-    }
-
-    @Override
-    public boolean canObtainAccess( Class<?> aClass )
-    {
-        return false;
-    }
-
-    @Override
-    public <T>T obtainAccess( Class<T> aClass )
-    {
-        return null;
-    }
-
-    @Override
-    public void removeArtifact( String repositoryId, String namespace, String project, String version,
-                                MetadataFacet metadataFacet )
-        throws MetadataRepositoryException
-    {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void removeArtifact( ArtifactMetadata artifactMetadata, String baseVersion )
-        throws MetadataRepositoryException
-    {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void removeNamespace( String repositoryId, String namespace )
-        throws MetadataRepositoryException
-    {
-
-    }
-
-    @Override
-    public void removeProjectVersion( String repoId, String namespace, String projectId, String projectVersion )
-        throws MetadataRepositoryException
-    {
-
-    }
-
-    @Override
-    public void removeProject( String repositoryId, String namespace, String projectId )
-        throws MetadataRepositoryException
-    {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public boolean hasMetadataFacet( String repositoryId, String facetId )
-        throws MetadataRepositoryException
-    {
-        return false;
-    }
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/archiva/blob/63479200/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/metadata/repository/TestRepositorySessionFactory.java
----------------------------------------------------------------------
diff --git a/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/metadata/repository/TestRepositorySessionFactory.java b/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/metadata/repository/TestRepositorySessionFactory.java
index f0f10ec..ff15625 100644
--- a/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/metadata/repository/TestRepositorySessionFactory.java
+++ b/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/metadata/repository/TestRepositorySessionFactory.java
@@ -24,7 +24,7 @@ import org.springframework.stereotype.Service;
 public class TestRepositorySessionFactory
     implements RepositorySessionFactory
 {
-    private MetadataRepository metadataRepository = new TestMetadataRepository();
+    private MetadataRepository metadataRepository = new AbstractMetadataRepository() {};
 
     private MetadataResolver resolver = new TestMetadataResolver();
 


[2/3] archiva git commit: Add a AbstractMetadataRepository to remove duplicated code

Posted by ol...@apache.org.
Add a AbstractMetadataRepository to remove duplicated code


Project: http://git-wip-us.apache.org/repos/asf/archiva/repo
Commit: http://git-wip-us.apache.org/repos/asf/archiva/commit/63479200
Tree: http://git-wip-us.apache.org/repos/asf/archiva/tree/63479200
Diff: http://git-wip-us.apache.org/repos/asf/archiva/diff/63479200

Branch: refs/heads/master
Commit: 63479200cef1e242cdbdf19eb9474133959aac32
Parents: ae9b109
Author: Carlos Sanchez <cs...@maestrodev.com>
Authored: Thu Nov 6 09:58:02 2014 +0100
Committer: Carlos Sanchez <cs...@maestrodev.com>
Committed: Thu Nov 6 13:39:28 2014 +0100

----------------------------------------------------------------------
 .../repository/TestMetadataRepository.java      | 258 -----------------
 .../TestRepositorySessionFactory.java           |   4 +-
 .../mock/MockRepositorySessionFactory.java      | 269 +-----------------
 .../repository/TestMetadataRepository.java      | 262 -----------------
 .../TestRepositorySessionFactory.java           |   2 +-
 .../mock/MockRepositorySessionFactory.java      | 269 +-----------------
 .../mock/MockRepositorySessionFactory.java      | 269 +-----------------
 .../NewArtifactsRssFeedProcessorTest.java       | 237 +---------------
 .../webtest/memory/TestMetadataRepository.java  | 191 +------------
 .../repository/TestMetadataRepository.java      | 259 -----------------
 .../TestRepositorySessionFactory.java           |   2 +-
 .../repository/AbstractMetadataRepository.java  | 280 +++++++++++++++++++
 .../repository/TestMetadataRepository.java      | 274 ------------------
 .../TestRepositorySessionFactory.java           |   2 +-
 14 files changed, 308 insertions(+), 2270 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/archiva/blob/63479200/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/test/java/org/apache/archiva/metadata/repository/TestMetadataRepository.java
----------------------------------------------------------------------
diff --git a/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/test/java/org/apache/archiva/metadata/repository/TestMetadataRepository.java b/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/test/java/org/apache/archiva/metadata/repository/TestMetadataRepository.java
deleted file mode 100644
index 3b2898d..0000000
--- a/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/test/java/org/apache/archiva/metadata/repository/TestMetadataRepository.java
+++ /dev/null
@@ -1,258 +0,0 @@
-package org.apache.archiva.metadata.repository;
-
-/*
- * 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.archiva.metadata.model.ArtifactMetadata;
-import org.apache.archiva.metadata.model.MetadataFacet;
-import org.apache.archiva.metadata.model.ProjectMetadata;
-import org.apache.archiva.metadata.model.ProjectVersionMetadata;
-import org.apache.archiva.metadata.model.ProjectVersionReference;
-
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Date;
-import java.util.List;
-
-public class TestMetadataRepository
-    implements MetadataRepository
-{
-    @Override
-    public ProjectMetadata getProject( String repoId, String namespace, String projectId )
-    {
-        return null;
-    }
-
-    @Override
-    public ProjectVersionMetadata getProjectVersion( String repoId, String namespace, String projectId,
-                                                     String projectVersion )
-    {
-        return null;
-    }
-
-    @Override
-    public Collection<String> getArtifactVersions( String repoId, String namespace, String projectId,
-                                                   String projectVersion )
-    {
-        return null;
-    }
-
-    @Override
-    public Collection<ProjectVersionReference> getProjectReferences( String repoId, String namespace, String projectId,
-                                                                     String projectVersion )
-    {
-        return null;
-    }
-
-    @Override
-    public Collection<String> getRootNamespaces( String repoId )
-    {
-        return null;
-    }
-
-    @Override
-    public Collection<String> getNamespaces( String repoId, String namespace )
-    {
-        return null;
-    }
-
-    @Override
-    public Collection<String> getProjects( String repoId, String namespace )
-    {
-        return null;
-    }
-
-    @Override
-    public Collection<String> getProjectVersions( String repoId, String namespace, String projectId )
-    {
-        return null;
-    }
-
-    @Override
-    public void updateProject( String repoId, ProjectMetadata project )
-    {
-    }
-
-    @Override
-    public void updateArtifact( String repoId, String namespace, String projectId, String projectVersion,
-                                ArtifactMetadata artifactMeta )
-    {
-
-    }
-
-    @Override
-    public void updateProjectVersion( String repoId, String namespace, String projectId,
-                                      ProjectVersionMetadata versionMetadata )
-    {
-
-    }
-
-    @Override
-    public void updateNamespace( String repoId, String namespace )
-    {
-
-    }
-
-    @Override
-    public List<String> getMetadataFacets( String repodId, String facetId )
-    {
-        return Collections.emptyList();
-    }
-
-    @Override
-    public MetadataFacet getMetadataFacet( String repositoryId, String facetId, String name )
-    {
-        return null;
-    }
-
-    @Override
-    public void addMetadataFacet( String repositoryId, MetadataFacet metadataFacet )
-    {
-
-    }
-
-    @Override
-    public void removeMetadataFacets( String repositoryId, String facetId )
-    {
-
-    }
-
-    @Override
-    public void removeMetadataFacet( String repoId, String facetId, String name )
-    {
-
-    }
-
-    @Override
-    public List<ArtifactMetadata> getArtifactsByDateRange( String repoId, Date startTime, Date endTime )
-    {
-        return null;
-    }
-
-    @Override
-    public Collection<String> getRepositories()
-    {
-        return null;
-    }
-
-    @Override
-    public List<ArtifactMetadata> getArtifactsByChecksum( String repoId, String checksum )
-    {
-        return null;
-    }
-
-    @Override
-    public void removeArtifact( String repositoryId, String namespace, String project, String version, String id )
-    {
-
-    }
-
-    @Override
-    public void removeRepository( String repoId )
-    {
-
-    }
-
-    @Override
-    public Collection<ArtifactMetadata> getArtifacts( String repoId, String namespace, String projectId,
-                                                      String projectVersion )
-    {
-        return null;
-    }
-
-    @Override
-    public void save()
-    {
-
-    }
-
-    @Override
-    public void close()
-    {
-
-    }
-
-    @Override
-    public void revert()
-    {
-
-    }
-
-    @Override
-    public boolean canObtainAccess( Class<?> aClass )
-    {
-        return false;
-    }
-
-    @Override
-    public <T>T obtainAccess( Class<T> aClass )
-    {
-        return null;
-    }
-
-    @Override
-    public List<ArtifactMetadata> getArtifacts( String repositoryId )
-    {
-        return null;
-    }
-
-    @Override
-    public void removeArtifact( String repositoryId, String namespace, String project, String version,
-                                MetadataFacet metadataFacet )
-        throws MetadataRepositoryException
-    {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void removeArtifact( ArtifactMetadata artifactMetadata, String baseVersion )
-        throws MetadataRepositoryException
-    {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void removeNamespace( String repositoryId, String namespace )
-        throws MetadataRepositoryException
-    {
-
-    }
-
-    @Override
-    public void removeProjectVersion( String repoId, String namespace, String projectId, String projectVersion )
-        throws MetadataRepositoryException
-    {
-
-    }
-
-    @Override
-    public void removeProject( String repositoryId, String namespace, String projectId )
-        throws MetadataRepositoryException
-    {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public boolean hasMetadataFacet( String repositoryId, String facetId )
-        throws MetadataRepositoryException
-    {
-        return false;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/archiva/blob/63479200/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/test/java/org/apache/archiva/metadata/repository/TestRepositorySessionFactory.java
----------------------------------------------------------------------
diff --git a/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/test/java/org/apache/archiva/metadata/repository/TestRepositorySessionFactory.java b/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/test/java/org/apache/archiva/metadata/repository/TestRepositorySessionFactory.java
index 11bfe40..95abe0f 100644
--- a/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/test/java/org/apache/archiva/metadata/repository/TestRepositorySessionFactory.java
+++ b/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/test/java/org/apache/archiva/metadata/repository/TestRepositorySessionFactory.java
@@ -24,14 +24,14 @@ import org.springframework.stereotype.Service;
 public class TestRepositorySessionFactory
     implements RepositorySessionFactory
 {
-    private MetadataRepository repository;
+    private MetadataRepository repository = new AbstractMetadataRepository() {};
 
     private MetadataResolver resolver;
 
     @Override
     public RepositorySession createSession()
     {
-        return new RepositorySession( new TestMetadataRepository(), resolver )
+        return new RepositorySession( repository, resolver )
         {
             @Override
             public void close()

http://git-wip-us.apache.org/repos/asf/archiva/blob/63479200/archiva-modules/archiva-base/archiva-indexer/src/test/java/org/apache/archiva/indexer/search/mock/MockRepositorySessionFactory.java
----------------------------------------------------------------------
diff --git a/archiva-modules/archiva-base/archiva-indexer/src/test/java/org/apache/archiva/indexer/search/mock/MockRepositorySessionFactory.java b/archiva-modules/archiva-base/archiva-indexer/src/test/java/org/apache/archiva/indexer/search/mock/MockRepositorySessionFactory.java
index 6b43a3a..c816296 100644
--- a/archiva-modules/archiva-base/archiva-indexer/src/test/java/org/apache/archiva/indexer/search/mock/MockRepositorySessionFactory.java
+++ b/archiva-modules/archiva-base/archiva-indexer/src/test/java/org/apache/archiva/indexer/search/mock/MockRepositorySessionFactory.java
@@ -18,23 +18,12 @@ package org.apache.archiva.indexer.search.mock;
  * under the License.
  */
 
-import org.apache.archiva.metadata.model.ArtifactMetadata;
-import org.apache.archiva.metadata.model.MetadataFacet;
-import org.apache.archiva.metadata.model.ProjectMetadata;
-import org.apache.archiva.metadata.model.ProjectVersionMetadata;
-import org.apache.archiva.metadata.model.ProjectVersionReference;
+import org.apache.archiva.metadata.repository.AbstractMetadataRepository;
 import org.apache.archiva.metadata.repository.MetadataRepository;
-import org.apache.archiva.metadata.repository.MetadataRepositoryException;
-import org.apache.archiva.metadata.repository.MetadataResolutionException;
 import org.apache.archiva.metadata.repository.RepositorySession;
 import org.apache.archiva.metadata.repository.RepositorySessionFactory;
 import org.springframework.stereotype.Service;
 
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Date;
-import java.util.List;
-
 /**
  * @author Olivier Lamy
  */
@@ -62,261 +51,7 @@ public class MockRepositorySessionFactory
             @Override
             public MetadataRepository getRepository()
             {
-                return new MetadataRepository()
-                {
-
-                    @Override
-                    public boolean hasMetadataFacet( String repositoryId, String facetId )
-                        throws MetadataRepositoryException
-                    {
-                        return false;
-                    }
-
-                    @Override
-                    public void removeArtifact( String repositoryId, String namespace, String project,
-                                                String projectVersion, MetadataFacet metadataFacet )
-                        throws MetadataRepositoryException
-                    {
-
-                    }
-
-                    @Override
-                    public void removeArtifact( ArtifactMetadata artifactMetadata, String baseVersion )
-                        throws MetadataRepositoryException
-                    {
-                        throw new UnsupportedOperationException();
-                    }
-
-                    @Override
-                    public void updateProject( String repositoryId, ProjectMetadata project )
-                        throws MetadataRepositoryException
-                    {
-                        //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public void updateArtifact( String repositoryId, String namespace, String projectId,
-                                                String projectVersion, ArtifactMetadata artifactMeta )
-                        throws MetadataRepositoryException
-                    {
-                        //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public void updateProjectVersion( String repositoryId, String namespace, String projectId,
-                                                      ProjectVersionMetadata versionMetadata )
-                        throws MetadataRepositoryException
-                    {
-                        //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public void updateNamespace( String repositoryId, String namespace )
-                        throws MetadataRepositoryException
-                    {
-                        //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public List<String> getMetadataFacets( String repositoryId, String facetId )
-                        throws MetadataRepositoryException
-                    {
-                        return Collections.emptyList();
-                    }
-
-                    @Override
-                    public MetadataFacet getMetadataFacet( String repositoryId, String facetId, String name )
-                        throws MetadataRepositoryException
-                    {
-                        return null;  //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public void addMetadataFacet( String repositoryId, MetadataFacet metadataFacet )
-                        throws MetadataRepositoryException
-                    {
-                        //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public void removeMetadataFacets( String repositoryId, String facetId )
-                        throws MetadataRepositoryException
-                    {
-                        //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public void removeMetadataFacet( String repositoryId, String facetId, String name )
-                        throws MetadataRepositoryException
-                    {
-                        //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public List<ArtifactMetadata> getArtifactsByDateRange( String repositoryId, Date startTime,
-                                                                           Date endTime )
-                        throws MetadataRepositoryException
-                    {
-                        return null;  //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public Collection<String> getRepositories()
-                        throws MetadataRepositoryException
-                    {
-                        return null;  //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public List<ArtifactMetadata> getArtifactsByChecksum( String repositoryId, String checksum )
-                        throws MetadataRepositoryException
-                    {
-                        return null;  //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public void removeArtifact( String repositoryId, String namespace, String project, String version,
-                                                String id )
-                        throws MetadataRepositoryException
-                    {
-                        //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public void removeRepository( String repositoryId )
-                        throws MetadataRepositoryException
-                    {
-                        //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public List<ArtifactMetadata> getArtifacts( String repositoryId )
-                        throws MetadataRepositoryException
-                    {
-                        return null;  //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public ProjectMetadata getProject( String repoId, String namespace, String projectId )
-                        throws MetadataResolutionException
-                    {
-                        return null;  //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public ProjectVersionMetadata getProjectVersion( String repoId, String namespace, String projectId,
-                                                                     String projectVersion )
-                        throws MetadataResolutionException
-                    {
-                        return null;  //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public Collection<String> getArtifactVersions( String repoId, String namespace, String projectId,
-                                                                   String projectVersion )
-                        throws MetadataResolutionException
-                    {
-                        return null;  //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public Collection<ProjectVersionReference> getProjectReferences( String repoId, String namespace,
-                                                                                     String projectId,
-                                                                                     String projectVersion )
-                        throws MetadataResolutionException
-                    {
-                        return null;  //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public Collection<String> getRootNamespaces( String repoId )
-                        throws MetadataResolutionException
-                    {
-                        return null;  //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public Collection<String> getNamespaces( String repoId, String namespace )
-                        throws MetadataResolutionException
-                    {
-                        return null;  //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public Collection<String> getProjects( String repoId, String namespace )
-                        throws MetadataResolutionException
-                    {
-                        return null;  //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public Collection<String> getProjectVersions( String repoId, String namespace, String projectId )
-                        throws MetadataResolutionException
-                    {
-                        return null;  //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public Collection<ArtifactMetadata> getArtifacts( String repoId, String namespace, String projectId,
-                                                                      String projectVersion )
-                        throws MetadataResolutionException
-                    {
-                        return null;  //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public void save()
-                    {
-                        //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public void close()
-                    {
-                        //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public void revert()
-                    {
-                        //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public boolean canObtainAccess( Class<?> aClass )
-                    {
-                        return false;  //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public <T>T obtainAccess( Class<T> aClass )
-                    {
-                        return null;  //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public void removeNamespace( String repositoryId, String namespace )
-                        throws MetadataRepositoryException
-                    {
-
-                    }
-
-                    @Override
-                    public void removeProjectVersion( String repoId, String namespace, String projectId,
-                                                      String projectVersion )
-                        throws MetadataRepositoryException
-                    {
-
-                    }
-
-                    @Override
-                    public void removeProject( String repositoryId, String namespace, String projectId )
-                        throws MetadataRepositoryException
-                    {
-                        throw new UnsupportedOperationException();
-                    }
-
-                };
+                return new AbstractMetadataRepository() {};
             }
         };
     }

http://git-wip-us.apache.org/repos/asf/archiva/blob/63479200/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/archiva/metadata/repository/TestMetadataRepository.java
----------------------------------------------------------------------
diff --git a/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/archiva/metadata/repository/TestMetadataRepository.java b/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/archiva/metadata/repository/TestMetadataRepository.java
deleted file mode 100644
index 1e57522..0000000
--- a/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/archiva/metadata/repository/TestMetadataRepository.java
+++ /dev/null
@@ -1,262 +0,0 @@
-package org.apache.archiva.metadata.repository;
-
-/*
- * 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.archiva.metadata.model.ArtifactMetadata;
-import org.apache.archiva.metadata.model.MetadataFacet;
-import org.apache.archiva.metadata.model.ProjectMetadata;
-import org.apache.archiva.metadata.model.ProjectVersionMetadata;
-import org.apache.archiva.metadata.model.ProjectVersionReference;
-import org.springframework.stereotype.Service;
-
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Date;
-import java.util.List;
-
-// TODO: remove, it does nothing
-
-@Service
-public class TestMetadataRepository
-    implements MetadataRepository
-{
-    @Override
-    public ProjectMetadata getProject( String repoId, String namespace, String projectId )
-    {
-        return null;
-    }
-
-    @Override
-    public ProjectVersionMetadata getProjectVersion( String repoId, String namespace, String projectId,
-                                                     String projectVersion )
-    {
-        return null;
-    }
-
-    @Override
-    public Collection<String> getArtifactVersions( String repoId, String namespace, String projectId,
-                                                   String projectVersion )
-    {
-        return Collections.emptyList();
-    }
-
-    @Override
-    public Collection<ProjectVersionReference> getProjectReferences( String repoId, String namespace, String projectId,
-                                                                     String projectVersion )
-    {
-        return Collections.emptyList();
-    }
-
-    @Override
-    public Collection<String> getRootNamespaces( String repoId )
-    {
-        return Collections.emptyList();
-    }
-
-    @Override
-    public Collection<String> getNamespaces( String repoId, String namespace )
-    {
-        return Collections.emptyList();
-    }
-
-    @Override
-    public Collection<String> getProjects( String repoId, String namespace )
-    {
-        return Collections.emptyList();
-    }
-
-    @Override
-    public Collection<String> getProjectVersions( String repoId, String namespace, String projectId )
-    {
-        return Collections.emptyList();
-    }
-
-    @Override
-    public void updateProject( String repoId, ProjectMetadata project )
-    {
-        // no op
-    }
-
-    @Override
-    public void updateArtifact( String repoId, String namespace, String projectId, String projectVersion,
-                                ArtifactMetadata artifactMeta )
-    {
-        // no op
-    }
-
-    @Override
-    public void updateProjectVersion( String repoId, String namespace, String projectId,
-                                      ProjectVersionMetadata versionMetadata )
-    {
-        // no op
-    }
-
-    @Override
-    public void updateNamespace( String repoId, String namespace )
-    {
-        // no op
-    }
-
-    @Override
-    public List<String> getMetadataFacets( String repodId, String facetId )
-    {
-        return Collections.emptyList();
-    }
-
-    @Override
-    public MetadataFacet getMetadataFacet( String repositoryId, String facetId, String name )
-    {
-        return null;
-    }
-
-    @Override
-    public void addMetadataFacet( String repositoryId, MetadataFacet metadataFacet )
-    {
-        // no op
-    }
-
-    @Override
-    public void removeMetadataFacets( String repositoryId, String facetId )
-    {
-        // no op
-    }
-
-    @Override
-    public void removeMetadataFacet( String repoId, String facetId, String name )
-    {
-        // no op
-    }
-
-    @Override
-    public List<ArtifactMetadata> getArtifactsByDateRange( String repoId, Date startTime, Date endTime )
-    {
-        return Collections.emptyList();
-    }
-
-    @Override
-    public Collection<String> getRepositories()
-    {
-        return Collections.emptyList();
-    }
-
-    @Override
-    public List<ArtifactMetadata> getArtifactsByChecksum( String repoId, String checksum )
-    {
-        return Collections.emptyList();
-    }
-
-    @Override
-    public void removeArtifact( String repositoryId, String namespace, String project, String version, String id )
-    {
-        // no op
-    }
-
-    @Override
-    public void removeRepository( String repoId )
-    {
-        // no op
-    }
-
-    @Override
-    public Collection<ArtifactMetadata> getArtifacts( String repoId, String namespace, String projectId,
-                                                      String projectVersion )
-    {
-        return Collections.emptyList();
-    }
-
-    @Override
-    public void save()
-    {
-        // no op
-    }
-
-    @Override
-    public void close()
-    {
-        // no op
-    }
-
-    @Override
-    public void revert()
-    {
-        // no op
-    }
-
-    @Override
-    public boolean canObtainAccess( Class<?> aClass )
-    {
-        return false;
-    }
-
-    @Override
-    public <T>T obtainAccess( Class<T> aClass )
-    {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
-
-    @Override
-    public List<ArtifactMetadata> getArtifacts( String repositoryId )
-    {
-        return Collections.emptyList();
-    }
-
-    @Override
-    public void removeArtifact( String repositoryId, String namespace, String project, String version,
-                                MetadataFacet metadataFacet )
-        throws MetadataRepositoryException
-    {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void removeArtifact( ArtifactMetadata artifactMetadata, String baseVersion )
-        throws MetadataRepositoryException
-    {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void removeNamespace( String repositoryId, String namespace )
-        throws MetadataRepositoryException
-    {
-
-    }
-
-    @Override
-    public void removeProjectVersion( String repoId, String namespace, String projectId, String projectVersion )
-        throws MetadataRepositoryException
-    {
-
-    }
-
-    @Override
-    public void removeProject( String repositoryId, String namespace, String projectId )
-        throws MetadataRepositoryException
-    {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public boolean hasMetadataFacet( String repositoryId, String facetId )
-        throws MetadataRepositoryException
-    {
-        return false;
-    }
-}

http://git-wip-us.apache.org/repos/asf/archiva/blob/63479200/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/archiva/metadata/repository/TestRepositorySessionFactory.java
----------------------------------------------------------------------
diff --git a/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/archiva/metadata/repository/TestRepositorySessionFactory.java b/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/archiva/metadata/repository/TestRepositorySessionFactory.java
index 61aeeb3..5d2e820 100644
--- a/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/archiva/metadata/repository/TestRepositorySessionFactory.java
+++ b/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/archiva/metadata/repository/TestRepositorySessionFactory.java
@@ -31,7 +31,7 @@ public class TestRepositorySessionFactory
     @Override
     public RepositorySession createSession()
     {
-        return new RepositorySession( new TestMetadataRepository(), resolver );
+        return new RepositorySession( new AbstractMetadataRepository() {}, resolver );
     }
 
     public void setResolver( MetadataResolver resolver )

http://git-wip-us.apache.org/repos/asf/archiva/blob/63479200/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/test/java/org/apache/archiva/admin/mock/MockRepositorySessionFactory.java
----------------------------------------------------------------------
diff --git a/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/test/java/org/apache/archiva/admin/mock/MockRepositorySessionFactory.java b/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/test/java/org/apache/archiva/admin/mock/MockRepositorySessionFactory.java
index 69ffc47..d26a704 100644
--- a/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/test/java/org/apache/archiva/admin/mock/MockRepositorySessionFactory.java
+++ b/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/test/java/org/apache/archiva/admin/mock/MockRepositorySessionFactory.java
@@ -18,23 +18,12 @@ package org.apache.archiva.admin.mock;
  * under the License.
  */
 
-import org.apache.archiva.metadata.model.ArtifactMetadata;
-import org.apache.archiva.metadata.model.MetadataFacet;
-import org.apache.archiva.metadata.model.ProjectMetadata;
-import org.apache.archiva.metadata.model.ProjectVersionMetadata;
-import org.apache.archiva.metadata.model.ProjectVersionReference;
+import org.apache.archiva.metadata.repository.AbstractMetadataRepository;
 import org.apache.archiva.metadata.repository.MetadataRepository;
-import org.apache.archiva.metadata.repository.MetadataRepositoryException;
-import org.apache.archiva.metadata.repository.MetadataResolutionException;
 import org.apache.archiva.metadata.repository.RepositorySession;
 import org.apache.archiva.metadata.repository.RepositorySessionFactory;
 import org.springframework.stereotype.Service;
 
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Date;
-import java.util.List;
-
 /**
  * @author Olivier Lamy
  */
@@ -62,261 +51,7 @@ public class MockRepositorySessionFactory
             @Override
             public MetadataRepository getRepository()
             {
-                return new MetadataRepository()
-                {
-
-                    @Override
-                    public boolean hasMetadataFacet( String repositoryId, String facetId )
-                        throws MetadataRepositoryException
-                    {
-                        return false;
-                    }
-
-                    @Override
-                    public void removeArtifact( ArtifactMetadata artifactMetadata, String baseVersion )
-                        throws MetadataRepositoryException
-                    {
-                        throw new UnsupportedOperationException();
-                    }
-
-                    @Override
-                    public void removeArtifact( String repositoryId, String namespace, String project,
-                                                String projectVersion, MetadataFacet metadataFacet )
-                        throws MetadataRepositoryException
-                    {
-                        throw new UnsupportedOperationException();
-                    }
-
-                    @Override
-                    public void updateProject( String repositoryId, ProjectMetadata project )
-                        throws MetadataRepositoryException
-                    {
-                        //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public void updateArtifact( String repositoryId, String namespace, String projectId,
-                                                String projectVersion, ArtifactMetadata artifactMeta )
-                        throws MetadataRepositoryException
-                    {
-                        //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public void updateProjectVersion( String repositoryId, String namespace, String projectId,
-                                                      ProjectVersionMetadata versionMetadata )
-                        throws MetadataRepositoryException
-                    {
-                        //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public void updateNamespace( String repositoryId, String namespace )
-                        throws MetadataRepositoryException
-                    {
-                        //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public List<String> getMetadataFacets( String repositoryId, String facetId )
-                        throws MetadataRepositoryException
-                    {
-                        return Collections.emptyList();
-                    }
-
-                    @Override
-                    public MetadataFacet getMetadataFacet( String repositoryId, String facetId, String name )
-                        throws MetadataRepositoryException
-                    {
-                        return null;  //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public void addMetadataFacet( String repositoryId, MetadataFacet metadataFacet )
-                        throws MetadataRepositoryException
-                    {
-                        //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public void removeMetadataFacets( String repositoryId, String facetId )
-                        throws MetadataRepositoryException
-                    {
-                        //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public void removeMetadataFacet( String repositoryId, String facetId, String name )
-                        throws MetadataRepositoryException
-                    {
-                        //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public List<ArtifactMetadata> getArtifactsByDateRange( String repositoryId, Date startTime,
-                                                                           Date endTime )
-                        throws MetadataRepositoryException
-                    {
-                        return null;  //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public Collection<String> getRepositories()
-                        throws MetadataRepositoryException
-                    {
-                        return null;  //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public List<ArtifactMetadata> getArtifactsByChecksum( String repositoryId, String checksum )
-                        throws MetadataRepositoryException
-                    {
-                        return null;  //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public void removeArtifact( String repositoryId, String namespace, String project, String version,
-                                                String id )
-                        throws MetadataRepositoryException
-                    {
-                        //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public void removeRepository( String repositoryId )
-                        throws MetadataRepositoryException
-                    {
-                        //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public List<ArtifactMetadata> getArtifacts( String repositoryId )
-                        throws MetadataRepositoryException
-                    {
-                        return null;  //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public ProjectMetadata getProject( String repoId, String namespace, String projectId )
-                        throws MetadataResolutionException
-                    {
-                        return null;  //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public ProjectVersionMetadata getProjectVersion( String repoId, String namespace, String projectId,
-                                                                     String projectVersion )
-                        throws MetadataResolutionException
-                    {
-                        return null;  //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public Collection<String> getArtifactVersions( String repoId, String namespace, String projectId,
-                                                                   String projectVersion )
-                        throws MetadataResolutionException
-                    {
-                        return null;  //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public Collection<ProjectVersionReference> getProjectReferences( String repoId, String namespace,
-                                                                                     String projectId,
-                                                                                     String projectVersion )
-                        throws MetadataResolutionException
-                    {
-                        return null;  //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public Collection<String> getRootNamespaces( String repoId )
-                        throws MetadataResolutionException
-                    {
-                        return null;  //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public Collection<String> getNamespaces( String repoId, String namespace )
-                        throws MetadataResolutionException
-                    {
-                        return null;  //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public Collection<String> getProjects( String repoId, String namespace )
-                        throws MetadataResolutionException
-                    {
-                        return null;  //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public Collection<String> getProjectVersions( String repoId, String namespace, String projectId )
-                        throws MetadataResolutionException
-                    {
-                        return null;  //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public Collection<ArtifactMetadata> getArtifacts( String repoId, String namespace, String projectId,
-                                                                      String projectVersion )
-                        throws MetadataResolutionException
-                    {
-                        return null;  //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public void save()
-                    {
-                        //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public void close()
-                    {
-                        //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public void revert()
-                    {
-                        //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public boolean canObtainAccess( Class<?> aClass )
-                    {
-                        return false;  //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public <T>T obtainAccess( Class<T> aClass )
-                    {
-                        return null;  //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public void removeNamespace( String repositoryId, String namespace )
-                        throws MetadataRepositoryException
-                    {
-
-                    }
-
-                    @Override
-                    public void removeProjectVersion( String repoId, String namespace, String projectId,
-                                                      String projectVersion )
-                        throws MetadataRepositoryException
-                    {
-
-                    }
-
-                    @Override
-                    public void removeProject( String repositoryId, String namespace, String projectId )
-                        throws MetadataRepositoryException
-                    {
-                        throw new UnsupportedOperationException();
-                    }
-
-                };
+                return new AbstractMetadataRepository() {};
             }
         };
     }

http://git-wip-us.apache.org/repos/asf/archiva/blob/63479200/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/java/org/apache/archiva/scheduler/indexing/mock/MockRepositorySessionFactory.java
----------------------------------------------------------------------
diff --git a/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/java/org/apache/archiva/scheduler/indexing/mock/MockRepositorySessionFactory.java b/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/java/org/apache/archiva/scheduler/indexing/mock/MockRepositorySessionFactory.java
index 6eedbc4..693853a 100644
--- a/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/java/org/apache/archiva/scheduler/indexing/mock/MockRepositorySessionFactory.java
+++ b/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/java/org/apache/archiva/scheduler/indexing/mock/MockRepositorySessionFactory.java
@@ -18,23 +18,12 @@ package org.apache.archiva.scheduler.indexing.mock;
  * under the License.
  */
 
-import org.apache.archiva.metadata.model.ArtifactMetadata;
-import org.apache.archiva.metadata.model.MetadataFacet;
-import org.apache.archiva.metadata.model.ProjectMetadata;
-import org.apache.archiva.metadata.model.ProjectVersionMetadata;
-import org.apache.archiva.metadata.model.ProjectVersionReference;
+import org.apache.archiva.metadata.repository.AbstractMetadataRepository;
 import org.apache.archiva.metadata.repository.MetadataRepository;
-import org.apache.archiva.metadata.repository.MetadataRepositoryException;
-import org.apache.archiva.metadata.repository.MetadataResolutionException;
 import org.apache.archiva.metadata.repository.RepositorySession;
 import org.apache.archiva.metadata.repository.RepositorySessionFactory;
 import org.springframework.stereotype.Service;
 
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Date;
-import java.util.List;
-
 /**
  * @author Olivier Lamy
  */
@@ -62,261 +51,7 @@ public class MockRepositorySessionFactory
             @Override
             public MetadataRepository getRepository()
             {
-                return new MetadataRepository()
-                {
-
-                    @Override
-                    public boolean hasMetadataFacet( String repositoryId, String facetId )
-                        throws MetadataRepositoryException
-                    {
-                        return false;
-                    }
-
-                    @Override
-                    public void removeArtifact( ArtifactMetadata artifactMetadata, String baseVersion )
-                        throws MetadataRepositoryException
-                    {
-                        throw new UnsupportedOperationException();
-                    }
-
-                    @Override
-                    public void removeArtifact( String repositoryId, String namespace, String project,
-                                                String projectVersion, MetadataFacet metadataFacet )
-                        throws MetadataRepositoryException
-                    {
-                        throw new UnsupportedOperationException();
-                    }
-
-                    @Override
-                    public void updateProject( String repositoryId, ProjectMetadata project )
-                        throws MetadataRepositoryException
-                    {
-
-                    }
-
-                    @Override
-                    public void updateArtifact( String repositoryId, String namespace, String projectId,
-                                                String projectVersion, ArtifactMetadata artifactMeta )
-                        throws MetadataRepositoryException
-                    {
-
-                    }
-
-                    @Override
-                    public void updateProjectVersion( String repositoryId, String namespace, String projectId,
-                                                      ProjectVersionMetadata versionMetadata )
-                        throws MetadataRepositoryException
-                    {
-
-                    }
-
-                    @Override
-                    public void updateNamespace( String repositoryId, String namespace )
-                        throws MetadataRepositoryException
-                    {
-
-                    }
-
-                    @Override
-                    public List<String> getMetadataFacets( String repositoryId, String facetId )
-                        throws MetadataRepositoryException
-                    {
-                        return Collections.emptyList();
-                    }
-
-                    @Override
-                    public MetadataFacet getMetadataFacet( String repositoryId, String facetId, String name )
-                        throws MetadataRepositoryException
-                    {
-                        return null;  //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public void addMetadataFacet( String repositoryId, MetadataFacet metadataFacet )
-                        throws MetadataRepositoryException
-                    {
-
-                    }
-
-                    @Override
-                    public void removeMetadataFacets( String repositoryId, String facetId )
-                        throws MetadataRepositoryException
-                    {
-                        //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public void removeMetadataFacet( String repositoryId, String facetId, String name )
-                        throws MetadataRepositoryException
-                    {
-                        //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public List<ArtifactMetadata> getArtifactsByDateRange( String repositoryId, Date startTime,
-                                                                           Date endTime )
-                        throws MetadataRepositoryException
-                    {
-                        return null;  //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public Collection<String> getRepositories()
-                        throws MetadataRepositoryException
-                    {
-                        return null;  //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public List<ArtifactMetadata> getArtifactsByChecksum( String repositoryId, String checksum )
-                        throws MetadataRepositoryException
-                    {
-                        return null;  //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public void removeArtifact( String repositoryId, String namespace, String project, String version,
-                                                String id )
-                        throws MetadataRepositoryException
-                    {
-                        //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public void removeRepository( String repositoryId )
-                        throws MetadataRepositoryException
-                    {
-                        //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public List<ArtifactMetadata> getArtifacts( String repositoryId )
-                        throws MetadataRepositoryException
-                    {
-                        return null;  //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public ProjectMetadata getProject( String repoId, String namespace, String projectId )
-                        throws MetadataResolutionException
-                    {
-                        return null;  //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public ProjectVersionMetadata getProjectVersion( String repoId, String namespace, String projectId,
-                                                                     String projectVersion )
-                        throws MetadataResolutionException
-                    {
-                        return null;  //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public Collection<String> getArtifactVersions( String repoId, String namespace, String projectId,
-                                                                   String projectVersion )
-                        throws MetadataResolutionException
-                    {
-                        return null;  //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public Collection<ProjectVersionReference> getProjectReferences( String repoId, String namespace,
-                                                                                     String projectId,
-                                                                                     String projectVersion )
-                        throws MetadataResolutionException
-                    {
-                        return null;  //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public Collection<String> getRootNamespaces( String repoId )
-                        throws MetadataResolutionException
-                    {
-                        return null;  //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public Collection<String> getNamespaces( String repoId, String namespace )
-                        throws MetadataResolutionException
-                    {
-                        return null;  //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public Collection<String> getProjects( String repoId, String namespace )
-                        throws MetadataResolutionException
-                    {
-                        return null;  //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public Collection<String> getProjectVersions( String repoId, String namespace, String projectId )
-                        throws MetadataResolutionException
-                    {
-                        return null;  //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public Collection<ArtifactMetadata> getArtifacts( String repoId, String namespace, String projectId,
-                                                                      String projectVersion )
-                        throws MetadataResolutionException
-                    {
-                        return null;  //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public void save()
-                    {
-                        //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public void close()
-                    {
-                        //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public void revert()
-                    {
-                        //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public boolean canObtainAccess( Class<?> aClass )
-                    {
-                        return false;  //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public <T>T obtainAccess( Class<T> aClass )
-                    {
-                        return null;  //To change body of implemented methods use File | Settings | File Templates.
-                    }
-
-                    @Override
-                    public void removeNamespace( String repositoryId, String namespace )
-                        throws MetadataRepositoryException
-                    {
-
-                    }
-
-                    @Override
-                    public void removeProjectVersion( String repoId, String namespace, String projectId,
-                                                      String projectVersion )
-                        throws MetadataRepositoryException
-                    {
-
-                    }
-
-                    @Override
-                    public void removeProject( String repositoryId, String namespace, String projectId )
-                        throws MetadataRepositoryException
-                    {
-                        throw new UnsupportedOperationException();
-                    }
-
-                };
+                return new AbstractMetadataRepository() {};
             }
         };
     }

http://git-wip-us.apache.org/repos/asf/archiva/blob/63479200/archiva-modules/archiva-web/archiva-rss/src/test/java/org/apache/archiva/rss/processor/NewArtifactsRssFeedProcessorTest.java
----------------------------------------------------------------------
diff --git a/archiva-modules/archiva-web/archiva-rss/src/test/java/org/apache/archiva/rss/processor/NewArtifactsRssFeedProcessorTest.java b/archiva-modules/archiva-web/archiva-rss/src/test/java/org/apache/archiva/rss/processor/NewArtifactsRssFeedProcessorTest.java
index dee82c9..4c34c66 100644
--- a/archiva-modules/archiva-web/archiva-rss/src/test/java/org/apache/archiva/rss/processor/NewArtifactsRssFeedProcessorTest.java
+++ b/archiva-modules/archiva-web/archiva-rss/src/test/java/org/apache/archiva/rss/processor/NewArtifactsRssFeedProcessorTest.java
@@ -19,31 +19,26 @@ package org.apache.archiva.rss.processor;
  * under the License.
  */
 
-import com.sun.syndication.feed.synd.SyndEntry;
-import com.sun.syndication.feed.synd.SyndFeed;
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.TimeZone;
+
 import junit.framework.TestCase;
+
 import org.apache.archiva.metadata.model.ArtifactMetadata;
-import org.apache.archiva.metadata.model.MetadataFacet;
-import org.apache.archiva.metadata.model.ProjectMetadata;
-import org.apache.archiva.metadata.model.ProjectVersionMetadata;
-import org.apache.archiva.metadata.model.ProjectVersionReference;
-import org.apache.archiva.metadata.repository.MetadataRepository;
-import org.apache.archiva.metadata.repository.MetadataRepositoryException;
-import org.apache.archiva.metadata.repository.MetadataResolutionException;
+import org.apache.archiva.metadata.repository.AbstractMetadataRepository;
 import org.apache.archiva.rss.RssFeedGenerator;
 import org.apache.archiva.test.utils.ArchivaBlockJUnit4ClassRunner;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Collection;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.TimeZone;
+import com.sun.syndication.feed.synd.SyndEntry;
+import com.sun.syndication.feed.synd.SyndFeed;
 
 @RunWith (ArchivaBlockJUnit4ClassRunner.class)
 public class NewArtifactsRssFeedProcessorTest
@@ -127,7 +122,7 @@ public class NewArtifactsRssFeedProcessorTest
 
     // TODO: replace with mockito
     private class MetadataRepositoryMock
-        implements MetadataRepository
+        extends AbstractMetadataRepository
     {
         private Date from, to;
 
@@ -144,191 +139,6 @@ public class NewArtifactsRssFeedProcessorTest
             return artifactsByDateRange;
         }
 
-        @Override
-        public void removeArtifact( String repositoryId, String namespace, String project, String version,
-                                    MetadataFacet metadataFacet )
-            throws MetadataRepositoryException
-        {
-            throw new UnsupportedOperationException();
-        }
-
-        @Override
-        public void addMetadataFacet( String arg0, MetadataFacet arg1 )
-        {
-            throw new UnsupportedOperationException();
-        }
-
-        @Override
-        public void removeArtifact( String arg0, String arg1, String arg2, String arg3, String arg4 )
-        {
-            throw new UnsupportedOperationException();
-        }
-
-        @Override
-        public void removeRepository( String arg0 )
-        {
-            throw new UnsupportedOperationException();
-        }
-
-        @Override
-        public List<ArtifactMetadata> getArtifactsByChecksum( String arg0, String arg1 )
-        {
-            throw new UnsupportedOperationException();
-        }
-
-        @Override
-        public MetadataFacet getMetadataFacet( String arg0, String arg1, String arg2 )
-        {
-            throw new UnsupportedOperationException();
-        }
-
-        @Override
-        public List<String> getMetadataFacets( String arg0, String arg1 )
-        {
-            throw new UnsupportedOperationException();
-        }
-
-        @Override
-        public Collection<String> getRepositories()
-        {
-            throw new UnsupportedOperationException();
-        }
-
-        @Override
-        public void removeMetadataFacet( String arg0, String arg1, String arg2 )
-        {
-            throw new UnsupportedOperationException();
-        }
-
-        @Override
-        public void removeMetadataFacets( String arg0, String arg1 )
-        {
-            throw new UnsupportedOperationException();
-        }
-
-        @Override
-        public void updateArtifact( String arg0, String arg1, String arg2, String arg3, ArtifactMetadata arg4 )
-        {
-            throw new UnsupportedOperationException();
-        }
-
-        @Override
-        public void updateNamespace( String arg0, String arg1 )
-        {
-            throw new UnsupportedOperationException();
-        }
-
-        @Override
-        public void updateProject( String arg0, ProjectMetadata arg1 )
-        {
-            throw new UnsupportedOperationException();
-        }
-
-        @Override
-        public void updateProjectVersion( String arg0, String arg1, String arg2, ProjectVersionMetadata arg3 )
-        {
-            throw new UnsupportedOperationException();
-        }
-
-        @Override
-        public Collection<String> getArtifactVersions( String arg0, String arg1, String arg2, String arg3 )
-        {
-            throw new UnsupportedOperationException();
-        }
-
-        @Override
-        public Collection<ArtifactMetadata> getArtifacts( String arg0, String arg1, String arg2, String arg3 )
-        {
-            throw new UnsupportedOperationException();
-        }
-
-        @Override
-        public void save()
-        {
-            throw new UnsupportedOperationException();
-        }
-
-        @Override
-        public void close()
-        {
-            throw new UnsupportedOperationException();
-        }
-
-        @Override
-        public boolean hasMetadataFacet( String repositoryId, String facetId )
-            throws MetadataRepositoryException
-        {
-            return false;
-        }
-
-        @Override
-        public void revert()
-        {
-            throw new UnsupportedOperationException();
-        }
-
-        @Override
-        public boolean canObtainAccess( Class<?> aClass )
-        {
-            return false;
-        }
-
-        @Override
-        public <T>T obtainAccess( Class<T> aClass )
-        {
-            throw new UnsupportedOperationException();
-        }
-
-        @Override
-        public Collection<String> getNamespaces( String arg0, String arg1 )
-        {
-            throw new UnsupportedOperationException();
-        }
-
-        @Override
-        public ProjectMetadata getProject( String arg0, String arg1, String arg2 )
-        {
-            throw new UnsupportedOperationException();
-        }
-
-        @Override
-        public Collection<ProjectVersionReference> getProjectReferences( String arg0, String arg1, String arg2,
-                                                                         String arg3 )
-        {
-            throw new UnsupportedOperationException();
-        }
-
-        @Override
-        public ProjectVersionMetadata getProjectVersion( String arg0, String arg1, String arg2, String arg3 )
-            throws MetadataResolutionException
-        {
-            throw new UnsupportedOperationException();
-        }
-
-        @Override
-        public Collection<String> getProjectVersions( String arg0, String arg1, String arg2 )
-        {
-            throw new UnsupportedOperationException();
-        }
-
-        @Override
-        public Collection<String> getProjects( String arg0, String arg1 )
-        {
-            throw new UnsupportedOperationException();
-        }
-
-        @Override
-        public Collection<String> getRootNamespaces( String arg0 )
-        {
-            throw new UnsupportedOperationException();
-        }
-
-        @Override
-        public void removeProject( String repositoryId, String namespace, String projectId )
-            throws MetadataRepositoryException
-        {
-            throw new UnsupportedOperationException();
-        }
 
         public void setFrom( Date from )
         {
@@ -370,26 +180,5 @@ public class NewArtifactsRssFeedProcessorTest
         {
             return artifactsByDateRange;
         }
-
-        @Override
-        public void removeArtifact( ArtifactMetadata artifactMetadata, String baseVersion )
-            throws MetadataRepositoryException
-        {
-
-        }
-
-        @Override
-        public void removeNamespace( String repositoryId, String namespace )
-            throws MetadataRepositoryException
-        {
-
-        }
-
-        @Override
-        public void removeProjectVersion( String repoId, String namespace, String projectId, String projectVersion )
-            throws MetadataRepositoryException
-        {
-
-        }
     }
 }

http://git-wip-us.apache.org/repos/asf/archiva/blob/63479200/archiva-modules/archiva-web/archiva-web-common/src/test/java/org/apache/archiva/webtest/memory/TestMetadataRepository.java
----------------------------------------------------------------------
diff --git a/archiva-modules/archiva-web/archiva-web-common/src/test/java/org/apache/archiva/webtest/memory/TestMetadataRepository.java b/archiva-modules/archiva-web/archiva-web-common/src/test/java/org/apache/archiva/webtest/memory/TestMetadataRepository.java
index 32c43f1..070c949 100644
--- a/archiva-modules/archiva-web/archiva-web-common/src/test/java/org/apache/archiva/webtest/memory/TestMetadataRepository.java
+++ b/archiva-modules/archiva-web/archiva-web-common/src/test/java/org/apache/archiva/webtest/memory/TestMetadataRepository.java
@@ -19,22 +19,17 @@ package org.apache.archiva.webtest.memory;
  * under the License.
  */
 
-import org.apache.archiva.metadata.model.ArtifactMetadata;
-import org.apache.archiva.metadata.model.MetadataFacet;
-import org.apache.archiva.metadata.model.ProjectMetadata;
-import org.apache.archiva.metadata.model.ProjectVersionMetadata;
-import org.apache.archiva.metadata.model.ProjectVersionReference;
-import org.apache.archiva.metadata.repository.MetadataRepository;
-import org.apache.archiva.metadata.repository.MetadataRepositoryException;
-
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Date;
 import java.util.List;
 
+import org.apache.archiva.metadata.model.ArtifactMetadata;
+import org.apache.archiva.metadata.repository.AbstractMetadataRepository;
+
 public class TestMetadataRepository
-    implements MetadataRepository
+    extends AbstractMetadataRepository
 {
     private static final String TEST_REPO = "test-repo";
 
@@ -75,107 +70,18 @@ public class TestMetadataRepository
     }
 
     @Override
-    public ProjectMetadata getProject( String repoId, String namespace, String projectId )
-    {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public ProjectVersionMetadata getProjectVersion( String repoId, String namespace, String projectId,
-                                                     String projectVersion )
-    {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public Collection<String> getArtifactVersions( String repoId, String namespace, String projectId,
-                                                   String projectVersion )
-    {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public Collection<ProjectVersionReference> getProjectReferences( String repoId, String namespace, String projectId,
-                                                                     String projectVersion )
-    {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public Collection<String> getRootNamespaces( String repoId )
-    {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public Collection<String> getNamespaces( String repoId, String namespace )
-    {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public Collection<String> getProjects( String repoId, String namespace )
-    {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
     public Collection<String> getProjectVersions( String repoId, String namespace, String projectId )
     {
         return versions;
     }
 
     @Override
-    public void updateProject( String repoId, ProjectMetadata project )
-    {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void updateArtifact( String repoId, String namespace, String projectId, String projectVersion,
-                                ArtifactMetadata artifactMeta )
-    {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void updateProjectVersion( String repoId, String namespace, String projectId,
-                                      ProjectVersionMetadata versionMetadata )
-    {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void updateNamespace( String repoId, String namespace )
-    {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
     public List<String> getMetadataFacets( String repodId, String facetId )
     {
         return Collections.emptyList();
     }
 
     @Override
-    public MetadataFacet getMetadataFacet( String repositoryId, String facetId, String name )
- {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void addMetadataFacet( String repositoryId, MetadataFacet metadataFacet )
-    {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void removeMetadataFacets( String repositoryId, String facetId )
-    {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
     public void removeMetadataFacet( String repoId, String facetId, String name )
     {
         //To change body of implemented methods use File | Settings | File Templates.
@@ -194,32 +100,6 @@ public class TestMetadataRepository
     }
 
     @Override
-    public List<ArtifactMetadata> getArtifactsByChecksum( String repoId, String checksum )
-    {
-        return null;
-    }
-
-    @Override
-    public void removeArtifact( String repositoryId, String namespace, String project, String version, String id )
-    {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void removeArtifact( String repositoryId, String namespace, String project, String version,
-                                MetadataFacet metadataFacet )
-        throws MetadataRepositoryException
-    {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void removeRepository( String repoId )
-    {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
     public Collection<ArtifactMetadata> getArtifacts( String repoId, String namespace, String projectId,
                                                       String projectVersion )
     {
@@ -227,72 +107,9 @@ public class TestMetadataRepository
     }
 
     @Override
-    public void save()
-    {
-    }
-
-    @Override
-    public void close()
-    {
-    }
-
-    @Override
-    public void revert()
-    {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public boolean canObtainAccess( Class<?> aClass )
-    {
-        return false;
-    }
-
-    @Override
-    public <T>T obtainAccess( Class<T> aClass )
-    {
-        return null;
-    }
-
-    @Override
     public List<ArtifactMetadata> getArtifacts( String repositoryId )
     {
         return artifacts;
     }
 
-    @Override
-    public void removeArtifact( ArtifactMetadata artifactMetadata, String baseVersion )
-        throws MetadataRepositoryException
-    {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void removeNamespace( String repositoryId, String namespace )
-        throws MetadataRepositoryException
-    {
-
-    }
-
-    @Override
-    public void removeProjectVersion( String repoId, String namespace, String projectId, String projectVersion )
-        throws MetadataRepositoryException
-    {
-
-    }
-
-    @Override
-    public void removeProject( String repositoryId, String namespace, String projectId )
-        throws MetadataRepositoryException
-    {
-        throw new UnsupportedOperationException();
-    }
-
-
-    @Override
-    public boolean hasMetadataFacet( String repositoryId, String facetId )
-        throws MetadataRepositoryException
-    {
-        return false;
-    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/archiva/blob/63479200/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/metadata/repository/TestMetadataRepository.java
----------------------------------------------------------------------
diff --git a/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/metadata/repository/TestMetadataRepository.java b/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/metadata/repository/TestMetadataRepository.java
deleted file mode 100644
index fc30e0d..0000000
--- a/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/metadata/repository/TestMetadataRepository.java
+++ /dev/null
@@ -1,259 +0,0 @@
-package org.apache.archiva.metadata.repository;
-
-/*
- * 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.archiva.metadata.model.ArtifactMetadata;
-import org.apache.archiva.metadata.model.MetadataFacet;
-import org.apache.archiva.metadata.model.ProjectMetadata;
-import org.apache.archiva.metadata.model.ProjectVersionMetadata;
-import org.apache.archiva.metadata.model.ProjectVersionReference;
-
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Date;
-import java.util.List;
-
-// TODO: remove - it does nothing
-public class TestMetadataRepository
-    implements MetadataRepository
-{
-    @Override
-    public ProjectMetadata getProject( String repoId, String namespace, String projectId )
-    {
-        return null;
-    }
-
-    @Override
-    public ProjectVersionMetadata getProjectVersion( String repoId, String namespace, String projectId,
-                                                     String projectVersion )
-    {
-        return null;
-    }
-
-    @Override
-    public Collection<String> getArtifactVersions( String repoId, String namespace, String projectId,
-                                                   String projectVersion )
-    {
-        return null;
-    }
-
-    @Override
-    public Collection<ProjectVersionReference> getProjectReferences( String repoId, String namespace, String projectId,
-                                                                     String projectVersion )
-    {
-        return null;
-    }
-
-    @Override
-    public Collection<String> getRootNamespaces( String repoId )
-    {
-        return null;
-    }
-
-    @Override
-    public Collection<String> getNamespaces( String repoId, String namespace )
-    {
-        return null;
-    }
-
-    @Override
-    public Collection<String> getProjects( String repoId, String namespace )
-    {
-        return null;
-    }
-
-    @Override
-    public Collection<String> getProjectVersions( String repoId, String namespace, String projectId )
-    {
-        return null;
-    }
-
-    @Override
-    public void updateProject( String repoId, ProjectMetadata project )
-    {
-    }
-
-    @Override
-    public void updateArtifact( String repoId, String namespace, String projectId, String projectVersion,
-                                ArtifactMetadata artifactMeta )
-    {
-
-    }
-
-    @Override
-    public void updateProjectVersion( String repoId, String namespace, String projectId,
-                                      ProjectVersionMetadata versionMetadata )
-    {
-
-    }
-
-    @Override
-    public void updateNamespace( String repoId, String namespace )
-    {
-
-    }
-
-    @Override
-    public List<String> getMetadataFacets( String repodId, String facetId )
-    {
-        return Collections.emptyList();
-    }
-
-    @Override
-    public MetadataFacet getMetadataFacet( String repositoryId, String facetId, String name )
-    {
-        return null;
-    }
-
-    @Override
-    public void addMetadataFacet( String repositoryId, MetadataFacet metadataFacet )
-    {
-
-    }
-
-    @Override
-    public void removeMetadataFacets( String repositoryId, String facetId )
-    {
-
-    }
-
-    @Override
-    public void removeMetadataFacet( String repoId, String facetId, String name )
-    {
-
-    }
-
-    @Override
-    public List<ArtifactMetadata> getArtifactsByDateRange( String repoId, Date startTime, Date endTime )
-    {
-        return null;
-    }
-
-    @Override
-    public Collection<String> getRepositories()
-    {
-        return null;
-    }
-
-    @Override
-    public List<ArtifactMetadata> getArtifactsByChecksum( String repoId, String checksum )
-    {
-        return null;
-    }
-
-    @Override
-    public void removeArtifact( String repositoryId, String namespace, String project, String version, String id )
-    {
-
-    }
-
-    @Override
-    public void removeRepository( String repoId )
-    {
-
-    }
-
-    @Override
-    public Collection<ArtifactMetadata> getArtifacts( String repoId, String namespace, String projectId,
-                                                      String projectVersion )
-    {
-        return null;
-    }
-
-    @Override
-    public void save()
-    {
-
-    }
-
-    @Override
-    public void close()
-    {
-
-    }
-
-    @Override
-    public void revert()
-    {
-
-    }
-
-    @Override
-    public boolean canObtainAccess( Class<?> aClass )
-    {
-        return false;
-    }
-
-    @Override
-    public <T>T obtainAccess( Class<T> aClass )
-    {
-        return null;
-    }
-
-    @Override
-    public List<ArtifactMetadata> getArtifacts( String repositoryId )
-    {
-        return null;
-    }
-
-    @Override
-    public void removeArtifact( String repositoryId, String namespace, String project, String version,
-                                MetadataFacet metadataFacet )
-        throws MetadataRepositoryException
-    {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void removeArtifact( ArtifactMetadata artifactMetadata, String baseVersion )
-        throws MetadataRepositoryException
-    {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void removeNamespace( String repositoryId, String namespace )
-        throws MetadataRepositoryException
-    {
-
-    }
-
-    @Override
-    public void removeProjectVersion( String repoId, String namespace, String projectId, String projectVersion )
-        throws MetadataRepositoryException
-    {
-
-    }
-
-    @Override
-    public void removeProject( String repositoryId, String namespace, String projectId )
-        throws MetadataRepositoryException
-    {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public boolean hasMetadataFacet( String repositoryId, String facetId )
-        throws MetadataRepositoryException
-    {
-        return false;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/archiva/blob/63479200/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/metadata/repository/TestRepositorySessionFactory.java
----------------------------------------------------------------------
diff --git a/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/metadata/repository/TestRepositorySessionFactory.java b/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/metadata/repository/TestRepositorySessionFactory.java
index 03be76a..d8df702 100644
--- a/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/metadata/repository/TestRepositorySessionFactory.java
+++ b/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/metadata/repository/TestRepositorySessionFactory.java
@@ -30,7 +30,7 @@ public class TestRepositorySessionFactory
     @Override
     public RepositorySession createSession()
     {
-        return new RepositorySession( new TestMetadataRepository(), resolver );
+        return new RepositorySession( new AbstractMetadataRepository() {}, resolver );
     }
 
     public void setResolver( MetadataResolver resolver )


[3/3] archiva git commit: merge branch from Carlos. Thanks mate!!

Posted by ol...@apache.org.
merge branch from Carlos. Thanks mate!!


Project: http://git-wip-us.apache.org/repos/asf/archiva/repo
Commit: http://git-wip-us.apache.org/repos/asf/archiva/commit/aa9bfe5e
Tree: http://git-wip-us.apache.org/repos/asf/archiva/tree/aa9bfe5e
Diff: http://git-wip-us.apache.org/repos/asf/archiva/diff/aa9bfe5e

Branch: refs/heads/master
Commit: aa9bfe5eb39c08cf82d636768aaace39cbd42b7c
Parents: 021bbaf 6347920
Author: Olivier Lamy <ol...@apache.org>
Authored: Mon Nov 17 10:43:06 2014 +1100
Committer: Olivier Lamy <ol...@apache.org>
Committed: Mon Nov 17 10:43:06 2014 +1100

----------------------------------------------------------------------
 .../repository/TestMetadataRepository.java      | 258 -----------------
 .../TestRepositorySessionFactory.java           |   4 +-
 .../mock/MockRepositorySessionFactory.java      | 269 +-----------------
 .../repository/TestMetadataRepository.java      | 262 -----------------
 .../TestRepositorySessionFactory.java           |   2 +-
 .../mock/MockRepositorySessionFactory.java      | 269 +-----------------
 .../mock/MockRepositorySessionFactory.java      | 269 +-----------------
 .../NewArtifactsRssFeedProcessorTest.java       | 237 +---------------
 .../webtest/memory/TestMetadataRepository.java  | 191 +------------
 .../repository/TestMetadataRepository.java      | 259 -----------------
 .../TestRepositorySessionFactory.java           |   2 +-
 .../repository/AbstractMetadataRepository.java  | 280 +++++++++++++++++++
 .../repository/TestMetadataRepository.java      | 274 ------------------
 .../TestRepositorySessionFactory.java           |   2 +-
 14 files changed, 308 insertions(+), 2270 deletions(-)
----------------------------------------------------------------------