You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ol...@apache.org on 2013/12/13 05:47:10 UTC
svn commit: r1550639 - in /archiva/trunk/archiva-modules:
archiva-base/archiva-configuration/src/main/mdo/
archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/beans/
archiva-base/archiva-repos...
Author: olamy
Date: Fri Dec 13 04:47:10 2013
New Revision: 1550639
URL: http://svn.apache.org/r1550639
Log:
file lock manager must be configurable
Added:
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/beans/FileLockConfiguration.java (with props)
Modified:
archiva/trunk/archiva-modules/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/beans/ArchivaRuntimeConfiguration.java
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/runtime/DefaultArchivaRuntimeConfigurationAdmin.java
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultArchivaRuntimeConfigurationService.java
Modified: archiva/trunk/archiva-modules/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo?rev=1550639&r1=1550638&r2=1550639&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo Fri Dec 13 04:47:10 2013
@@ -1485,6 +1485,14 @@
<type>CacheConfiguration</type>
</association>
</field>
+ <field>
+ <name>fileLockConfiguration</name>
+ <description>the FileLocking configuration</description>
+ <version>1.4.0+</version>
+ <association>
+ <type>FileLockConfiguration</type>
+ </association>
+ </field>
</fields>
</class>
@@ -1661,6 +1669,27 @@
</fields>
</class>
+ <class>
+ <name>FileLockConfiguration</name>
+ <version>1.4.0+</version>
+ <description>File Locking configuration.</description>
+ <fields>
+ <field>
+ <name>skipLocking</name>
+ <description>skipping the locking mechanism</description>
+ <version>1.4.0+</version>
+ <type>boolean</type>
+ <defaultValue>true</defaultValue>
+ </field>
+ <field>
+ <name>lockingTimeout</name>
+ <description>maximum time to wait to get the file lock (0 infinite)</description>
+ <version>1.4.0+</version>
+ <type>int</type>
+ <defaultValue>0</defaultValue>
+ </field>
+ </fields>
+ </class>
<class>
<name>CacheConfiguration</name>
Modified: archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/beans/ArchivaRuntimeConfiguration.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/ArchivaRuntimeConfiguration.java?rev=1550639&r1=1550638&r2=1550639&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/beans/ArchivaRuntimeConfiguration.java (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/beans/ArchivaRuntimeConfiguration.java Fri Dec 13 04:47:10 2013
@@ -24,11 +24,16 @@ import javax.xml.bind.annotation.XmlRoot
* @author Olivier Lamy
* @since 1.4-M4
*/
-@XmlRootElement( name = "archivaRuntimeConfiguration" )
+@XmlRootElement(name = "archivaRuntimeConfiguration")
public class ArchivaRuntimeConfiguration
{
private CacheConfiguration urlFailureCacheConfiguration;
+ /**
+ * @since 2.0.0
+ */
+ private FileLockConfiguration fileLockConfiguration;
+
public ArchivaRuntimeConfiguration()
{
// no op
@@ -44,13 +49,24 @@ public class ArchivaRuntimeConfiguration
this.urlFailureCacheConfiguration = urlFailureCacheConfiguration;
}
+ public FileLockConfiguration getFileLockConfiguration()
+ {
+ return fileLockConfiguration;
+ }
+
+ public void setFileLockConfiguration( FileLockConfiguration fileLockConfiguration )
+ {
+ this.fileLockConfiguration = fileLockConfiguration;
+ }
+
@Override
public String toString()
{
- final StringBuilder sb = new StringBuilder();
- sb.append( "ArchivaRuntimeConfiguration" );
- sb.append( "{urlFailureCacheConfiguration=" ).append( urlFailureCacheConfiguration );
+ final StringBuilder sb = new StringBuilder( "ArchivaRuntimeConfiguration{" );
+ sb.append( "urlFailureCacheConfiguration=" ).append( urlFailureCacheConfiguration );
+ sb.append( ", fileLockConfiguration=" ).append( fileLockConfiguration );
sb.append( '}' );
return sb.toString();
}
+
}
Added: archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/beans/FileLockConfiguration.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/FileLockConfiguration.java?rev=1550639&view=auto
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/beans/FileLockConfiguration.java (added)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/beans/FileLockConfiguration.java Fri Dec 13 04:47:10 2013
@@ -0,0 +1,72 @@
+// =================== DO NOT EDIT THIS FILE ====================
+// Generated by Modello 1.7,
+// any modifications will be overwritten.
+// ==============================================================
+
+package org.apache.archiva.admin.model.beans;
+
+import javax.xml.bind.annotation.XmlRootElement;
+import java.io.Serializable;
+
+/**
+ * File Locking configuration.
+ *
+ * @since 2.0.0
+ */
+@XmlRootElement( name = "fileLockConfiguration" )
+public class FileLockConfiguration
+ implements Serializable
+{
+
+ /**
+ * skipping the locking mechanism.
+ */
+ private boolean skipLocking = true;
+
+ /**
+ * maximum time to wait to get the file lock (0 infinite).
+ */
+ private int lockingTimeout = 0;
+
+
+ /**
+ * Get maximum time to wait to get the file lock (0 infinite).
+ *
+ * @return int
+ */
+ public int getLockingTimeout()
+ {
+ return this.lockingTimeout;
+ }
+
+ /**
+ * Get skipping the locking mechanism.
+ *
+ * @return boolean
+ */
+ public boolean isSkipLocking()
+ {
+ return this.skipLocking;
+ }
+
+ /**
+ * Set maximum time to wait to get the file lock (0 infinite).
+ *
+ * @param lockingTimeout
+ */
+ public void setLockingTimeout( int lockingTimeout )
+ {
+ this.lockingTimeout = lockingTimeout;
+ }
+
+ /**
+ * Set skipping the locking mechanism.
+ *
+ * @param skipLocking
+ */
+ public void setSkipLocking( boolean skipLocking )
+ {
+ this.skipLocking = skipLocking;
+ }
+
+}
Propchange: archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/beans/FileLockConfiguration.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/FileLockConfiguration.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/DefaultArchivaRuntimeConfigurationAdmin.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/DefaultArchivaRuntimeConfigurationAdmin.java?rev=1550639&r1=1550638&r2=1550639&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/runtime/DefaultArchivaRuntimeConfigurationAdmin.java (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/runtime/DefaultArchivaRuntimeConfigurationAdmin.java Fri Dec 13 04:47:10 2013
@@ -22,6 +22,7 @@ import net.sf.beanlib.provider.replicato
import org.apache.archiva.admin.model.RepositoryAdminException;
import org.apache.archiva.admin.model.beans.ArchivaRuntimeConfiguration;
import org.apache.archiva.admin.model.beans.CacheConfiguration;
+import org.apache.archiva.admin.model.beans.FileLockConfiguration;
import org.apache.archiva.admin.model.runtime.ArchivaRuntimeConfigurationAdmin;
import org.apache.archiva.configuration.ArchivaConfiguration;
import org.apache.archiva.configuration.Configuration;
@@ -38,7 +39,7 @@ import javax.inject.Named;
* @author Olivier Lamy
* @since 1.4-M4
*/
-@Service("archivaRuntimeConfigurationAdmin#default")
+@Service( "archivaRuntimeConfigurationAdmin#default" )
public class DefaultArchivaRuntimeConfigurationAdmin
implements ArchivaRuntimeConfigurationAdmin
{
@@ -59,6 +60,12 @@ public class DefaultArchivaRuntimeConfig
boolean save = false;
// NPE free
+ if ( archivaRuntimeConfiguration.getFileLockConfiguration() == null )
+ {
+ archivaRuntimeConfiguration.setFileLockConfiguration( new FileLockConfiguration() );
+ }
+
+ // NPE free
if ( archivaRuntimeConfiguration.getUrlFailureCacheConfiguration() == null )
{
archivaRuntimeConfiguration.setUrlFailureCacheConfiguration( new CacheConfiguration() );
@@ -179,6 +186,13 @@ public class DefaultArchivaRuntimeConfig
}
+ if ( archivaRuntimeConfiguration.getFileLockConfiguration() != null )
+ {
+ res.setFileLockConfiguration(
+ new BeanReplicator().replicateBean( archivaRuntimeConfiguration.getFileLockConfiguration(),
+ org.apache.archiva.configuration.FileLockConfiguration.class ) );
+ }
+
return res;
}
}
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultArchivaRuntimeConfigurationService.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/DefaultArchivaRuntimeConfigurationService.java?rev=1550639&r1=1550638&r2=1550639&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultArchivaRuntimeConfigurationService.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultArchivaRuntimeConfigurationService.java Fri Dec 13 04:47:10 2013
@@ -21,7 +21,9 @@ package org.apache.archiva.rest.services
import org.apache.archiva.admin.model.RepositoryAdminException;
import org.apache.archiva.admin.model.beans.ArchivaRuntimeConfiguration;
import org.apache.archiva.admin.model.beans.CacheConfiguration;
+import org.apache.archiva.admin.model.beans.FileLockConfiguration;
import org.apache.archiva.admin.model.runtime.ArchivaRuntimeConfigurationAdmin;
+import org.apache.archiva.common.filelock.FileLockManager;
import org.apache.archiva.redback.components.cache.Cache;
import org.apache.archiva.rest.api.services.ArchivaRestServiceException;
import org.apache.archiva.rest.api.services.ArchivaRuntimeConfigurationService;
@@ -46,6 +48,10 @@ public class DefaultArchivaRuntimeConfig
@Named( value = "cache#url-failures-cache" )
private Cache usersCache;
+ @Inject
+ @Named( value = "fileLockManager#default" )
+ private FileLockManager fileLockManager;
+
public ArchivaRuntimeConfiguration getArchivaRuntimeConfiguration()
throws ArchivaRestServiceException
{
@@ -73,6 +79,15 @@ public class DefaultArchivaRuntimeConfig
usersCache.setMaxElementsOnDisk( cacheConfiguration.getMaxElementsOnDisk() );
usersCache.setMaxElementsInMemory( cacheConfiguration.getMaxElementsInMemory() );
}
+
+ FileLockConfiguration fileLockConfiguration = archivaRuntimeConfiguration.getFileLockConfiguration();
+ if ( fileLockConfiguration != null )
+ {
+ fileLockManager.setTimeout( fileLockConfiguration.getLockingTimeout() );
+ fileLockConfiguration.setSkipLocking( fileLockConfiguration.isSkipLocking() );
+ }
+
+
}
catch ( RepositoryAdminException e )
{