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 <[email protected]>
Authored: Thu Nov 6 09:58:02 2014 +0100
Committer: Carlos Sanchez <[email protected]>
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 )

Reply via email to