Author: fmartelli
Date: Fri Apr 26 16:02:05 2013
New Revision: 1476263

URL: http://svn.apache.org/r1476263
Log:
merged from 1.1.X

Modified:
    syncope/trunk/   (props changed)
    
syncope/trunk/common/src/main/java/org/apache/syncope/common/types/EntityViolationType.java
    
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/AbstractValidator.java
    
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/AttrValidator.java
    
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/AttrValueValidator.java
    
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/ConnInstanceValidator.java
    
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/EntitlementValidator.java
    
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/ExternalResourceValidator.java
    
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/InvalidEntityException.java
    
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/NotificationValidator.java
    
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/PolicyValidator.java
    
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/PropagationTaskValidator.java
    
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/ReportValidator.java
    
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/SchedTaskValidator.java
    
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/SchemaValidator.java
    
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/SyncTaskValidator.java
    
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/SyncopeRoleValidator.java
    
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/SyncopeUserValidator.java
    
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/USchemaValidator.java
    syncope/trunk/core/src/main/webapp/syncopeClientError.jsp

Propchange: syncope/trunk/
------------------------------------------------------------------------------
  Merged /syncope/branches/1_1_X:r1471506-1476262

Modified: 
syncope/trunk/common/src/main/java/org/apache/syncope/common/types/EntityViolationType.java
URL: 
http://svn.apache.org/viewvc/syncope/trunk/common/src/main/java/org/apache/syncope/common/types/EntityViolationType.java?rev=1476263&r1=1476262&r2=1476263&view=diff
==============================================================================
--- 
syncope/trunk/common/src/main/java/org/apache/syncope/common/types/EntityViolationType.java
 (original)
+++ 
syncope/trunk/common/src/main/java/org/apache/syncope/common/types/EntityViolationType.java
 Fri Apr 26 16:02:05 2013
@@ -60,14 +60,11 @@ public enum EntityViolationType {
         this.message = message;
     }
 
-    public void setMessageTemplate(final String message) {
+    public void setMessage(final String message) {
         this.message = message;
     }
 
-    @Override
-    public String toString() {
-        return this == Standard
-                ? message
-                : super.toString();
+    public String getMessage() {
+        return message;
     }
 }

Modified: 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/AbstractValidator.java
URL: 
http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/AbstractValidator.java?rev=1476263&r1=1476262&r2=1476263&view=diff
==============================================================================
--- 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/AbstractValidator.java
 (original)
+++ 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/AbstractValidator.java
 Fri Apr 26 16:02:05 2013
@@ -18,6 +18,7 @@
  */
 package org.apache.syncope.core.persistence.validation.entity;
 
+import org.apache.syncope.common.types.EntityViolationType;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -28,4 +29,7 @@ public abstract class AbstractValidator 
      */
     protected static final Logger LOG = 
LoggerFactory.getLogger(AbstractValidator.class);
 
+    protected final String getTemplate(final EntityViolationType type, final 
String message) {
+        return type.name() + ";" + message;
+    }
 }

Modified: 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/AttrValidator.java
URL: 
http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/AttrValidator.java?rev=1476263&r1=1476262&r2=1476263&view=diff
==============================================================================
--- 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/AttrValidator.java
 (original)
+++ 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/AttrValidator.java
 Fri Apr 26 16:02:05 2013
@@ -20,7 +20,6 @@ package org.apache.syncope.core.persiste
 
 import javax.validation.ConstraintValidator;
 import javax.validation.ConstraintValidatorContext;
-
 import org.apache.syncope.common.types.EntityViolationType;
 import org.apache.syncope.core.persistence.beans.AbstractAttr;
 
@@ -53,9 +52,11 @@ public class AttrValidator extends Abstr
                         + ", " + "values={}", object.getValuesAsStrings());
 
                 context.disableDefaultConstraintViolation();
-                
context.buildConstraintViolationWithTemplate(EntityViolationType.InvalidValueList.toString()).addNode(
-                        object + "(" + object.getSchema().getName() + ")" + 
"{" + object.getValuesAsStrings() + "}")
-                        .addConstraintViolation();
+
+                context.buildConstraintViolationWithTemplate(
+                        getTemplate(EntityViolationType.InvalidValueList,
+                        "Invalid values " + object.getValuesAsStrings())).
+                        
addNode(object.getSchema().getName()).addConstraintViolation();
             }
         }
 

