}
+ if ( archivaRuntimeConfiguration.getFileLockConfiguration() != null )
+ {
+ res.setFileLockConfiguration(
+ new BeanReplicator().replicateBean( archivaRuntimeConfiguration.getFileLockConfiguration(),
+ FileLockConfiguration.class ) );
+ }
+
return res;
}
}
private org.apache.archiva.configuration.RedbackRuntimeConfiguration build(
- RedbackRuntimeConfiguration archivaRuntimeConfiguration )
+ RedbackRuntimeConfiguration redbackRuntimeConfiguration )
{
- org.apache.archiva.configuration.RedbackRuntimeConfiguration redbackRuntimeConfiguration =
- new BeanReplicator().replicateBean( archivaRuntimeConfiguration,
+ org.apache.archiva.configuration.RedbackRuntimeConfiguration res =
+ new BeanReplicator().replicateBean( redbackRuntimeConfiguration,
org.apache.archiva.configuration.RedbackRuntimeConfiguration.class );
- if ( archivaRuntimeConfiguration.getLdapConfiguration() == null )
+ if ( redbackRuntimeConfiguration.getLdapConfiguration() == null )
{
- archivaRuntimeConfiguration.setLdapConfiguration( new LdapConfiguration() );
+ redbackRuntimeConfiguration.setLdapConfiguration( new LdapConfiguration() );
}
- redbackRuntimeConfiguration.setLdapConfiguration(
- new BeanReplicator().replicateBean( archivaRuntimeConfiguration.getLdapConfiguration(),
+ res.setLdapConfiguration(
+ new BeanReplicator().replicateBean( redbackRuntimeConfiguration.getLdapConfiguration(),
org.apache.archiva.configuration.LdapConfiguration.class ) );
- if ( archivaRuntimeConfiguration.getUsersCacheConfiguration() == null )
+ if ( redbackRuntimeConfiguration.getUsersCacheConfiguration() == null )
{
- archivaRuntimeConfiguration.setUsersCacheConfiguration( new CacheConfiguration() );
+ redbackRuntimeConfiguration.setUsersCacheConfiguration( new CacheConfiguration() );
}
- redbackRuntimeConfiguration.setUsersCacheConfiguration(
- new BeanReplicator().replicateBean( archivaRuntimeConfiguration.getUsersCacheConfiguration(),
+
+ res.setUsersCacheConfiguration(
+ new BeanReplicator().replicateBean( redbackRuntimeConfiguration.getUsersCacheConfiguration(),
org.apache.archiva.configuration.CacheConfiguration.class ) );
- List<LdapGroupMapping> ldapGroupMappings = archivaRuntimeConfiguration.getLdapGroupMappings();
+ List<LdapGroupMapping> ldapGroupMappings = redbackRuntimeConfiguration.getLdapGroupMappings();
if ( ldapGroupMappings != null && ldapGroupMappings.size() > 0 )
{
mappings.add( mapping );
}
- redbackRuntimeConfiguration.setLdapGroupMappings( mappings );
+ res.setLdapGroupMappings( mappings );
}
- return redbackRuntimeConfiguration;
+ return res;
}
// wrapper for UserConfiguration to intercept values (and store it not yet migrated)
runtime-configuration.cache.failure.title=Url Cache Failure
runtime-configuration.maven.network.title=Maven Network
+runtime-configuration.filelocking.title=FileLocking
+runtime.fileLockConfiguration.lockingTimeout.label=Lock Timeout
+runtime.fileLockConfiguration.skipLocking.label=Skip Locking
+
+
redback.runtime.ldap.mapping.group.label=LDAP Groups
redback.runtime.ldap.mapping.roles.label=Roles
redback-runtime-ldap-group-mapping.updated=LDAP Role-Group mapping updated.
var archivaRuntimeConfiguration=mapArchivaRuntimeConfiguration(data);
var archivaRuntimeConfigurationViewModel=new ArchivaRuntimeConfigurationViewModel(archivaRuntimeConfiguration);
ko.applyBindings(archivaRuntimeConfigurationViewModel,mainContent.find("#cache-failure-form").get(0));
- var validator = mainContent.find("#cache-failure-form-id")
+ ko.applyBindings(archivaRuntimeConfigurationViewModel,mainContent.find("#filelocking-form").get(0));
+ mainContent.find("#cache-failure-form-id")
.validate({
showErrors: function(validator, errorMap, errorList) {
customShowError(mainContent.find("#cache-failure-form-id" ),validator,errorMap,errorMap);
}
}
- ArchivaRuntimeConfiguration=function(cacheConfiguration){
+ FileLockConfiguration=function(skipLocking,lockingTimeout){
+ //private boolean skipLocking = true;
+ this.skipLocking=ko.observable(skipLocking);
+ //private int lockingTimeout = 0;
+ this.lockingTimeout=ko.observable(lockingTimeout) ;
+ }
+
+ ArchivaRuntimeConfiguration=function(cacheConfiguration,fileLockConfiguration){
this.urlFailureCacheConfiguration=ko.observable(cacheConfiguration);
+ this.fileLockConfiguration=ko.observable(fileLockConfiguration);
}
+ mapFileLockConfiguration=function(data){
+ if (!data){
+ return null;
+ }
+ return new FileLockConfiguration(data.skipLocking,data.lockingTimeout);
+ }
mapArchivaRuntimeConfiguration=function(data){
if(!data){
return null;
}
- return new ArchivaRuntimeConfiguration(data.urlFailureCacheConfiguration?mapCacheConfiguration(data.urlFailureCacheConfiguration):null);
+ return new ArchivaRuntimeConfiguration(data.urlFailureCacheConfiguration?mapCacheConfiguration(data.urlFailureCacheConfiguration):null,
+ data.fileLockConfiguration?mapFileLockConfiguration(data.fileLockConfiguration):null);
}
//---------------------------
// organisation/appearance configuration part
<ul class="nav nav-tabs">
<li class="active" id="network-configuration-form-li"><a href="#network-configuration-form-content" data-toggle="tab">${$.i18n.prop('runtime-configuration.maven.network.title')}</a></li>
<li id="cache-failure-form-li"><a href="#cache-failure-form-content" data-toggle="tab">${$.i18n.prop('runtime-configuration.cache.failure.title')}</a></li>
+ <li id="filelocking-form-li"><a href="#filelocking-form-content" data-toggle="tab">${$.i18n.prop('runtime-configuration.filelocking.title')}</a></li>
</ul>
<div class="tab-content">
<div id="network-configuration-form" data-bind='template: {name:"network-configuration-form-tmpl"}'></div>
</div>
<div class="tab-pane" id="cache-failure-form-content">
-
<div id="cache-failure-form" data-bind='template: {name:"cache-failure-form-tmpl"}'></div>
</div>
+ <div class="tab-pane" id="filelocking-form-content">
+ <div id="filelocking-form" data-bind='template: {name:"filelocking-form-tmpl"}'></div>
+ </div>
</div>
</script>
</div>
</div>
+
+
<button id="cache-failure-form-btn-save" data-loading-text="${$.i18n.prop('common.loading')}"
data-bind="click: save" class="btn">${$.i18n.prop('save')}</button>
</script>
+
+<script id="filelocking-form-tmpl" type="text/html">
+
+ <form class="well form-horizontal" id="filelocking-form-id">
+
+ <div class="control-group">
+ <label class="control-label" for="skipLocking">${$.i18n.prop('runtime.fileLockConfiguration.skipLocking.label')}</label>
+ <div class="controls">
+ <input type="checkbox" class="xlarge" data-bind="checked: archivaRuntimeConfiguration().fileLockConfiguration().skipLocking"
+ id="skipLocking" name="skipLocking" />
+ </div>
+ </div>
+
+ <div class="control-group">
+ <label class="control-label" for="lockingTimeout">${$.i18n.prop('runtime.fileLockConfiguration.lockingTimeout.label')}</label>
+ <div class="controls">
+ <input type="text" class="xlarge required digits" data-bind="value: archivaRuntimeConfiguration().fileLockConfiguration().lockingTimeout"
+ id="lockingTimeout" name="lockingTimeout" />
+ </div>
+ </div>
+
+ <button id="filelocking-form-btn-save" data-loading-text="${$.i18n.prop('common.loading')}"
+ data-bind="click: save" class="btn">${$.i18n.prop('save')}</button>
+
+ </form>
+
+</script>
+
+
<script id="system-status-main" type="text/html">
<div class="page-header">
<h4>${$.i18n.prop('system-status.header.version.info')}</h4>