Author: olamy
Date: Fri Dec 7 15:04:08 2012
New Revision: 1418347
URL: http://svn.apache.org/viewvc?rev=1418347&view=rev
Log:
fix bean mapping BeanReplicator does not replicate automatically object field
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
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/beans/LdapConfiguration.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-webapp-js/src/main/webapp/js/archiva/general-admin.js
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=1418347&r1=1418346&r2=1418347&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 7 15:04:08 2012
@@ -20,14 +20,16 @@ package org.apache.archiva.admin.model.b
import javax.xml.bind.annotation.XmlRootElement;
import java.io.Serializable;
+import java.util.ArrayList;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
/**
* @author Olivier Lamy
* @since 1.4-M4
*/
-@XmlRootElement(name = "redbackRuntimeConfiguration")
+@XmlRootElement( name = "redbackRuntimeConfiguration" )
public class ArchivaRuntimeConfiguration
implements Serializable
{
@@ -42,6 +44,11 @@ public class ArchivaRuntimeConfiguration
private Map<String, String> configurationProperties;
+ /**
+ * field to ease json mapping wrapper on
<code>configurationProperties</code> field
+ */
+ private List<PropertyEntry> configurationPropertiesEntries;
+
public ArchivaRuntimeConfiguration()
{
// no op
@@ -91,6 +98,29 @@ public class ArchivaRuntimeConfiguration
this.configurationProperties = configurationProperties;
}
+ public List<PropertyEntry> getConfigurationPropertiesEntries()
+ {
+ configurationPropertiesEntries = new ArrayList<PropertyEntry>(
getConfigurationProperties().size() );
+ for ( Map.Entry<String, String> entry :
getConfigurationProperties().entrySet() )
+ {
+ configurationPropertiesEntries.add( new PropertyEntry(
entry.getKey(), entry.getValue() ) );
+ }
+ return configurationPropertiesEntries;
+ }
+
+ public void setConfigurationPropertiesEntries( List<PropertyEntry>
configurationPropertiesEntries )
+ {
+ this.configurationPropertiesEntries = configurationPropertiesEntries;
+ if ( configurationPropertiesEntries != null )
+ {
+ this.configurationProperties = new HashMap<String, String>(
configurationPropertiesEntries.size() );
+ for ( PropertyEntry propertyEntry : configurationPropertiesEntries
)
+ {
+ this.configurationProperties.put( propertyEntry.getKey(),
propertyEntry.getValue() );
+ }
+ }
+ }
+
@Override
public String toString()
{
Modified:
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/beans/LdapConfiguration.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/LdapConfiguration.java?rev=1418347&r1=1418346&r2=1418347&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/beans/LdapConfiguration.java
(original)
+++
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/beans/LdapConfiguration.java
Fri Dec 7 15:04:08 2012
@@ -19,7 +19,9 @@ package org.apache.archiva.admin.model.b
*/
import javax.xml.bind.annotation.XmlRootElement;
+import java.util.ArrayList;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
/**
@@ -81,6 +83,11 @@ public class LdapConfiguration
*/
private Map<String, String> extraProperties = new HashMap<String,
String>();
+ /**
+ * field to ease json mapping wrapper on <code>extraProperties</code> field
+ */
+ private List<PropertyEntry> extraPropertiesEntries;
+
public LdapConfiguration()
{
// no op
@@ -185,4 +192,26 @@ public class LdapConfiguration
{
this.bindAuthenticatorEnabled = bindAuthenticatorEnabled;
}
+
+ public List<PropertyEntry> getExtraPropertiesEntries()
+ {
+ extraPropertiesEntries = new ArrayList<PropertyEntry>(
getExtraProperties().size() );
+ for ( Map.Entry<String, String> entry :
getExtraProperties().entrySet() )
+ {
+ extraPropertiesEntries.add( new PropertyEntry( entry.getKey(),
entry.getValue() ) );
+ }
+ return extraPropertiesEntries;
+ }
+
+ public void setExtraPropertiesEntries( List<PropertyEntry>
extraPropertiesEntries )
+ {
+ this.extraPropertiesEntries = extraPropertiesEntries;
+ if ( extraPropertiesEntries != null )
+ {
+ for ( PropertyEntry propertyEntry : extraPropertiesEntries )
+ {
+ this.extraProperties.put( propertyEntry.getKey(),
propertyEntry.getValue() );
+ }
+ }
+ }
}
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=1418347&r1=1418346&r2=1418347&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 7 15:04:08 2012
@@ -142,6 +142,13 @@ public class DefaultArchivaRuntimeConfig
ArchivaRuntimeConfiguration archivaRuntimeConfiguration =
new BeanReplicator().replicateBean( runtimeConfiguration,
ArchivaRuntimeConfiguration.class );
+ if ( runtimeConfiguration.getLdapConfiguration() != null )
+ {
+ archivaRuntimeConfiguration.setLdapConfiguration(
+ new BeanReplicator().replicateBean(
runtimeConfiguration.getLdapConfiguration(),
+ LdapConfiguration.class )
);
+ }
+
if ( archivaRuntimeConfiguration.getLdapConfiguration() == null )
{
// prevent NPE
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/general-admin.js
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/general-admin.js?rev=1418347&r1=1418346&r2=1418347&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/general-admin.js
(original)
+++
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/general-admin.js
Fri Dec 7 15:04:08 2012
@@ -1151,28 +1151,28 @@ define("archiva.general-admin",["jquery"
}
-
ArchivaRuntimeConfiguration=function(userManagerImpl,archivaLdapConfiguration,migratedFromRedbackConfiguration,configurationProperties){
+
ArchivaRuntimeConfiguration=function(userManagerImpl,ldapConfiguration,migratedFromRedbackConfiguration,configurationPropertiesEntries){
this.userManagerImpl=ko.observable(userManagerImpl);
- this.archivaLdapConfiguration=ko.observable(archivaLdapConfiguration);
+ this.ldapConfiguration=ko.observable(ldapConfiguration);
this.migratedFromRedbackConfiguration=ko.observable(migratedFromRedbackConfiguration);
-
this.configurationProperties=ko.observableArray(configurationProperties?configurationProperties:[]);
+
this.configurationPropertiesEntries=ko.observableArray(configurationPropertiesEntries?configurationPropertiesEntries:[]);
}
mapArchivaRuntimeConfiguration=function(data){
- var configurationProperties = data.configurationProperties == null ? []:
$.each(data.configurationProperties,function(item){
+ var configurationPropertiesEntries = data.configurationPropertiesEntries
== null ? []: $.each(data.configurationPropertiesEntries,function(item){
return new Entry(item.key, item.value);
});
- if (!$.isArray(configurationProperties)){
- configurationProperties=[];
+ if (!$.isArray(configurationPropertiesEntries)){
+ configurationPropertiesEntries=[];
}
return new
ArchivaRuntimeConfiguration(data.userManagerImpl,mapLdapConfiguration(data.ldapConfiguration),data.migratedFromRedbackConfiguration,
- configurationProperties);
+ configurationPropertiesEntries);
}
LdapConfiguration=function(hostName,port,ssl,baseDn,contextFactory,bindDn,password,authenticationMethod,
- extraProperties){
+ extraPropertiesEntries){
//private String hostName;
this.hostName=ko.observable(hostName);
@@ -1197,20 +1197,19 @@ define("archiva.general-admin",["jquery"
//private String authenticationMethod;
this.authenticationMethod=ko.observable(authenticationMethod);
- //private Map<String, String> extraProperties = new HashMap<String,
String>();
- this.extraProperties=ko.observableArray(extraProperties);
+ this.extraPropertiesEntries=ko.observableArray(extraPropertiesEntries);
}
mapLdapConfiguration=function(data){
if(data){
- var extraProperties = data.extraProperties == null ? []:
$.each(data.extraProperties,function(item){
+ var extraPropertiesEntries = data.extraPropertiesEntries == null ? []:
$.each(data.extraPropertiesEntries,function(item){
return new Entry(item.key, item.value);
});
- if (!$.isArray(extraProperties)){
- extraProperties=[];
+ if (!$.isArray(extraPropertiesEntries)){
+ extraPropertiesEntries=[];
}
- return new
ArchivaLdapConfiguration(data.hostName,data.port,data.ssl,data.baseDn,data.contextFactory,data.bindDn,data.password,
- data.authenticationMethod,extraProperties);
+ return new
LdapConfiguration(data.hostName,data.port,data.ssl,data.baseDn,data.contextFactory,data.bindDn,data.password,
+
data.authenticationMethod,extraPropertiesEntries);
}
return null;
}