Modified: 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/AttrValueValidator.java
URL: 
http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/AttrValueValidator.java?rev=1476263&r1=1476262&r2=1476263&view=diff
==============================================================================
--- 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/AttrValueValidator.java
 (original)
+++ 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/AttrValueValidator.java
 Fri Apr 26 16:02:05 2013
@@ -20,7 +20,6 @@ package org.apache.syncope.core.persiste
 
 import javax.validation.ConstraintValidator;
 import javax.validation.ConstraintValidatorContext;
-
 import org.apache.syncope.common.types.EntityViolationType;
 import org.apache.syncope.core.persistence.beans.AbstractAttrUniqueValue;
 import org.apache.syncope.core.persistence.beans.AbstractAttrValue;
@@ -63,8 +62,10 @@ public class AttrValueValidator extends 
                 LOG.error("More than one non-null value for " + object);
 
                 context.disableDefaultConstraintViolation();
-                
context.buildConstraintViolationWithTemplate(EntityViolationType.MoreThanOneNonNull.toString())
-                        .addNode(object.toString().replaceAll("\\n", " 
")).addConstraintViolation();
+                context.buildConstraintViolationWithTemplate(
+                        getTemplate(EntityViolationType.MoreThanOneNonNull, 
"More than one non-null value found")).
+                        
addNode(object.getClass().getSimpleName().replaceAll("\\n", " 
")).addConstraintViolation();
+
             } else if (object instanceof AbstractAttrUniqueValue) {
                 AbstractSchema uniqueValueSchema = ((AbstractAttrUniqueValue) 
object).getSchema();
                 AbstractSchema attrSchema = object.getAttribute().getSchema();
@@ -73,15 +74,14 @@ public class AttrValueValidator extends 
 
                 if (!isValid) {
                     LOG.error("Unique value schema for " + 
object.getClass().getSimpleName() + "[" + object.getId()
-                            + "]" + " is " + uniqueValueSchema + ", while 
owning " + "attribute schema is "
-                            + attrSchema);
+                            + "]" + " is " + uniqueValueSchema + ", while 
owning attribute schema is " + attrSchema);
 
                     context.disableDefaultConstraintViolation();
                     context.buildConstraintViolationWithTemplate(
-                            EntityViolationType.valueOf("Invalid" + 
attrSchema.getClass().getSimpleName()).toString())
-                            .addNode(
-                                    object.getClass().getSimpleName() + "[" + 
object.getId() + "].schema="
-                                            + uniqueValueSchema + " != " + 
attrSchema).addConstraintViolation();
+                            getTemplate(EntityViolationType.valueOf("Invalid" 
+ attrSchema.getClass().getSimpleName()),
+                            "Unique value schema is " + uniqueValueSchema
+                            + ", while owning attribute schema is " + 
attrSchema)).addNode("schema").
+                            addConstraintViolation();
                 }
             }
         }

Modified: 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/ConnInstanceValidator.java
URL: 
http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/ConnInstanceValidator.java?rev=1476263&r1=1476262&r2=1476263&view=diff
==============================================================================
--- 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/ConnInstanceValidator.java
 (original)
+++ 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/ConnInstanceValidator.java
 Fri Apr 26 16:02:05 2013
@@ -42,8 +42,10 @@ public class ConnInstanceValidator exten
             LOG.error("While validating {}", connInstance.getLocation(), e);
 
             context.disableDefaultConstraintViolation();
-            
context.buildConstraintViolationWithTemplate(EntityViolationType.InvalidConnInstanceLocation.toString())
-                    .addNode("location").addConstraintViolation();
+            context.buildConstraintViolationWithTemplate(
+                    
getTemplate(EntityViolationType.InvalidConnInstanceLocation, e.getMessage())).
+                    addNode("location").addConstraintViolation();
+
             isValid = false;
         }
 

