Author: olamy
Date: Sat Dec 22 23:44:08 2012
New Revision: 1425373
URL: http://svn.apache.org/viewvc?rev=1425373&view=rev
Log:
fix bean mapping and init of ttl values from spring bean
Added:
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/beans/CacheConfiguration.java
(with props)
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
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultRedbackRuntimeConfigurationService.java
Added:
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=1425373&view=auto
==============================================================================
---
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/beans/CacheConfiguration.java
(added)
+++
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/beans/CacheConfiguration.java
Sat Dec 22 23:44:08 2012
@@ -0,0 +1,77 @@
+package org.apache.archiva.admin.model.beans;
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import javax.xml.bind.annotation.XmlRootElement;
+import java.io.Serializable;
+
+/**
+ * @author Olivier Lamy
+ * @since 1.4-M4
+ */
+@XmlRootElement( name = "cacheConfiguration" )
+public class CacheConfiguration
+ implements Serializable
+{
+ /**
+ * TimeToIdleSeconds.
+ */
+ private int timeToIdleSeconds = -1;
+
+ /**
+ * TimeToLiveSeconds.
+ */
+ private int timeToLiveSeconds = -1;
+
+ public CacheConfiguration()
+ {
+ // no op
+ }
+
+ public int getTimeToIdleSeconds()
+ {
+ return timeToIdleSeconds;
+ }
+
+ public void setTimeToIdleSeconds( int timeToIdleSeconds )
+ {
+ this.timeToIdleSeconds = timeToIdleSeconds;
+ }
+
+ public int getTimeToLiveSeconds()
+ {
+ return timeToLiveSeconds;
+ }
+
+ public void setTimeToLiveSeconds( int timeToLiveSeconds )
+ {
+ this.timeToLiveSeconds = timeToLiveSeconds;
+ }
+
+ @Override
+ public String toString()
+ {
+ final StringBuilder sb = new StringBuilder();
+ sb.append( "CacheConfiguration" );
+ sb.append( "{timeToIdleSeconds=" ).append( timeToIdleSeconds );
+ sb.append( ", timeToLiveSeconds=" ).append( timeToLiveSeconds );
+ sb.append( '}' );
+ return sb.toString();
+ }
+}
Propchange:
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/beans/CacheConfiguration.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/beans/CacheConfiguration.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
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=1425373&r1=1425372&r2=1425373&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
Sat Dec 22 23:44:08 2012
@@ -20,12 +20,14 @@ package org.apache.archiva.admin.reposit
import net.sf.beanlib.provider.replicator.BeanReplicator;
import org.apache.archiva.admin.model.RepositoryAdminException;
+import org.apache.archiva.admin.model.beans.CacheConfiguration;
import org.apache.archiva.admin.model.beans.LdapConfiguration;
import org.apache.archiva.admin.model.beans.RedbackRuntimeConfiguration;
import org.apache.archiva.admin.model.runtime.RedbackRuntimeConfigurationAdmin;
import org.apache.archiva.configuration.ArchivaConfiguration;
import org.apache.archiva.configuration.Configuration;
import org.apache.archiva.configuration.IndeterminateConfigurationException;
+import org.apache.archiva.redback.components.cache.Cache;
import org.apache.archiva.redback.components.registry.RegistryException;
import org.apache.archiva.redback.configuration.UserConfiguration;
import org.apache.archiva.redback.configuration.UserConfigurationException;
@@ -58,6 +60,10 @@ public class DefaultRedbackRuntimeConfig
@Named( value = "userConfiguration#redback" )
UserConfiguration userConfiguration;
+ @Inject
+ @Named( value = "cache#users" )
+ private Cache usersCache;
+
@PostConstruct
public void initialize()
throws UserConfigurationException
@@ -104,7 +110,6 @@ public class DefaultRedbackRuntimeConfig
updateRedbackRuntimeConfiguration( redbackRuntimeConfiguration
);
}
-
// we must ensure userManagerImpls list is not empty if so put at
least jdo one !
if ( redbackRuntimeConfiguration.getUserManagerImpls().isEmpty() )
{
@@ -114,6 +119,39 @@ public class DefaultRedbackRuntimeConfig
updateRedbackRuntimeConfiguration( redbackRuntimeConfiguration
);
}
+ boolean save = false;
+
+ // 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() );
+ save = true;
+
+ }
+ usersCache.setTimeToIdleSeconds(
+
redbackRuntimeConfiguration.getUsersCacheConfiguration().getTimeToIdleSeconds()
);
+
+ if (
redbackRuntimeConfiguration.getUsersCacheConfiguration().getTimeToLiveSeconds()
< 0 )
+ {
+
redbackRuntimeConfiguration.getUsersCacheConfiguration().setTimeToLiveSeconds(
+ usersCache.getTimeToLiveSeconds() );
+ save = true;
+
+ }
+ usersCache.setTimeToLiveSeconds(
+
redbackRuntimeConfiguration.getUsersCacheConfiguration().getTimeToLiveSeconds()
);
+
+ if ( save )
+ {
+ updateRedbackRuntimeConfiguration( redbackRuntimeConfiguration
);
+ }
+
}
catch ( RepositoryAdminException e )
{
@@ -129,8 +167,8 @@ public class DefaultRedbackRuntimeConfig
public void updateRedbackRuntimeConfiguration( RedbackRuntimeConfiguration
redbackRuntimeConfiguration )
throws RepositoryAdminException
{
- org.apache.archiva.configuration.RedbackRuntimeConfiguration
- runtimeConfiguration = build( redbackRuntimeConfiguration );
+ org.apache.archiva.configuration.RedbackRuntimeConfiguration
runtimeConfiguration =
+ build( redbackRuntimeConfiguration );
Configuration configuration = archivaConfiguration.getConfiguration();
configuration.setRedbackRuntimeConfiguration( runtimeConfiguration );
try
@@ -147,7 +185,8 @@ public class DefaultRedbackRuntimeConfig
}
}
- private RedbackRuntimeConfiguration build(
org.apache.archiva.configuration.RedbackRuntimeConfiguration
runtimeConfiguration )
+ private RedbackRuntimeConfiguration build(
+ org.apache.archiva.configuration.RedbackRuntimeConfiguration
runtimeConfiguration )
{
RedbackRuntimeConfiguration redbackRuntimeConfiguration =
new BeanReplicator().replicateBean( runtimeConfiguration,
RedbackRuntimeConfiguration.class );
@@ -159,24 +198,42 @@ public class DefaultRedbackRuntimeConfig
LdapConfiguration.class )
);
}
+ if ( runtimeConfiguration.getUsersCacheConfiguration() != null )
+ {
+ redbackRuntimeConfiguration.setUsersCacheConfiguration(
+ new BeanReplicator().replicateBean(
runtimeConfiguration.getUsersCacheConfiguration(),
+ CacheConfiguration.class )
);
+ }
+
if ( redbackRuntimeConfiguration.getLdapConfiguration() == null )
{
// prevent NPE
redbackRuntimeConfiguration.setLdapConfiguration( new
LdapConfiguration() );
}
+ if ( redbackRuntimeConfiguration.getUsersCacheConfiguration() == null )
+ {
+ redbackRuntimeConfiguration.setUsersCacheConfiguration( new
CacheConfiguration() );
+ }
+
return redbackRuntimeConfiguration;
}
- private org.apache.archiva.configuration.RedbackRuntimeConfiguration
build( RedbackRuntimeConfiguration archivaRuntimeConfiguration )
+ private org.apache.archiva.configuration.RedbackRuntimeConfiguration build(
+ RedbackRuntimeConfiguration archivaRuntimeConfiguration )
{
org.apache.archiva.configuration.RedbackRuntimeConfiguration
redbackRuntimeConfiguration =
- new BeanReplicator().replicateBean( archivaRuntimeConfiguration,
org.apache.archiva.configuration.RedbackRuntimeConfiguration.class );
+ new BeanReplicator().replicateBean( archivaRuntimeConfiguration,
+
org.apache.archiva.configuration.RedbackRuntimeConfiguration.class );
redbackRuntimeConfiguration.setLdapConfiguration(
new BeanReplicator().replicateBean(
archivaRuntimeConfiguration.getLdapConfiguration(),
org.apache.archiva.configuration.LdapConfiguration.class ) );
+ redbackRuntimeConfiguration.setUsersCacheConfiguration(
+ new BeanReplicator().replicateBean(
archivaRuntimeConfiguration.getUsersCacheConfiguration(),
+
org.apache.archiva.configuration.CacheConfiguration.class ) );
+
return 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=1425373&r1=1425372&r2=1425373&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
Sat Dec 22 23:44:08 2012
@@ -78,38 +78,6 @@ public class DefaultRedbackRuntimeConfig
@Named( value = "cache#users" )
private Cache usersCache;
- @PostConstruct
- public void initialize()
- throws RepositoryAdminException
- {
- RedbackRuntimeConfiguration redbackRuntimeConfiguration =
- redbackRuntimeConfigurationAdmin.getRedbackRuntimeConfiguration();
-
- // 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()
throws ArchivaRestServiceException