You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by br...@apache.org on 2008/03/25 08:38:13 UTC
svn commit: r640728 - in /maven/archiva/trunk/archiva-web/archiva-webapp/src:
main/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/
test/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/
Author: brett
Date: Tue Mar 25 00:38:10 2008
New Revision: 640728
URL: http://svn.apache.org/viewvc?rev=640728&view=rev
Log:
[MNG-626] ClassCastException when saving proxy connector with property defined
Merged from: r640726
Modified:
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/AbstractProxyConnectorFormAction.java
maven/archiva/trunk/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/AddProxyConnectorActionTest.java
maven/archiva/trunk/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/EditProxyConnectorActionTest.java
Modified: maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/AbstractProxyConnectorFormAction.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/AbstractProxyConnectorFormAction.java?rev=640728&r1=640727&r2=640728&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/AbstractProxyConnectorFormAction.java (original)
+++ maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/AbstractProxyConnectorFormAction.java Tue Mar 25 00:38:10 2008
@@ -20,7 +20,6 @@
*/
import com.opensymphony.xwork.Preparable;
-
import org.apache.commons.lang.StringUtils;
import org.apache.maven.archiva.configuration.ProxyConnectorConfiguration;
import org.apache.maven.archiva.policies.DownloadPolicy;
@@ -29,6 +28,7 @@
import java.util.ArrayList;
import java.util.HashMap;
+import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -397,6 +397,19 @@
{
addActionError( "Policy [" + policyId + "] must be set (missing id)." );
continue;
+ }
+
+ Map properties = connector.getProperties();
+ for ( Iterator j = properties.keySet().iterator(); j.hasNext(); )
+ {
+ String key = (String) j.next();
+
+ Object value = properties.get( key );
+ if ( value.getClass().isArray() )
+ {
+ String[] arr = (String[]) value;
+ properties.put( key, arr[0] );
+ }
}
// Ugly hack to compensate for ugly browsers.
Modified: maven/archiva/trunk/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/AddProxyConnectorActionTest.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/AddProxyConnectorActionTest.java?rev=640728&r1=640727&r2=640728&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/AddProxyConnectorActionTest.java (original)
+++ maven/archiva/trunk/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/AddProxyConnectorActionTest.java Tue Mar 25 00:38:10 2008
@@ -20,7 +20,6 @@
*/
import com.opensymphony.xwork.Action;
-
import org.apache.maven.archiva.configuration.ArchivaConfiguration;
import org.apache.maven.archiva.configuration.Configuration;
import org.apache.maven.archiva.configuration.IndeterminateConfigurationException;
@@ -126,6 +125,8 @@
action.prepare();
ProxyConnectorConfiguration connector = action.getConnector();
populateProxyConnector( connector );
+ // forms will use an array
+ connector.getProperties().put( "eat-a", new String[] { "gramov-a-bits" } );
// Create the input screen.
assertRequestStatus( action, Action.SUCCESS, "commit" );
@@ -143,6 +144,7 @@
assertNull( actualConnector.getProxyId() );
assertEquals( "corporate", actualConnector.getSourceRepoId() );
assertEquals( "central", actualConnector.getTargetRepoId() );
+ assertEquals( "gramov-a-bits", actualConnector.getProperties().get( "eat-a" ) );
}
public void testAddProxyConnectorInitialPage()
Modified: maven/archiva/trunk/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/EditProxyConnectorActionTest.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/EditProxyConnectorActionTest.java?rev=640728&r1=640727&r2=640728&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/EditProxyConnectorActionTest.java (original)
+++ maven/archiva/trunk/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/EditProxyConnectorActionTest.java Tue Mar 25 00:38:10 2008
@@ -20,7 +20,6 @@
*/
import com.opensymphony.xwork.Action;
-
import org.apache.maven.archiva.configuration.ArchivaConfiguration;
import org.apache.maven.archiva.configuration.Configuration;
import org.apache.maven.archiva.configuration.IndeterminateConfigurationException;
@@ -122,6 +121,7 @@
// Should have no error, and 1 property added.
assertNoErrors( action );
assertEquals( 1, connector.getProperties().size() );
+ assertEquals( "gramov-a-bits", connector.getProperties().get( "eat-a" ) );
}
public void testAddWhiteListPattern()
@@ -169,6 +169,8 @@
action.prepare();
ProxyConnectorConfiguration connector = action.getConnector();
assertInitialProxyConnector( connector );
+ // forms will use an array
+ connector.getProperties().put( "eat-a", new String[] { "gramov-a-bits" } );
// Create the input screen.
assertRequestStatus( action, Action.SUCCESS, "commit" );
@@ -186,6 +188,7 @@
assertNull( actualConnector.getProxyId() );
assertEquals( "corporate", actualConnector.getSourceRepoId() );
assertEquals( "central", actualConnector.getTargetRepoId() );
+
}
public void testEditProxyConnectorInitialPage()