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:34:27 UTC

svn commit: r640726 - in /maven/archiva/branches/archiva-1.0.x/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:34:25 2008
New Revision: 640726

URL: http://svn.apache.org/viewvc?rev=640726&view=rev
Log:
[MNG-626] ClassCastException when saving proxy connector with property defined

Modified:
    maven/archiva/branches/archiva-1.0.x/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/AbstractProxyConnectorFormAction.java
    maven/archiva/branches/archiva-1.0.x/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/AddProxyConnectorActionTest.java
    maven/archiva/branches/archiva-1.0.x/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/EditProxyConnectorActionTest.java

Modified: maven/archiva/branches/archiva-1.0.x/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/branches/archiva-1.0.x/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/AbstractProxyConnectorFormAction.java?rev=640726&r1=640725&r2=640726&view=diff
==============================================================================
--- maven/archiva/branches/archiva-1.0.x/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/AbstractProxyConnectorFormAction.java (original)
+++ maven/archiva/branches/archiva-1.0.x/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/AbstractProxyConnectorFormAction.java Tue Mar 25 00:34:25 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/branches/archiva-1.0.x/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/branches/archiva-1.0.x/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/AddProxyConnectorActionTest.java?rev=640726&r1=640725&r2=640726&view=diff
==============================================================================
--- maven/archiva/branches/archiva-1.0.x/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/AddProxyConnectorActionTest.java (original)
+++ maven/archiva/branches/archiva-1.0.x/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/AddProxyConnectorActionTest.java Tue Mar 25 00:34:25 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/branches/archiva-1.0.x/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/branches/archiva-1.0.x/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/EditProxyConnectorActionTest.java?rev=640726&r1=640725&r2=640726&view=diff
==============================================================================
--- maven/archiva/branches/archiva-1.0.x/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/EditProxyConnectorActionTest.java (original)
+++ maven/archiva/branches/archiva-1.0.x/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/EditProxyConnectorActionTest.java Tue Mar 25 00:34:25 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()