Modified: 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/EntitlementValidator.java
URL: 
http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/EntitlementValidator.java?rev=1476263&r1=1476262&r2=1476263&view=diff
==============================================================================
--- 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/EntitlementValidator.java
 (original)
+++ 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/EntitlementValidator.java
 Fri Apr 26 16:02:05 2013
@@ -20,10 +20,8 @@ package org.apache.syncope.core.persiste
 
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
-
 import javax.validation.ConstraintValidator;
 import javax.validation.ConstraintValidatorContext;
-
 import org.apache.syncope.common.types.EntityViolationType;
 import org.apache.syncope.core.persistence.beans.Entitlement;
 
@@ -52,11 +50,12 @@ public class EntitlementValidator extend
             }
 
             if (!isValid) {
-                LOG.error(object + " cannot have name " + "starting by ROLE_");
+                LOG.error(object + " cannot have name starting by ROLE_");
 
                 context.disableDefaultConstraintViolation();
-                
context.buildConstraintViolationWithTemplate(EntityViolationType.InvalidEntitlementName.toString())
-                        .addNode(object.toString()).addConstraintViolation();
+                context.buildConstraintViolationWithTemplate(getTemplate(
+                        EntityViolationType.InvalidEntitlementName, object + " 
cannot have name starting by ROLE_")).
+                        addNode("name").addConstraintViolation();
             }
         }
 

Modified: 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/ExternalResourceValidator.java
URL: 
http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/ExternalResourceValidator.java?rev=1476263&r1=1476262&r2=1476263&view=diff
==============================================================================
--- 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/ExternalResourceValidator.java
 (original)
+++ 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/ExternalResourceValidator.java
 Fri Apr 26 16:02:05 2013
@@ -20,7 +20,6 @@ package org.apache.syncope.core.persiste
 
 import javax.validation.ConstraintValidator;
 import javax.validation.ConstraintValidatorContext;
-
 import org.apache.commons.lang.StringUtils;
 import org.apache.syncope.common.types.EntityViolationType;
 import org.apache.syncope.core.persistence.beans.AbstractMapping;
@@ -37,22 +36,25 @@ public class ExternalResourceValidator e
 
     private boolean isValid(final AbstractMappingItem item, final 
ConstraintValidatorContext context) {
         if (StringUtils.isBlank(item.getExtAttrName())) {
-            
context.buildConstraintViolationWithTemplate(EntityViolationType.InvalidMapping.toString())
-                    .addNode(item + ".extAttrName is 
null").addConstraintViolation();
+            context.buildConstraintViolationWithTemplate(
+                    getTemplate(EntityViolationType.InvalidMapping, item + 
".extAttrName is null")).
+                    addNode("extAttrName").addConstraintViolation();
 
             return false;
         }
 
         if (StringUtils.isBlank(item.getIntAttrName())) {
-            
context.buildConstraintViolationWithTemplate(EntityViolationType.InvalidMapping.toString())
-                    .addNode(item + ".intAttrName is 
null").addConstraintViolation();
+            context.buildConstraintViolationWithTemplate(
+                    getTemplate(EntityViolationType.InvalidMapping, item + 
".intAttrName is null")).
+                    addNode("intAttrName").addConstraintViolation();
 
             return false;
         }
-        
+
         if (item.getPurpose() == null) {
-            
context.buildConstraintViolationWithTemplate(EntityViolationType.InvalidMapping.toString())
-                    .addNode(item + ".purpose is 
null").addConstraintViolation();
+            context.buildConstraintViolationWithTemplate(
+                    getTemplate(EntityViolationType.InvalidMapping, item + 
".purpose is null")).
+                    addNode("purpose").addConstraintViolation();
 
             return false;
         }
@@ -72,8 +74,9 @@ public class ExternalResourceValidator e
             }
         }
         if (accountIds != 1) {
-            
context.buildConstraintViolationWithTemplate(EntityViolationType.InvalidMapping.toString())
-                    .addNode(mapping + ".accountId.size==" + 
accountIds).addConstraintViolation();
+            context.buildConstraintViolationWithTemplate(
+                    getTemplate(EntityViolationType.InvalidMapping, "One and 
only one accountId mapping is needed")).
+                    addNode("accountId.size").addConstraintViolation();
             return false;
         }
 
@@ -88,8 +91,9 @@ public class ExternalResourceValidator e
             }
         }
         if (passwords > 1) {
-            
context.buildConstraintViolationWithTemplate(EntityViolationType.InvalidMapping.toString())
-                    .addNode(mapping + ".password.size==" + 
passwords).addConstraintViolation();
+            context.buildConstraintViolationWithTemplate(
+                    getTemplate(EntityViolationType.InvalidMapping, "One and 
only one password mapping is allowed")).
+                    addNode("password.size").addConstraintViolation();
             isValid = false;
         }
 
@@ -111,8 +115,9 @@ public class ExternalResourceValidator e
             }
 
             if (actionsClass == null || !isAssignable) {
-                
context.buildConstraintViolationWithTemplate(EntityViolationType.InvalidResource.toString())
-                        .addNode(resource + ".actionsClassName is not 
valid").addConstraintViolation();
+                context.buildConstraintViolationWithTemplate(
+                        getTemplate(EntityViolationType.InvalidResource, 
"Ivalid actions class name")).
+                        addNode("actionsClassName").addConstraintViolation();
                 return false;
             }
         }

Modified: 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/InvalidEntityException.java
URL: 
http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/InvalidEntityException.java?rev=1476263&r1=1476262&r2=1476263&view=diff
==============================================================================
--- 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/InvalidEntityException.java
 (original)
+++ 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/InvalidEntityException.java
 Fri Apr 26 16:02:05 2013
@@ -22,10 +22,8 @@ import java.util.EnumSet;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Set;
-
 import javax.validation.ConstraintViolation;
 import javax.validation.ValidationException;
-
 import org.apache.syncope.common.types.EntityViolationType;
 
 public class InvalidEntityException extends ValidationException {
@@ -44,15 +42,24 @@ public class InvalidEntityException exte
         this.entityClassSimpleName = entityClassSimpleName;
 
         this.violations = new HashMap<Class, Set<EntityViolationType>>();
-        EntityViolationType entityViolationType;
         for (ConstraintViolation<Object> violation : violations) {
+            int firstComma = violation.getMessageTemplate().indexOf(';');
+
+            final String key = violation.getMessageTemplate().substring(
+                    0, firstComma > 0 ? firstComma : 
violation.getMessageTemplate().length());
+
+            final String message = 
violation.getMessageTemplate().substring(firstComma > 0 ? firstComma + 1 : 0);
+
+            EntityViolationType entityViolationType;
+
             try {
-                entityViolationType = 
EntityViolationType.valueOf(violation.getMessageTemplate());
+                entityViolationType = EntityViolationType.valueOf(key.trim());
             } catch (IllegalArgumentException e) {
                 entityViolationType = EntityViolationType.Standard;
-                
entityViolationType.setMessageTemplate(violation.getPropertyPath() + ": " + 
violation.getMessage());
             }
 
+            entityViolationType.setMessage(message.trim());
+
             if 
(!this.violations.containsKey(violation.getLeafBean().getClass())) {
                 this.violations.put(violation.getLeafBean().getClass(), 
EnumSet.noneOf(EntityViolationType.class));
             }

Modified: 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/NotificationValidator.java
URL: 
http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/NotificationValidator.java?rev=1476263&r1=1476262&r2=1476263&view=diff
==============================================================================
--- 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/NotificationValidator.java
 (original)
+++ 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/NotificationValidator.java
 Fri Apr 26 16:02:05 2013
@@ -41,21 +41,23 @@ public class NotificationValidator exten
         if (value.getEvents().isEmpty()) {
             isValid = false;
 
-            context.buildConstraintViolationWithTemplate("No events").addNode(
-                    
EntityViolationType.InvalidNotification.toString()).addNode("events").addConstraintViolation();
+            context.buildConstraintViolationWithTemplate(
+                    getTemplate(EntityViolationType.InvalidNotification, "No 
events")).
+                    addNode("events").addConstraintViolation();
         }
         if (!value.getAbout().isValid()) {
             isValid = false;
 
-            context.buildConstraintViolationWithTemplate("Invalid about search 
condition").addNode(
-                    
EntityViolationType.InvalidNotification.toString()).addNode("about").addConstraintViolation();
+            context.buildConstraintViolationWithTemplate(
+                    getTemplate(EntityViolationType.InvalidNotification, 
"Invalid about search condition")).
+                    addNode("about").addConstraintViolation();
         }
         if (value.getRecipients() != null) {
             if (!value.getRecipients().isValid() && 
!value.isSelfAsRecipient()) {
                 isValid = false;
 
-                context.buildConstraintViolationWithTemplate("Invalid 
recipients search condition").addNode(
-                        EntityViolationType.InvalidNotification.toString()).
+                context.buildConstraintViolationWithTemplate(
+                        getTemplate(EntityViolationType.InvalidNotification, 
"Invalid recipients search condition")).
                         addNode("recipients").addConstraintViolation();
             }
         }

Modified: 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/PolicyValidator.java
URL: 
http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/PolicyValidator.java?rev=1476263&r1=1476262&r2=1476263&view=diff
==============================================================================
--- 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/PolicyValidator.java
 (original)
+++ 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/PolicyValidator.java
 Fri Apr 26 16:02:05 2013
@@ -20,7 +20,6 @@ package org.apache.syncope.core.persiste
 
 import javax.validation.ConstraintValidator;
 import javax.validation.ConstraintValidatorContext;
-
 import org.apache.syncope.common.types.AccountPolicySpec;
 import org.apache.syncope.common.types.EntityViolationType;
 import org.apache.syncope.common.types.PasswordPolicySpec;
@@ -50,8 +49,9 @@ public class PolicyValidator extends Abs
                 || ((object instanceof AccountPolicy && 
!(object.getSpecification() instanceof AccountPolicySpec)))
                 || ((object instanceof SyncPolicy && 
!(object.getSpecification() instanceof SyncPolicySpec))))) {
 
-            context.buildConstraintViolationWithTemplate("Invalid policy 
specification").
-                    addNode(EntityViolationType.valueOf("Invalid" + 
object.getClass().getSimpleName()).name()).
+            context.buildConstraintViolationWithTemplate(
+                    getTemplate(EntityViolationType.valueOf("Invalid" + 
object.getClass().getSimpleName()),
+                    "Invalid policy specification")).addNode("specification").
                     addConstraintViolation();
 
             return false;
@@ -63,8 +63,9 @@ public class PolicyValidator extends Abs
                 final PasswordPolicy passwordPolicy = 
policyDAO.getGlobalPasswordPolicy();
 
                 if (passwordPolicy != null && 
!passwordPolicy.getId().equals(object.getId())) {
-                    context.buildConstraintViolationWithTemplate("Password 
policy already exists").addNode(
-                            
EntityViolationType.InvalidPasswordPolicy.name()).addConstraintViolation();
+                    context.buildConstraintViolationWithTemplate(
+                            
getTemplate(EntityViolationType.InvalidPasswordPolicy, "Password policy already 
exists")).
+                            
addNode(object.getClass().getSimpleName()).addConstraintViolation();
 
                     return false;
                 }
@@ -75,8 +76,9 @@ public class PolicyValidator extends Abs
                 final AccountPolicy accountPolicy = 
policyDAO.getGlobalAccountPolicy();
 
                 if (accountPolicy != null && 
!accountPolicy.getId().equals(object.getId())) {
-                    context.buildConstraintViolationWithTemplate("Global 
Account policy already exists").addNode(
-                            
EntityViolationType.InvalidAccountPolicy.name()).addConstraintViolation();
+                    context.buildConstraintViolationWithTemplate(getTemplate(
+                            EntityViolationType.InvalidAccountPolicy, "Global 
Account policy already exists")).
+                            
addNode(object.getClass().getSimpleName()).addConstraintViolation();
 
                     return false;
                 }
@@ -87,8 +89,9 @@ public class PolicyValidator extends Abs
                 final SyncPolicy syncPolicy = policyDAO.getGlobalSyncPolicy();
 
                 if (syncPolicy != null && 
!syncPolicy.getId().equals(object.getId())) {
-                    context.buildConstraintViolationWithTemplate("Global Sync 
policy already exists").addNode(
-                            
EntityViolationType.InvalidSyncPolicy.name()).addConstraintViolation();
+                    context.buildConstraintViolationWithTemplate(getTemplate(
+                            EntityViolationType.InvalidSyncPolicy, "Global 
Sync policy already exists")).
+                            
addNode(object.getClass().getSimpleName()).addConstraintViolation();
 
                     return false;
                 }

Modified: 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/PropagationTaskValidator.java
URL: 
http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/PropagationTaskValidator.java?rev=1476263&r1=1476262&r2=1476263&view=diff
==============================================================================
--- 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/PropagationTaskValidator.java
 (original)
+++ 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/PropagationTaskValidator.java
 Fri Apr 26 16:02:05 2013
@@ -62,8 +62,9 @@ public class PropagationTaskValidator ex
 
             if (!isValid) {
                 context.disableDefaultConstraintViolation();
-                
context.buildConstraintViolationWithTemplate(EntityViolationType.InvalidPropagationTask.toString())
-                        .addConstraintViolation();
+                context.buildConstraintViolationWithTemplate(
+                        
getTemplate(EntityViolationType.InvalidPropagationTask, "Invalid task")).
+                        
addNode(task.getClass().getSimpleName()).addConstraintViolation();
             }
         }
 

Modified: 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/ReportValidator.java
URL: 
http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/ReportValidator.java?rev=1476263&r1=1476262&r2=1476263&view=diff
==============================================================================
--- 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/ReportValidator.java
 (original)
+++ 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/ReportValidator.java
 Fri Apr 26 16:02:05 2013
@@ -50,8 +50,9 @@ public class ReportValidator extends Abs
                 isValid = false;
 
                 context.disableDefaultConstraintViolation();
-                
context.buildConstraintViolationWithTemplate(EntityViolationType.InvalidReport.name()).addNode(
-                        object + ".cronExpression==" + 
object.getCronExpression()).addConstraintViolation();
+                context.buildConstraintViolationWithTemplate(
+                        getTemplate(EntityViolationType.InvalidReport, 
"Invalid cron expression")).
+                        addNode("cronExpression").addConstraintViolation();
             }
         }
 
@@ -64,8 +65,9 @@ public class ReportValidator extends Abs
             isValid = false;
 
             context.disableDefaultConstraintViolation();
-            
context.buildConstraintViolationWithTemplate(EntityViolationType.InvalidReport.name()).addNode(
-                    object + ".reportletConfs with duplicate 
names").addConstraintViolation();
+            context.buildConstraintViolationWithTemplate(
+                    getTemplate(EntityViolationType.InvalidReport, "Reportlet 
name must be unique")).
+                    addNode("reportletConfs").addConstraintViolation();
         }
 
         return isValid;

Modified: 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/SchedTaskValidator.java
URL: 
http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/SchedTaskValidator.java?rev=1476263&r1=1476262&r2=1476263&view=diff
==============================================================================
--- 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/SchedTaskValidator.java
 (original)
+++ 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/SchedTaskValidator.java
 Fri Apr 26 16:02:05 2013
@@ -51,8 +51,9 @@ public class SchedTaskValidator extends 
             isValid = false;
 
             context.disableDefaultConstraintViolation();
-            
context.buildConstraintViolationWithTemplate(EntityViolationType.InvalidSchedTask.toString()).addNode(
-                    object + ".jobClassName is not 
valid").addConstraintViolation();
+            context.buildConstraintViolationWithTemplate(
+                    getTemplate(EntityViolationType.InvalidSchedTask, "Invalid 
job class name")).
+                    addNode("jobClassName").addConstraintViolation();
         }
 
         if (isValid && object.getCronExpression() != null) {
@@ -63,8 +64,9 @@ public class SchedTaskValidator extends 
                 isValid = false;
 
                 context.disableDefaultConstraintViolation();
-                
context.buildConstraintViolationWithTemplate(EntityViolationType.InvalidSchedTask.toString()).addNode(
-                        object + ".cronExpression==" + 
object.getCronExpression()).addConstraintViolation();
+                context.buildConstraintViolationWithTemplate(
+                        getTemplate(EntityViolationType.InvalidSchedTask, 
"Invalid cron expression")).
+                        addNode("cronExpression").addConstraintViolation();
             }
         }
 

Modified: 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/SchemaValidator.java
URL: 
http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/SchemaValidator.java?rev=1476263&r1=1476262&r2=1476263&view=diff
==============================================================================
--- 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/SchemaValidator.java
 (original)
+++ 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/SchemaValidator.java
 Fri Apr 26 16:02:05 2013
@@ -57,8 +57,7 @@ public class SchemaValidator extends Abs
                 if (!isValid) {
                     violation = 
EntityViolationType.MultivalueAndUniqueConstraint;
 
-                    throw new Exception(object + " cannot be multivalue and 
have "
-                            + "unique constraint at the same time");
+                    throw new Exception(object + " cannot be multivalue and 
have unique constraint at the same time");
                 }
             }
 
@@ -67,8 +66,8 @@ public class SchemaValidator extends Abs
             LOG.error("Error saving schema", e);
 
             context.disableDefaultConstraintViolation();
-            
context.buildConstraintViolationWithTemplate(violation.toString()).addNode(object.toString())
-                    .addConstraintViolation();
+            
context.buildConstraintViolationWithTemplate(getTemplate(violation, 
e.getMessage())).
+                    
addNode(object.getClass().getSimpleName()).addConstraintViolation();
 
             return false;
         }

Modified: 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/SyncTaskValidator.java
URL: 
http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/SyncTaskValidator.java?rev=1476263&r1=1476262&r2=1476263&view=diff
==============================================================================
--- 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/SyncTaskValidator.java
 (original)
+++ 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/SyncTaskValidator.java
 Fri Apr 26 16:02:05 2013
@@ -56,8 +56,9 @@ public class SyncTaskValidator extends A
                     LOG.error("Resource is null");
 
                     context.disableDefaultConstraintViolation();
-                    
context.buildConstraintViolationWithTemplate(EntityViolationType.InvalidSyncTask.toString())
-                            .addNode(object + ".resource is 
NULL").addConstraintViolation();
+                    context.buildConstraintViolationWithTemplate(
+                            getTemplate(EntityViolationType.InvalidSyncTask, 
"Resource cannot be null")).
+                            addNode("resource").addConstraintViolation();
                 }
 
                 if (StringUtils.isNotBlank(object.getActionsClassName())) {
@@ -75,8 +76,9 @@ public class SyncTaskValidator extends A
                         isValid = false;
 
                         context.disableDefaultConstraintViolation();
-                        
context.buildConstraintViolationWithTemplate(EntityViolationType.InvalidSyncTask.toString())
-                                .addNode(object + ".actionsClassName is not 
valid").addConstraintViolation();
+                        context.buildConstraintViolationWithTemplate(
+                                
getTemplate(EntityViolationType.InvalidSyncTask, "Invalid class name")).
+                                
addNode("actionsClassName").addConstraintViolation();
                     }
                 }
             }

Modified: 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/SyncopeRoleValidator.java
URL: 
http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/SyncopeRoleValidator.java?rev=1476263&r1=1476262&r2=1476263&view=diff
==============================================================================
--- 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/SyncopeRoleValidator.java
 (original)
+++ 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/SyncopeRoleValidator.java
 Fri Apr 26 16:02:05 2013
@@ -20,7 +20,6 @@ package org.apache.syncope.core.persiste
 
 import javax.validation.ConstraintValidator;
 import javax.validation.ConstraintValidatorContext;
-
 import org.apache.syncope.common.types.EntityViolationType;
 import org.apache.syncope.core.persistence.beans.role.SyncopeRole;
 
@@ -40,8 +39,10 @@ public class SyncopeRoleValidator extend
         if (object.getUserOwner() != null && object.getRoleOwner() != null) {
             isValid = false;
 
-            context.buildConstraintViolationWithTemplate("A role must either 
be owned by an user or a role, not both").
-                    
addNode(EntityViolationType.InvalidRoleOwner.toString()).addConstraintViolation();
+            context.buildConstraintViolationWithTemplate(
+                    getTemplate(EntityViolationType.InvalidRoleOwner,
+                    "A role must either be owned by an user or a role, not 
both")).
+                    addNode("owner").addConstraintViolation();
         }
 
         return isValid;

Modified: 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/SyncopeUserValidator.java
URL: 
http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/SyncopeUserValidator.java?rev=1476263&r1=1476262&r2=1476263&view=diff
==============================================================================
--- 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/SyncopeUserValidator.java
 (original)
+++ 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/SyncopeUserValidator.java
 Fri Apr 26 16:02:05 2013
@@ -92,8 +92,9 @@ public class SyncopeUserValidator extend
             } catch (Exception e) {
                 LOG.debug("Invalid password");
 
-                
context.buildConstraintViolationWithTemplate(e.getMessage()).addNode(
-                        
EntityViolationType.InvalidPassword.toString()).addConstraintViolation();
+                context.buildConstraintViolationWithTemplate(
+                        getTemplate(EntityViolationType.InvalidPassword, 
e.getMessage())).
+                        addNode("password").addConstraintViolation();
 
                 return false;
             } finally {
@@ -120,8 +121,9 @@ public class SyncopeUserValidator extend
         } catch (Exception e) {
             LOG.debug("Invalid username");
 
-            
context.buildConstraintViolationWithTemplate(e.getMessage()).addNode(
-                    
EntityViolationType.InvalidUsername.toString()).addConstraintViolation();
+            context.buildConstraintViolationWithTemplate(
+                    getTemplate(EntityViolationType.InvalidUsername, 
e.getMessage()))
+                    .addNode("username").addConstraintViolation();
 
             return false;
         }

Modified: 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/USchemaValidator.java
URL: 
http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/USchemaValidator.java?rev=1476263&r1=1476262&r2=1476263&view=diff
==============================================================================
--- 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/USchemaValidator.java
 (original)
+++ 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/USchemaValidator.java
 Fri Apr 26 16:02:05 2013
@@ -33,8 +33,8 @@ import org.apache.syncope.core.persisten
 public class USchemaValidator extends AbstractValidator implements 
ConstraintValidator<USchemaCheck, Object> {
 
     @Transient
-    private static List<String> PERMITTED_USCHEMA_NAMES = Arrays.asList(new 
String[] { "failedLogins", "username",
-            "password", "lastLoginDate", "creationDate", "changePwdDate" });
+    private static List<String> PERMITTED_USCHEMA_NAMES = Arrays.asList(new 
String[]{"failedLogins", "username",
+                "password", "lastLoginDate", "creationDate", "changePwdDate"});
 
     @Override
     public void initialize(final USchemaCheck constraintAnnotation) {
@@ -72,8 +72,10 @@ public class USchemaValidator extends Ab
             LOG.error("Error saving schema", e);
 
             context.disableDefaultConstraintViolation();
-            
context.buildConstraintViolationWithTemplate(violation.toString()).addNode(object.toString())
-                    .addConstraintViolation();
+
+            context.buildConstraintViolationWithTemplate(
+                    getTemplate(violation, e.getMessage())).
+                    
addNode(object.getClass().getSimpleName()).addConstraintViolation();
 
             return false;
         }

Modified: syncope/trunk/core/src/main/webapp/syncopeClientError.jsp
URL: 
http://svn.apache.org/viewvc/syncope/trunk/core/src/main/webapp/syncopeClientError.jsp?rev=1476263&r1=1476262&r2=1476263&view=diff
==============================================================================
--- syncope/trunk/core/src/main/webapp/syncopeClientError.jsp (original)
+++ syncope/trunk/core/src/main/webapp/syncopeClientError.jsp Fri Apr 26 
16:02:05 2013
@@ -60,7 +60,7 @@ under the License.
 
             for (EntityViolationType violationType : violation.getValue()) {
                 response.addHeader(exType.getElementHeaderName(),
-                        violation.getClass().getSimpleName() + ": " + 
violationType);
+                        violationType.name() + ": " + 
violationType.getMessage());
             }
         }
 


Reply via email to