<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>
</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>
*/
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()
{
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
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();
}
*/
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;
* @author Olivier Lamy
* @since 1.4-M4
*/
-@Service("archivaRuntimeConfigurationService#rest")
+@Service( "archivaRuntimeConfigurationService#rest" )
public class DefaultRedbackRuntimeConfigurationService
extends AbstractRestService
implements RedbackRuntimeConfigurationService
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
{
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()
}
// users cache
- usersCache.setTimeToIdleSeconds( redbackRuntimeConfiguration.getUsersCacheTimeToIdleSeconds() );
- usersCache.setTimeToLiveSeconds( redbackRuntimeConfiguration.getUsersCacheTimeToLiveSeconds() );
+ usersCache.setTimeToIdleSeconds(
+ redbackRuntimeConfiguration.getUsersCacheConfiguration().getTimeToIdleSeconds() );
+ usersCache.setTimeToLiveSeconds(
+ redbackRuntimeConfiguration.getUsersCacheConfiguration().getTimeToLiveSeconds() );
return Boolean.TRUE;
}