Author: olamy
Date: Thu Dec 27 22:04:22 2012
New Revision: 1426342

URL: http://svn.apache.org/viewvc?rev=1426342&view=rev
Log:
configure maxElementsInMemory and maxElementsOnDisk

Modified:
    
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/beans/CacheConfiguration.java
    
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/runtime/DefaultRedbackRuntimeConfigurationAdmin.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-web-common/src/main/resources/org/apache/archiva/i18n/default.properties
    
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/general-admin.js
    
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/templates/archiva/general-admin.html

Modified: 
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/beans/CacheConfiguration.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/beans/CacheConfiguration.java?rev=1426342&r1=1426341&r2=1426342&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/beans/CacheConfiguration.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/beans/CacheConfiguration.java
 Thu Dec 27 22:04:22 2012
@@ -39,6 +39,16 @@ public class CacheConfiguration
      */
     private int timeToLiveSeconds = -1;
 
+    /**
+     * max elements in memory.
+     */
+    private int maxElementsInMemory = -1;
+
+    /**
+     * max elements on disk.
+     */
+    private int maxElementsOnDisk = -1;
+
     public CacheConfiguration()
     {
         // no op
@@ -64,6 +74,26 @@ public class CacheConfiguration
         this.timeToLiveSeconds = timeToLiveSeconds;
     }
 
+    public int getMaxElementsInMemory()
+    {
+        return maxElementsInMemory;
+    }
+
+    public void setMaxElementsInMemory( int maxElementsInMemory )
+    {
+        this.maxElementsInMemory = maxElementsInMemory;
+    }
+
+    public int getMaxElementsOnDisk()
+    {
+        return maxElementsOnDisk;
+    }
+
+    public void setMaxElementsOnDisk( int maxElementsOnDisk )
+    {
+        this.maxElementsOnDisk = maxElementsOnDisk;
+    }
+
     @Override
     public String toString()
     {
@@ -71,6 +101,8 @@ public class CacheConfiguration
         sb.append( "CacheConfiguration" );
         sb.append( "{timeToIdleSeconds=" ).append( timeToIdleSeconds );
         sb.append( ", timeToLiveSeconds=" ).append( timeToLiveSeconds );
+        sb.append( ", maxElementsInMemory=" ).append( maxElementsInMemory );
+        sb.append( ", maxElementsOnDisk=" ).append( maxElementsOnDisk );
         sb.append( '}' );
         return sb.toString();
     }

Modified: 
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/runtime/DefaultRedbackRuntimeConfigurationAdmin.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/runtime/DefaultRedbackRuntimeConfigurationAdmin.java?rev=1426342&r1=1426341&r2=1426342&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/runtime/DefaultRedbackRuntimeConfigurationAdmin.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/runtime/DefaultRedbackRuntimeConfigurationAdmin.java
 Thu Dec 27 22:04:22 2012
@@ -147,6 +147,24 @@ public class DefaultRedbackRuntimeConfig
             usersCache.setTimeToLiveSeconds(
                 
redbackRuntimeConfiguration.getUsersCacheConfiguration().getTimeToLiveSeconds() 
);
 
+            if ( 
redbackRuntimeConfiguration.getUsersCacheConfiguration().getMaxElementsInMemory()
 < 0 )
+            {
+                
redbackRuntimeConfiguration.getUsersCacheConfiguration().setMaxElementsInMemory(
+                    usersCache.getMaxElementsInMemory() );
+                save = true;
+            }
+            usersCache.setMaxElementsInMemory(
+                
redbackRuntimeConfiguration.getUsersCacheConfiguration().getMaxElementsInMemory()
 );
+
+            if ( 
redbackRuntimeConfiguration.getUsersCacheConfiguration().getMaxElementsOnDisk() 
< 0 )
+            {
+                
redbackRuntimeConfiguration.getUsersCacheConfiguration().setMaxElementsOnDisk(
+                    usersCache.getMaxElementsOnDisk() );
+                save = true;
+            }
+            usersCache.setMaxElementsOnDisk(
+                
redbackRuntimeConfiguration.getUsersCacheConfiguration().getMaxElementsOnDisk() 
);
+
             if ( save )
             {
                 updateRedbackRuntimeConfiguration( redbackRuntimeConfiguration 
);

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=1426342&r1=1426341&r2=1426342&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 27 22:04:22 2012
@@ -55,7 +55,7 @@ import java.util.Properties;
  * @author Olivier Lamy
  * @since 1.4-M4
  */
-@Service( "archivaRuntimeConfigurationService#rest" )
+@Service("archivaRuntimeConfigurationService#rest")
 public class DefaultRedbackRuntimeConfigurationService
     extends AbstractRestService
     implements RedbackRuntimeConfigurationService
@@ -64,18 +64,18 @@ public class DefaultRedbackRuntimeConfig
     private RedbackRuntimeConfigurationAdmin redbackRuntimeConfigurationAdmin;
 
     @Inject
-    @Named( value = "userManager#configurable" )
+    @Named(value = "userManager#configurable")
     private UserManager userManager;
 
     @Inject
     private ApplicationContext applicationContext;
 
     @Inject
-    @Named( value = "ldapConnectionFactory#configurable" )
+    @Named(value = "ldapConnectionFactory#configurable")
     private LdapConnectionFactory ldapConnectionFactory;
 
     @Inject
-    @Named( value = "cache#users" )
+    @Named(value = "cache#users")
     private Cache usersCache;
 
 
@@ -144,6 +144,10 @@ public class DefaultRedbackRuntimeConfig
                 
redbackRuntimeConfiguration.getUsersCacheConfiguration().getTimeToIdleSeconds() 
);
             usersCache.setTimeToLiveSeconds(
                 
redbackRuntimeConfiguration.getUsersCacheConfiguration().getTimeToLiveSeconds() 
);
+            usersCache.setMaxElementsInMemory(
+                
redbackRuntimeConfiguration.getUsersCacheConfiguration().getMaxElementsInMemory()
 );
