Author: ilgrosso
Date: Mon Dec 30 11:26:03 2013
New Revision: 1554190

URL: http://svn.apache.org/r1554190
Log:
[SYNCOPE-466] Merge from 1_1_X

Modified:
    syncope/trunk/   (props changed)
    
syncope/trunk/common/src/main/java/org/apache/syncope/common/types/ClientExceptionType.java
    
syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/data/PolicyDataBinder.java
    
syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/utils/RestServiceExceptionMapper.java
    
syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/PolicyTestITCase.java
    
syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/ResourceTestITCase.java
    syncope/trunk/pom.xml

Propchange: syncope/trunk/
------------------------------------------------------------------------------
  Merged /syncope/branches/1_1_X:r1552992-1554187

Modified: 
syncope/trunk/common/src/main/java/org/apache/syncope/common/types/ClientExceptionType.java
URL: 
http://svn.apache.org/viewvc/syncope/trunk/common/src/main/java/org/apache/syncope/common/types/ClientExceptionType.java?rev=1554190&r1=1554189&r2=1554190&view=diff
==============================================================================
--- 
syncope/trunk/common/src/main/java/org/apache/syncope/common/types/ClientExceptionType.java
 (original)
+++ 
syncope/trunk/common/src/main/java/org/apache/syncope/common/types/ClientExceptionType.java
 Mon Dec 30 11:26:03 2013
@@ -30,9 +30,7 @@ public enum ClientExceptionType {
     InvalidLogger(Response.Status.BAD_REQUEST),
     InvalidConnInstance(Response.Status.BAD_REQUEST),
     InvalidConnIdConf(Response.Status.BAD_REQUEST),
-    InvalidPasswordPolicy(Response.Status.BAD_REQUEST),
-    InvalidAccountPolicy(Response.Status.BAD_REQUEST),
-    InvalidSyncPolicy(Response.Status.BAD_REQUEST),
+    InvalidPolicy(Response.Status.BAD_REQUEST),
     InvalidSyncopeRole(Response.Status.BAD_REQUEST),
     InvalidReportExec(Response.Status.BAD_REQUEST),
     InvalidRoles(Response.Status.BAD_REQUEST),

Modified: 
syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/data/PolicyDataBinder.java
URL: 
http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/data/PolicyDataBinder.java?rev=1554190&r1=1554189&r2=1554190&view=diff
==============================================================================
--- 
syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/data/PolicyDataBinder.java
 (original)
+++ 
syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/data/PolicyDataBinder.java
 Mon Dec 30 11:26:03 2013
@@ -18,11 +18,13 @@
  */
 package org.apache.syncope.core.rest.data;
 
+import org.apache.syncope.common.SyncopeClientException;
 import org.apache.syncope.common.to.AccountPolicyTO;
 import org.apache.syncope.common.to.PasswordPolicyTO;
 import org.apache.syncope.common.to.AbstractPolicyTO;
 import org.apache.syncope.common.to.SyncPolicyTO;
 import org.apache.syncope.common.types.AccountPolicySpec;
+import org.apache.syncope.common.types.ClientExceptionType;
 import org.apache.syncope.common.types.PasswordPolicySpec;
 import org.apache.syncope.common.types.PolicyType;
 import org.apache.syncope.common.types.SyncPolicySpec;
@@ -105,8 +107,9 @@ public class PolicyDataBinder {
     @SuppressWarnings("unchecked")
     public <T extends Policy> T getPolicy(T policy, final AbstractPolicyTO 
policyTO) {
         if (policy != null && policy.getType() != policyTO.getType()) {
-            throw new IllegalArgumentException(
-                    String.format("Cannot update %s from %s", 
policy.getType(), policyTO.getType()));
+            SyncopeClientException sce = 
SyncopeClientException.build(ClientExceptionType.InvalidPolicy);
+            sce.getElements().add(String.format("Cannot update %s from %s", 
policy.getType(), policyTO.getType()));
+            throw sce;
         }
 
         final boolean isGlobal = isGlobalPolicy(policyTO.getType());

Modified: 
syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/utils/RestServiceExceptionMapper.java
URL: 
http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/utils/RestServiceExceptionMapper.java?rev=1554190&r1=1554189&r2=1554190&view=diff
==============================================================================
--- 
syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/utils/RestServiceExceptionMapper.java
 (original)
+++ 
syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/utils/RestServiceExceptionMapper.java
 Mon Dec 30 11:26:03 2013
@@ -186,7 +186,10 @@ public class RestServiceExceptionMapper 
         }
 
         if (iee != null) {
-            ClientExceptionType exType = ClientExceptionType.valueOf("Invalid" 
+ iee.getEntityClassSimpleName());
+            ClientExceptionType exType =
+                    iee.getEntityClassSimpleName().endsWith("Policy")
+                    ? ClientExceptionType.InvalidPolicy
+                    : ClientExceptionType.valueOf("Invalid" + 
iee.getEntityClassSimpleName());
 
             ResponseBuilder builder = 
Response.status(Response.Status.BAD_REQUEST);
             builder.header(RESTHeaders.EXCEPTION_TYPE, 
exType.getHeaderValue());

Modified: 
syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/PolicyTestITCase.java
URL: 
http://svn.apache.org/viewvc/syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/PolicyTestITCase.java?rev=1554190&r1=1554189&r2=1554190&view=diff
==============================================================================
--- 
syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/PolicyTestITCase.java
 (original)
+++ 
syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/PolicyTestITCase.java
 Mon Dec 30 11:26:03 2013
@@ -40,6 +40,18 @@ import org.junit.runners.MethodSorters;
 @FixMethodOrder(MethodSorters.JVM)
 public class PolicyTestITCase extends AbstractTest {
 
+    private SyncPolicyTO buildSyncPolicyTO() {
+        SyncPolicyTO policy = new SyncPolicyTO();
+
+        SyncPolicySpec spec = new SyncPolicySpec();
+        spec.setUserJavaRule(TestSyncRule.class.getName());
+
+        policy.setSpecification(spec);
+        policy.setDescription("Sync policy");
+
+        return policy;
+    }
+
     @Test
     public void listByType() {
         List<SyncPolicyTO> policyTOs = policyService.list(PolicyType.SYNC);
@@ -82,7 +94,7 @@ public class PolicyTestITCase extends Ab
             createPolicy(policy);
             fail();
         } catch (SyncopeClientException e) {
-            assertEquals(ClientExceptionType.InvalidPasswordPolicy, 
e.getType());
+            assertEquals(ClientExceptionType.InvalidPolicy, e.getType());
         }
     }
 
@@ -95,7 +107,7 @@ public class PolicyTestITCase extends Ab
             createPolicy(policy);
             fail();
         } catch (SyncopeClientException e) {
-            assertEquals(ClientExceptionType.InvalidSyncPolicy, e.getType());
+            assertEquals(ClientExceptionType.InvalidPolicy, e.getType());
         }
     }
 
@@ -163,15 +175,17 @@ public class PolicyTestITCase extends Ab
         assertEquals(1, policyService.getSyncCorrelationRuleClasses().size());
     }
 
