You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ma...@apache.org on 2017/06/10 11:26:15 UTC

[30/50] archiva git commit: Fix for initialization problems with new spring version

Fix for initialization problems with new spring version


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

Branch: refs/heads/citest
Commit: 2cc9dc8b4af78e78d46aab4b0472c2a710d5c740
Parents: 7e6ad27
Author: Martin Stockhammer <ma...@apache.org>
Authored: Sun May 21 22:38:21 2017 +0200
Committer: Martin Stockhammer <ma...@apache.org>
Committed: Sun May 21 22:38:21 2017 +0200

----------------------------------------------------------------------
 .../repository/jcr/JcrRepositorySessionFactory.java     | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/archiva/blob/2cc9dc8b/archiva-modules/plugins/metadata-store-jcr/src/main/java/org/apache/archiva/metadata/repository/jcr/JcrRepositorySessionFactory.java
----------------------------------------------------------------------
diff --git a/archiva-modules/plugins/metadata-store-jcr/src/main/java/org/apache/archiva/metadata/repository/jcr/JcrRepositorySessionFactory.java b/archiva-modules/plugins/metadata-store-jcr/src/main/java/org/apache/archiva/metadata/repository/jcr/JcrRepositorySessionFactory.java
index 8589ecb..1c51dfc 100644
--- a/archiva-modules/plugins/metadata-store-jcr/src/main/java/org/apache/archiva/metadata/repository/jcr/JcrRepositorySessionFactory.java
+++ b/archiva-modules/plugins/metadata-store-jcr/src/main/java/org/apache/archiva/metadata/repository/jcr/JcrRepositorySessionFactory.java
@@ -57,7 +57,7 @@ public class JcrRepositorySessionFactory
     @Inject
     private Repository repository;
 
-    @Inject
+    // Lazy evaluation to avoid problems with circular dependencies during initialization
     private MetadataResolver metadataResolver;
 
     @Inject
@@ -75,7 +75,7 @@ public class JcrRepositorySessionFactory
             //  API.
             MetadataRepository metadataRepository = new JcrMetadataRepository( metadataFacetFactories, repository );
 
-            return new RepositorySession( metadataRepository, metadataResolver );
+            return new RepositorySession( metadataRepository, getMetadataResolver() );
         }
         catch ( RepositoryException e )
         {
@@ -84,6 +84,14 @@ public class JcrRepositorySessionFactory
         }
     }
 
+    // Lazy evaluation to avoid problems with circular dependencies during initialization
+    private MetadataResolver getMetadataResolver() {
+        if (this.metadataResolver==null) {
+            this.metadataResolver = applicationContext.getBean( MetadataResolver.class );
+        }
+        return this.metadataResolver;
+    }
+
     @PostConstruct
     public void initialize()
         throws Exception