You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ol...@apache.org on 2013/12/02 06:02:20 UTC

svn commit: r1546898 - /archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultPluginsServices.java

Author: olamy
Date: Mon Dec  2 05:02:19 2013
New Revision: 1546898

URL: http://svn.apache.org/r1546898
Log:
setup this bean on startup: will make it more thread safe

Modified:
    archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultPluginsServices.java

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultPluginsServices.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/DefaultPluginsServices.java?rev=1546898&r1=1546897&r2=1546898&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultPluginsServices.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultPluginsServices.java Mon Dec  2 05:02:19 2013
@@ -50,38 +50,14 @@ public class DefaultPluginsServices
 
     private Logger log = LoggerFactory.getLogger( getClass() );
 
+    private String adminPlugins;
+
     @Inject
     public DefaultPluginsServices( ApplicationContext applicationContext )
+        throws IOException
     {
         this.appCont = applicationContext;
-    }
-
-    private void feed( List<String> repository, String key )
-        throws ArchivaRestServiceException
-    {
-        log.debug( "Feeding: {}", key );
-        repository.clear();
-        Resource[] xmlResources;
-        try
-        {
-            xmlResources = appCont.getResources( "/**/" + key + "/**/main.js" );
-            for ( Resource rc : xmlResources )
-            {
-                String tmp = rc.getURL().toString();
-                tmp = tmp.substring( tmp.lastIndexOf( key ) + key.length() + 1, tmp.length() - 8 );
-                repository.add( "archiva/admin/" + key + "/" + tmp + "/main" );
-            }
-        }
-        catch ( IOException e )
-        {
-            throw new ArchivaRestServiceException( e.getMessage(), e );
-        }
-    }
 
-    @Override
-    public String getAdminPlugins()
-        throws ArchivaRestServiceException
-    {
         // rebuild
         feed( repositoryType, "repository" );
         feed( adminFeatures, "features" );
@@ -97,12 +73,35 @@ public class DefaultPluginsServices
         log.debug( "getAdminPlugins: {}", sb.toString() );
         if ( sb.length() > 1 )
         {
-            return sb.substring( 0, sb.length() - 1 );
+            adminPlugins = sb.substring( 0, sb.length() - 1 );
         }
         else
         {
-            return sb.toString();
+            adminPlugins = sb.toString();
+        }
+    }
+
+    private void feed( List<String> repository, String key )
+        throws IOException
+    {
+        log.info( "Feeding: {}", key );
+        repository.clear();
+        Resource[] xmlResources;
+
+        xmlResources = appCont.getResources( "/**/" + key + "/**/main.js" );
+        for ( Resource rc : xmlResources )
+        {
+            String tmp = rc.getURL().toString();
+            tmp = tmp.substring( tmp.lastIndexOf( key ) + key.length() + 1, tmp.length() - 8 );
+            repository.add( "archiva/admin/" + key + "/" + tmp + "/main" );
         }
 
     }
+
+    @Override
+    public String getAdminPlugins()
+        throws ArchivaRestServiceException
+    {
+        return  adminPlugins;
+    }
 }