+            usersCache.setMaxElementsOnDisk(
+                
redbackRuntimeConfiguration.getUsersCacheConfiguration().getMaxElementsOnDisk() 
);
 
             return Boolean.TRUE;
         }

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/resources/org/apache/archiva/i18n/default.properties
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/resources/org/apache/archiva/i18n/default.properties?rev=1426342&r1=1426341&r2=1426342&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/resources/org/apache/archiva/i18n/default.properties
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/resources/org/apache/archiva/i18n/default.properties
 Thu Dec 27 22:04:22 2012
@@ -639,5 +639,7 @@ redback.runtime.usersCacheTimeToLiveSeco
 redback.runtime.usersCacheTimeToIdleSeconds.label=Time to Idle (seconds)
 redback.runtime.usersCacheTimeToIdleSeconds.help.title=
 redback.runtime.usersCacheTimeToIdleSeconds.help.content=
+redback.runtime.maxElementsInMemory.label=Max Elements in memory
+redback.runtime.maxElementsOnDisk.label=Max Elements on disk
 
 

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/general-admin.js
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/general-admin.js?rev=1426342&r1=1426341&r2=1426342&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/general-admin.js
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/general-admin.js
 Thu Dec 27 22:04:22 2012
@@ -1504,6 +1504,16 @@ define("archiva.general-admin",["jquery"
           digits: true,
           min: 1,
           required: true
+        },
+        maxElementsInMemory : {
+          digits: true,
+          min: 1,
+          required: true
+        },
+        maxElementsOnDisk : {
+          digits: true,
+          min: 1,
+          required: true
         }
       },
       showErrors: function(validator, errorMap, errorList) {
@@ -1563,7 +1573,7 @@ define("archiva.general-admin",["jquery"
 
   }
 
-  CacheConfiguration=function(timeToIdleSeconds,timeToLiveSeconds){
+  
CacheConfiguration=function(timeToIdleSeconds,timeToLiveSeconds,maxElementsInMemory,maxElementsOnDisk){
     var self=this;
     this.modified=ko.observable(false);
 
@@ -1573,13 +1583,19 @@ define("archiva.general-admin",["jquery"
     this.timeToLiveSeconds=ko.observable(timeToLiveSeconds);
     this.timeToLiveSeconds.subscribe(function(newValue){self.modified(true)});
 
+    this.maxElementsInMemory=ko.observable(maxElementsInMemory);
+    
this.maxElementsInMemory.subscribe(function(newValue){self.modified(true)});
+
+    this.maxElementsOnDisk=ko.observable(maxElementsOnDisk);
+    this.maxElementsOnDisk.subscribe(function(newValue){self.modified(true)});
+
   }
 
   mapCacheConfiguration=function(data){
     if(!data){
       return new CacheConfiguration();
     }
-    return new 
CacheConfiguration(data.timeToIdleSeconds,data.timeToLiveSeconds);
+    return new 
CacheConfiguration(data.timeToIdleSeconds,data.timeToLiveSeconds,data.maxElementsInMemory,data.maxElementsOnDisk);
   }
 
 });
\ No newline at end of file

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/templates/archiva/general-admin.html
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/templates/archiva/general-admin.html?rev=1426342&r1=1426341&r2=1426342&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/templates/archiva/general-admin.html
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/templates/archiva/general-admin.html
 Thu Dec 27 22:04:22 2012
@@ -1054,6 +1054,22 @@
               </div>
             </div>
 
+            <div class="control-group">
+              <label class="control-label" 
for="maxElementsInMemory">${$.i18n.prop('redback.runtime.maxElementsInMemory.label')}</label>
+              <div class="controls">
+                <input type="text" class="xlarge required numeric" 
data-bind="value: 
redbackRuntimeConfiguration().usersCacheConfiguration().maxElementsInMemory"
+                       id="maxElementsInMemory" name="maxElementsInMemory" />
+              </div>
+            </div>
+
+            <div class="control-group">
+              <label class="control-label" 
for="maxElementsOnDisk">${$.i18n.prop('redback.runtime.maxElementsOnDisk.label')}</label>
+              <div class="controls">
+                <input type="text" class="xlarge required numeric" 
data-bind="value: 
redbackRuntimeConfiguration().usersCacheConfiguration().maxElementsOnDisk"
+                       id="maxElementsOnDisk" name="maxElementsOnDisk" />
+              </div>
+            </div>
+
           </form>
 
 


Reply via email to