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>