Author: olamy
Date: Thu Dec 26 12:56:18 2013
New Revision: 1553476

URL: http://svn.apache.org/r1553476
Log:
fix mapping with modelmapper

Modified:
    
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/pom.xml
    
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/AbstractRestService.java
    
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultManagedRepositoriesService.java
    
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultRedbackRuntimeConfigurationService.java
    
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultSearchService.java
    archiva/trunk/archiva-modules/plugins/maven2-repository/pom.xml
    
archiva/trunk/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/dependency/tree/maven2/TreeDependencyNodeVisitor.java
    
archiva/trunk/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/configuration/MockRepoAdmin.java
    archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/pom.xml
    
archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraMetadataRepository.java
    archiva/trunk/pom.xml

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/pom.xml
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/pom.xml?rev=1553476&r1=1553475&r2=1553476&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/pom.xml
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/pom.xml
 Thu Dec 26 12:56:18 2013
@@ -180,23 +180,10 @@
     </dependency>
 
     <dependency>
-      <groupId>net.sf.beanlib</groupId>
-      <artifactId>beanlib</artifactId>
-        <exclusions>
-          <exclusion>
-            <groupId>cglib</groupId>
-            <artifactId>cglib</artifactId>
-          </exclusion>
-          <exclusion>
-            <groupId>aopalliance</groupId>
-            <artifactId>aopalliance</artifactId>
-          </exclusion>
-          <exclusion>
-            <groupId>log4j</groupId>
-            <artifactId>log4j</artifactId>
-          </exclusion>
-        </exclusions>
+      <groupId>org.modelmapper</groupId>
+      <artifactId>modelmapper</artifactId>
     </dependency>
+
     <dependency>
       <groupId>org.codehaus.woodstox</groupId>
       <artifactId>woodstox-core-asl</artifactId>

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/AbstractRestService.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/AbstractRestService.java?rev=1553476&r1=1553475&r2=1553476&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/AbstractRestService.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/AbstractRestService.java
 Thu Dec 26 12:56:18 2013
@@ -26,6 +26,7 @@ import org.apache.archiva.admin.model.ma
 import org.apache.archiva.audit.AuditEvent;
 import org.apache.archiva.audit.AuditListener;
 import org.apache.archiva.common.utils.VersionUtil;
+import org.apache.archiva.indexer.search.SearchResultHit;
 import org.apache.archiva.maven2.model.Artifact;
 import org.apache.archiva.metadata.model.ArtifactMetadata;
 import org.apache.archiva.metadata.repository.RepositorySessionFactory;
@@ -46,6 +47,8 @@ import org.apache.archiva.security.Archi
 import org.apache.archiva.security.PrincipalNotFoundException;
 import org.apache.archiva.security.UserRepositories;
 import org.apache.commons.lang.StringUtils;
+import org.modelmapper.ModelMapper;
+import org.modelmapper.PropertyMap;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.context.ApplicationContext;
@@ -83,7 +86,7 @@ public abstract class AbstractRestServic
      * FIXME: this could be multiple implementations and needs to be 
configured.
      */
     @Inject
-    @Named(value = "repositorySessionFactory")
+    @Named( value = "repositorySessionFactory" )
     protected RepositorySessionFactory repositorySessionFactory;
 
     @Inject
@@ -96,7 +99,7 @@ public abstract class AbstractRestServic
     protected RepositoryContentFactory repositoryContentFactory;
 
     @Inject
-    @Named(value = "archivaTaskScheduler#repository")
+    @Named( value = "archivaTaskScheduler#repository" )
     protected DefaultRepositoryArchivaTaskScheduler repositoryTaskScheduler;
 
 
@@ -312,4 +315,31 @@ public abstract class AbstractRestServic
         }
         return true;
     }