-    private SyncPolicyTO buildSyncPolicyTO() {
-        SyncPolicyTO policy = new SyncPolicyTO();
-
-        SyncPolicySpec spec = new SyncPolicySpec();
-        spec.setUserJavaRule(TestSyncRule.class.getName());
-
-        policy.setSpecification(spec);
-        policy.setDescription("Sync policy");
+    @Test
+    public void issueSYNCOPE466() {
+        PasswordPolicyTO policy = policyService.read(4L);
+        assertEquals(PolicyType.PASSWORD, policy.getType());
 
-        return policy;
+        policy.setType(PolicyType.GLOBAL_PASSWORD);
+        try {
+            policyService.update(policy.getId(), policy);
+            fail();
+        } catch (SyncopeClientException e) {
+            assertEquals(ClientExceptionType.InvalidPolicy, e.getType());
+        }
     }
 }

Modified: 
syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/ResourceTestITCase.java
URL: 
http://svn.apache.org/viewvc/syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/ResourceTestITCase.java?rev=1554190&r1=1554189&r2=1554190&view=diff
==============================================================================
--- 
syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/ResourceTestITCase.java
 (original)
+++ 
syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/ResourceTestITCase.java
 Mon Dec 30 11:26:03 2013
@@ -393,7 +393,7 @@ public class ResourceTestITCase extends 
 
     @Test
     public void list() {
-        List<ResourceTO> actuals = resourceService.list(null);
+        List<ResourceTO> actuals = resourceService.list();
         assertNotNull(actuals);
         assertFalse(actuals.isEmpty());
         for (ResourceTO resourceTO : actuals) {

Modified: syncope/trunk/pom.xml
URL: 
http://svn.apache.org/viewvc/syncope/trunk/pom.xml?rev=1554190&r1=1554189&r2=1554190&view=diff
==============================================================================
--- syncope/trunk/pom.xml (original)
+++ syncope/trunk/pom.xml Mon Dec 30 11:26:03 2013
@@ -1043,7 +1043,7 @@ under the License.
         <plugin>
           <groupId>org.codehaus.cargo</groupId>
           <artifactId>cargo-maven2-plugin</artifactId>
-          <version>1.4.5</version>
+          <version>1.4.6</version>
           <configuration>
             <container>
               <containerId>tomcat7x</containerId>


Reply via email to