git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1425372 13f79535-47bb-0310-9956-ffa450edef68tags/archiva-1.4-M4
@@ -1494,18 +1494,12 @@ | |||
<defaultValue>true</defaultValue> | |||
</field> | |||
<field> | |||
<name>usersCacheTimeToIdleSeconds</name> | |||
<description>TimeToIdleSeconds for users cache</description> | |||
<name>usersCacheConfiguration</name> | |||
<description>the users cache configuration</description> | |||
<version>1.4.0+</version> | |||
<type>int</type> | |||
<defaultValue>14400</defaultValue> | |||
</field> | |||
<field> | |||
<name>usersCacheTimeToLiveSeconds</name> | |||
<description>TimeToLiveSeconds for users cache</description> | |||
<version>1.4.0+</version> | |||
<type>int</type> | |||
<defaultValue>14400</defaultValue> | |||
<association> | |||
<type>CacheConfiguration</type> | |||
</association> | |||
</field> | |||
</fields> | |||
</class> | |||
@@ -1584,6 +1578,29 @@ | |||
</fields> | |||
</class> | |||
<class> | |||
<name>CacheConfiguration</name> | |||
<version>1.4.0+</version> | |||
<description>Cache configuration.</description> | |||
<fields> | |||
<field> | |||
<name>timeToIdleSeconds</name> | |||
<description>TimeToIdleSeconds</description> | |||
<version>1.4.0+</version> | |||
<type>int</type> | |||
<defaultValue>-1</defaultValue> | |||
</field> | |||
<field> | |||
<name>timeToLiveSeconds</name> | |||
<description>TimeToLiveSeconds</description> | |||
<version>1.4.0+</version> | |||
<type>int</type> | |||
<defaultValue>-1</defaultValue> | |||
</field> | |||
</fields> | |||
</class> | |||
</classes> | |||
</model> | |||
@@ -59,15 +59,7 @@ public class RedbackRuntimeConfiguration | |||
*/ | |||
private boolean useUsersCache = false; | |||
/** | |||
* TimeToIdleSeconds for users cache. | |||
*/ | |||
private int usersCacheTimeToIdleSeconds = 14400; | |||
/** | |||
* TimeToLiveSeconds for users cache. | |||
*/ | |||
private int usersCacheTimeToLiveSeconds = 14400; | |||
private CacheConfiguration usersCacheConfiguration; | |||
public RedbackRuntimeConfiguration() | |||
{ | |||
@@ -151,24 +143,14 @@ public class RedbackRuntimeConfiguration | |||
this.useUsersCache = useUsersCache; | |||
} | |||
public int getUsersCacheTimeToIdleSeconds() | |||
{ | |||
return usersCacheTimeToIdleSeconds; | |||
} | |||
public void setUsersCacheTimeToIdleSeconds( int usersCacheTimeToIdleSeconds ) | |||
{ | |||
this.usersCacheTimeToIdleSeconds = usersCacheTimeToIdleSeconds; | |||
} | |||
public int getUsersCacheTimeToLiveSeconds() | |||
public CacheConfiguration getUsersCacheConfiguration() | |||
{ | |||
return usersCacheTimeToLiveSeconds; | |||
return usersCacheConfiguration; | |||
} | |||
public void setUsersCacheTimeToLiveSeconds( int usersCacheTimeToLiveSeconds ) | |||
public void setUsersCacheConfiguration( CacheConfiguration usersCacheConfiguration ) | |||
{ | |||
this.usersCacheTimeToLiveSeconds = usersCacheTimeToLiveSeconds; | |||
this.usersCacheConfiguration = usersCacheConfiguration; | |||
} | |||
@Override | |||
@@ -182,8 +164,7 @@ public class RedbackRuntimeConfiguration | |||
sb.append( ", configurationProperties=" ).append( configurationProperties ); | |||
sb.append( ", configurationPropertiesEntries=" ).append( configurationPropertiesEntries ); | |||
sb.append( ", useUsersCache=" ).append( useUsersCache ); | |||
sb.append( ", usersCacheTimeToIdleSeconds=" ).append( usersCacheTimeToIdleSeconds ); | |||
sb.append( ", usersCacheTimeToLiveSeconds=" ).append( usersCacheTimeToLiveSeconds ); | |||
sb.append( ", usersCacheConfiguration=" ).append( usersCacheConfiguration ); | |||
sb.append( '}' ); | |||
return sb.toString(); | |||
} |
@@ -19,6 +19,7 @@ package org.apache.archiva.rest.services; | |||
*/ | |||
import org.apache.archiva.admin.model.RepositoryAdminException; | |||
import org.apache.archiva.admin.model.beans.CacheConfiguration; | |||
import org.apache.archiva.admin.model.beans.RedbackRuntimeConfiguration; | |||
import org.apache.archiva.admin.model.beans.LdapConfiguration; | |||
import org.apache.archiva.admin.model.runtime.RedbackRuntimeConfigurationAdmin; | |||
@@ -54,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 | |||
@@ -63,14 +64,14 @@ public class DefaultRedbackRuntimeConfigurationService | |||
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 | |||
@@ -83,8 +84,31 @@ public class DefaultRedbackRuntimeConfigurationService | |||
{ | |||
RedbackRuntimeConfiguration redbackRuntimeConfiguration = | |||
redbackRuntimeConfigurationAdmin.getRedbackRuntimeConfiguration(); | |||
usersCache.setTimeToIdleSeconds( redbackRuntimeConfiguration.getUsersCacheTimeToIdleSeconds() ); | |||
usersCache.setTimeToLiveSeconds( redbackRuntimeConfiguration.getUsersCacheTimeToLiveSeconds() ); | |||
// NPE free | |||
if ( redbackRuntimeConfiguration.getUsersCacheConfiguration() == null ) | |||
{ | |||
redbackRuntimeConfiguration.setUsersCacheConfiguration( new CacheConfiguration() ); | |||
} | |||
// if -1 it means non initialized to take values from the spring bean | |||
if ( redbackRuntimeConfiguration.getUsersCacheConfiguration().getTimeToIdleSeconds() < 0 ) | |||
{ | |||
redbackRuntimeConfiguration.getUsersCacheConfiguration().setTimeToIdleSeconds( | |||
usersCache.getTimeToIdleSeconds() ); | |||
} | |||
usersCache.setTimeToIdleSeconds( | |||
redbackRuntimeConfiguration.getUsersCacheConfiguration().getTimeToIdleSeconds() ); | |||
if ( redbackRuntimeConfiguration.getUsersCacheConfiguration().getTimeToLiveSeconds() < 0 ) | |||
{ | |||
redbackRuntimeConfiguration.getUsersCacheConfiguration().setTimeToLiveSeconds( | |||
usersCache.getTimeToLiveSeconds() ); | |||
} | |||
usersCache.setTimeToLiveSeconds( | |||
redbackRuntimeConfiguration.getUsersCacheConfiguration().getTimeToLiveSeconds() ); | |||
} | |||
public RedbackRuntimeConfiguration getRedbackRuntimeConfiguration() | |||
@@ -148,8 +172,10 @@ public class DefaultRedbackRuntimeConfigurationService | |||
} | |||
// users cache | |||
usersCache.setTimeToIdleSeconds( redbackRuntimeConfiguration.getUsersCacheTimeToIdleSeconds() ); | |||
usersCache.setTimeToLiveSeconds( redbackRuntimeConfiguration.getUsersCacheTimeToLiveSeconds() ); | |||
usersCache.setTimeToIdleSeconds( | |||
redbackRuntimeConfiguration.getUsersCacheConfiguration().getTimeToIdleSeconds() ); | |||
usersCache.setTimeToLiveSeconds( | |||
redbackRuntimeConfiguration.getUsersCacheConfiguration().getTimeToLiveSeconds() ); | |||
return Boolean.TRUE; | |||
} |