+
+    private static class ModelMapperHolder
+    {
+        private static ModelMapper MODEL_MAPPER = new ModelMapper();
+
+        static
+        {
+            MODEL_MAPPER.addMappings( new SearchResultHitMap() );
+        }
+    }
+
+
+    private static class SearchResultHitMap
+        extends PropertyMap<SearchResultHit, Artifact>
+    {
+        protected void configure()
+        {
+            skip().setId( null );
+        }
+    }
+
+    ;
+
+    protected ModelMapper getModelMapper()
+    {
+        return ModelMapperHolder.MODEL_MAPPER;
+    }
 }

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultManagedRepositoriesService.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultManagedRepositoriesService.java?rev=1553476&r1=1553475&r2=1553476&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultManagedRepositoriesService.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultManagedRepositoriesService.java
 Thu Dec 26 12:56:18 2013
@@ -18,7 +18,6 @@ package org.apache.archiva.rest.services
  * under the License.
  */
 
-import net.sf.beanlib.provider.replicator.BeanReplicator;
 import org.apache.archiva.admin.model.RepositoryAdminException;
 import org.apache.archiva.admin.model.RepositoryCommonValidator;
 import org.apache.archiva.admin.model.beans.ManagedRepository;
@@ -170,7 +169,7 @@ public class DefaultManagedRepositoriesS
             if ( stats != null )
             {
                 ArchivaRepositoryStatistics archivaRepositoryStatistics =
-                    new BeanReplicator().replicateBean( stats, 
ArchivaRepositoryStatistics.class );
+                    getModelMapper().map( stats, 
ArchivaRepositoryStatistics.class );
                 archivaRepositoryStatistics.setDuration( 
archivaRepositoryStatistics.getScanEndTime().getTime()
                                                              - 
archivaRepositoryStatistics.getScanStartTime().getTime() );
                 archivaRepositoryStatistics.setLastScanDate(

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultRedbackRuntimeConfigurationService.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultRedbackRuntimeConfigurationService.java?rev=1553476&r1=1553475&r2=1553476&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultRedbackRuntimeConfigurationService.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultRedbackRuntimeConfigurationService.java
 Thu Dec 26 12:56:18 2013
@@ -19,16 +19,15 @@ package org.apache.archiva.rest.services
  */
 
 import org.apache.archiva.admin.model.RepositoryAdminException;
-import org.apache.archiva.admin.model.beans.RedbackRuntimeConfiguration;
 import org.apache.archiva.admin.model.beans.LdapConfiguration;
+import org.apache.archiva.admin.model.beans.RedbackRuntimeConfiguration;
 import org.apache.archiva.admin.model.runtime.RedbackRuntimeConfigurationAdmin;
 import org.apache.archiva.redback.authentication.Authenticator;
 import org.apache.archiva.redback.common.ldap.connection.LdapConnection;
-import org.apache.archiva.redback.common.ldap.user.LdapUserMapper;
-import org.apache.archiva.redback.common.ldap.connection.DefaultLdapConnection;
 import 
org.apache.archiva.redback.common.ldap.connection.LdapConnectionConfiguration;
 import org.apache.archiva.redback.common.ldap.connection.LdapConnectionFactory;
 import org.apache.archiva.redback.common.ldap.connection.LdapException;
+import org.apache.archiva.redback.common.ldap.user.LdapUserMapper;
 import org.apache.archiva.redback.components.cache.Cache;
 import org.apache.archiva.redback.policy.CookieSettings;
 import org.apache.archiva.redback.policy.PasswordRule;
@@ -40,7 +39,6 @@ import org.apache.archiva.rest.api.model
 import org.apache.archiva.rest.api.model.UserManagerImplementationInformation;
 import org.apache.archiva.rest.api.services.ArchivaRestServiceException;
 import org.apache.archiva.rest.api.services.RedbackRuntimeConfigurationService;
-
 import org.apache.commons.lang.StringUtils;
 import org.springframework.context.ApplicationContext;
 import org.springframework.stereotype.Service;

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultSearchService.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultSearchService.java?rev=1553476&r1=1553475&r2=1553476&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultSearchService.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultSearchService.java
 Thu Dec 26 12:56:18 2013
@@ -19,7 +19,6 @@ package org.apache.archiva.rest.services
  * under the License.
  */
 
-import net.sf.beanlib.provider.replicator.BeanReplicator;
 import org.apache.archiva.indexer.search.RepositorySearch;
 import org.apache.archiva.indexer.search.RepositorySearchException;
 import org.apache.archiva.indexer.search.SearchFields;
@@ -139,7 +138,7 @@ public class DefaultSearchService
         {
             return Collections.emptyList();
         }
-        SearchFields searchField = new BeanReplicator().replicateBean( 
searchRequest, SearchFields.class );
+        SearchFields searchField = getModelMapper().map( searchRequest, 
SearchFields.class );
         SearchResultLimits limits = new SearchResultLimits( 0 );
 
         // if no repos set we use ones available for the user
@@ -219,7 +218,7 @@ public class DefaultSearchService
                 for ( String version : hit.getVersions() )
                 {
 
-                    Artifact versionned = new BeanReplicator().replicateBean( 
hit, Artifact.class );
+                    Artifact versionned = getModelMapper().map( hit, 
Artifact.class );
 
                     if ( StringUtils.isNotBlank( version ) )
                     {

Modified: archiva/trunk/archiva-modules/plugins/maven2-repository/pom.xml
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/plugins/maven2-repository/pom.xml?rev=1553476&r1=1553475&r2=1553476&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/plugins/maven2-repository/pom.xml (original)
+++ archiva/trunk/archiva-modules/plugins/maven2-repository/pom.xml Thu Dec 26 
12:56:18 2013
@@ -141,22 +141,8 @@
       <artifactId>wagon-provider-api</artifactId>
     </dependency>
     <dependency>
-      <groupId>net.sf.beanlib</groupId>
-      <artifactId>beanlib</artifactId>
-        <exclusions>
-          <exclusion>
-            <groupId>cglib</groupId>
-            <artifactId>cglib</artifactId>
-          </exclusion>
-          <exclusion>
-            <groupId>aopalliance</groupId>
-            <artifactId>aopalliance</artifactId>
-          </exclusion>
-          <exclusion>
-            <groupId>log4j</groupId>
-            <artifactId>log4j</artifactId>
-          </exclusion>
-        </exclusions>
+      <groupId>org.modelmapper</groupId>
+      <artifactId>modelmapper</artifactId>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.wagon</groupId>
@@ -270,7 +256,7 @@
               org.sonatype.aether.repository,
               org.sonatype.aether.util,
               org.sonatype.aether.util.artifact,
-              net.sf.beanlib.provider.replicator,
+              org.modelmapper,
               org.apache.archiva.maven2.model,
               org.sonatype.aether.util.graph.selector,
               org.apache.archiva.metadata.model.maven2,

Modified: 
archiva/trunk/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/dependency/tree/maven2/TreeDependencyNodeVisitor.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/dependency/tree/maven2/TreeDependencyNodeVisitor.java?rev=1553476&r1=1553475&r2=1553476&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/dependency/tree/maven2/TreeDependencyNodeVisitor.java
 (original)
+++ 
archiva/trunk/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/dependency/tree/maven2/TreeDependencyNodeVisitor.java
 Thu Dec 26 12:56:18 2013
@@ -18,9 +18,9 @@ package org.apache.archiva.dependency.tr
  * under the License.
  */
 
-import net.sf.beanlib.provider.replicator.BeanReplicator;
 import org.apache.archiva.maven2.model.Artifact;
 import org.apache.archiva.maven2.model.TreeEntry;
+import org.modelmapper.ModelMapper;
 import org.sonatype.aether.graph.DependencyNode;
 import org.sonatype.aether.graph.DependencyVisitor;
 
@@ -49,7 +49,7 @@ public class TreeDependencyNodeVisitor
     public boolean visitEnter( DependencyNode dependencyNode )
     {
         TreeEntry entry = new TreeEntry(
-            new BeanReplicator().replicateBean( 
dependencyNode.getDependency().getArtifact(), Artifact.class ) );
+            getModelMapper().map( 
dependencyNode.getDependency().getArtifact(), Artifact.class ) );
         entry.getArtifact().setScope( 
dependencyNode.getDependency().getScope() );
         entry.setParent( currentEntry );
         currentEntry = entry;
@@ -71,4 +71,14 @@ public class TreeDependencyNodeVisitor
         currentEntry = currentEntry.getParent();
         return true;
     }
+
+    private static class ModelMapperHolder
+    {
+        private static ModelMapper MODEL_MAPPER = new ModelMapper();
+    }
+
+    protected ModelMapper getModelMapper()
+    {
+        return ModelMapperHolder.MODEL_MAPPER;
+    }
 }

Modified: 
archiva/trunk/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/configuration/MockRepoAdmin.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/configuration/MockRepoAdmin.java?rev=1553476&r1=1553475&r2=1553476&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/configuration/MockRepoAdmin.java
 (original)
+++ 
archiva/trunk/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/configuration/MockRepoAdmin.java
 Thu Dec 26 12:56:18 2013
@@ -18,7 +18,6 @@ package org.apache.archiva.configuration
  * under the License.
  */
 
-import net.sf.beanlib.provider.replicator.BeanReplicator;
 import org.apache.archiva.admin.model.AuditInformation;
 import org.apache.archiva.admin.model.RepositoryAdminException;
 import org.apache.archiva.admin.model.beans.ManagedRepository;
@@ -33,6 +32,7 @@ import org.apache.archiva.admin.model.pr
 import org.apache.archiva.admin.model.remote.RemoteRepositoryAdmin;
 import org.apache.commons.lang.StringUtils;
 import org.apache.maven.index.context.IndexingContext;
+import org.modelmapper.ModelMapper;
 import org.springframework.stereotype.Service;
 
 import javax.inject.Inject;
@@ -279,7 +279,7 @@ public class MockRepoAdmin
     {
         return proxyConnectorConfiguration == null
             ? null
-            : new BeanReplicator().replicateBean( proxyConnectorConfiguration, 
ProxyConnector.class );
+            : new ModelMapper().map( proxyConnectorConfiguration, 
ProxyConnector.class );
     }
 
     public List<ProxyConnectorRule> getProxyConnectorRules()

Modified: archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/pom.xml
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/pom.xml?rev=1553476&r1=1553475&r2=1553476&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/pom.xml 
(original)
+++ archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/pom.xml Thu 
Dec 26 12:56:18 2013
@@ -69,22 +69,8 @@
     </dependency>
 
     <dependency>
-      <groupId>net.sf.beanlib</groupId>
-      <artifactId>beanlib</artifactId>
-      <exclusions>
-        <exclusion>
-          <groupId>cglib</groupId>
-          <artifactId>cglib</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>aopalliance</groupId>
-          <artifactId>aopalliance</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>log4j</groupId>
-          <artifactId>log4j</artifactId>
-        </exclusion>
-      </exclusions>
+      <groupId>org.modelmapper</groupId>
+      <artifactId>modelmapper</artifactId>
     </dependency>
 
     <dependency>

Modified: 
archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraMetadataRepository.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraMetadataRepository.java?rev=1553476&r1=1553475&r2=1553476&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraMetadataRepository.java
 (original)
+++ 
archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraMetadataRepository.java
 Thu Dec 26 12:56:18 2013
@@ -23,7 +23,6 @@ import com.google.common.base.Function;
 import com.google.common.base.Predicate;
 import com.google.common.collect.Iterables;
 import com.netflix.astyanax.entitystore.EntityManager;
-import net.sf.beanlib.provider.replicator.BeanReplicator;
 import org.apache.archiva.configuration.ArchivaConfiguration;
 import org.apache.archiva.metadata.model.ArtifactMetadata;
 import org.apache.archiva.metadata.model.FacetedMetadata;
@@ -42,6 +41,7 @@ import org.apache.archiva.metadata.repos
 import 
org.apache.archiva.metadata.repository.cassandra.model.ProjectVersionMetadataModel;
 import org.apache.archiva.metadata.repository.cassandra.model.Repository;
 import org.apache.commons.lang.StringUtils;
+import org.modelmapper.ModelMapper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -870,7 +870,7 @@ public class CassandraMetadataRepository
         if ( projectVersionMetadataModel == null )
         {
             projectVersionMetadataModel =
-                new BeanReplicator().replicateBean( versionMetadata, 
ProjectVersionMetadataModel.class );
+                getModelMapper().map( versionMetadata, 
ProjectVersionMetadataModel.class );
             projectVersionMetadataModel.setRowId( key );
         }
         projectVersionMetadataModel.setProjectId( projectId );
@@ -1162,7 +1162,7 @@ public class CassandraMetadataRepository
 
         for ( ArtifactMetadataModel model : artifactMetadataModels )
         {
-            ArtifactMetadata artifactMetadata = new 
BeanReplicator().replicateBean( model, ArtifactMetadata.class );
+            ArtifactMetadata artifactMetadata = getModelMapper().map( model, 
ArtifactMetadata.class );
             populateFacets( artifactMetadata );
             artifactMetadatas.add( artifactMetadata );
         }
@@ -1269,7 +1269,7 @@ public class CassandraMetadataRepository
 
         for ( ArtifactMetadataModel model : artifactMetadataModels )
         {
-            ArtifactMetadata artifactMetadata = new 
BeanReplicator().replicateBean( model, ArtifactMetadata.class );
+            ArtifactMetadata artifactMetadata = getModelMapper().map( model, 
ArtifactMetadata.class );
             populateFacets( artifactMetadata );
             artifactMetadatas.add( artifactMetadata );
         }
@@ -1380,7 +1380,7 @@ public class CassandraMetadataRepository
 
         for ( ArtifactMetadataModel model : artifactMetadataModels )
         {
-            ArtifactMetadata artifactMetadata = new 
BeanReplicator().replicateBean( model, ArtifactMetadata.class );
+            ArtifactMetadata artifactMetadata = getModelMapper().map( model, 
ArtifactMetadata.class );
             populateFacets( artifactMetadata );
             artifactMetadatas.add( artifactMetadata );
         }
@@ -1450,7 +1450,7 @@ public class CassandraMetadataRepository
         }
 
         ProjectVersionMetadata projectVersionMetadata =
-            new BeanReplicator().replicateBean( projectVersionMetadataModel, 
ProjectVersionMetadata.class );
+            getModelMapper().map( projectVersionMetadataModel, 
ProjectVersionMetadata.class );
 
         logger.debug( "getProjectVersion repoId: '{}', namespace: '{}', 
projectId: '{}', projectVersion: {} -> {}",
                       repoId, namespace, projectId, projectVersion, 
projectVersionMetadata );
@@ -1630,7 +1630,7 @@ public class CassandraMetadataRepository
 
         for ( ArtifactMetadataModel model : artifactMetadataModels )
         {
-            ArtifactMetadata artifactMetadata = new 
BeanReplicator().replicateBean( model, ArtifactMetadata.class );
+            ArtifactMetadata artifactMetadata = getModelMapper().map( model, 
ArtifactMetadata.class );
             populateFacets( artifactMetadata );
             artifactMetadatas.add( artifactMetadata );
         }
@@ -1751,4 +1751,15 @@ public class CassandraMetadataRepository
         throw new IllegalArgumentException(
             "Access using " + aClass + " is not supported on the cassandra 
metadata storage" );
     }
+
+
+    private static class ModelMapperHolder
+    {
+        private static ModelMapper MODEL_MAPPER = new ModelMapper();
+    }
+
+    protected ModelMapper getModelMapper()
+    {
+        return ModelMapperHolder.MODEL_MAPPER;
+    }
 }

Modified: archiva/trunk/pom.xml
URL: 
http://svn.apache.org/viewvc/archiva/trunk/pom.xml?rev=1553476&r1=1553475&r2=1553476&view=diff
==============================================================================
--- archiva/trunk/pom.xml (original)
+++ archiva/trunk/pom.xml Thu Dec 26 12:56:18 2013
@@ -581,21 +581,6 @@
       </dependency>
 
       <dependency>
-        <groupId>net.sf.beanlib</groupId>
-        <artifactId>beanlib</artifactId>
-        <version>5.0.2beta</version>
-        <exclusions>
-          <exclusion>
-            <groupId>cglib</groupId>
-            <artifactId>cglib</artifactId>
-          </exclusion>
-          <exclusion>
-            <groupId>aopalliance</groupId>
-            <artifactId>aopalliance</artifactId>
-          </exclusion>
-        </exclusions>
-      </dependency>
-      <dependency>
         <groupId>commons-codec</groupId>
         <artifactId>commons-codec</artifactId>
         <version>${commons-codec.version}</version>


Reply via email to