You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by il...@apache.org on 2013/09/20 15:54:59 UTC
svn commit: r1525004 - in /syncope/trunk: ./
common/src/main/java/org/apache/syncope/common/types/
core/src/main/java/org/apache/syncope/core/persistence/beans/
core/src/main/java/org/apache/syncope/core/persistence/beans/user/
core/src/main/java/org/a...
Author: ilgrosso
Date: Fri Sep 20 13:54:58 2013
New Revision: 1525004
URL: http://svn.apache.org/r1525004
Log:
[SYNCOPE-418] Merge from 1_1_X
Added:
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/SchemaNameCheck.java
- copied unchanged from r1524988, syncope/branches/1_1_X/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/SchemaNameCheck.java
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/SchemaNameValidator.java
- copied unchanged from r1524988, syncope/branches/1_1_X/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/SchemaNameValidator.java
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/SyncopeConfCheck.java
- copied unchanged from r1524988, syncope/branches/1_1_X/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/SyncopeConfCheck.java
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/SyncopeConfValidator.java
- copied unchanged from r1524988, syncope/branches/1_1_X/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/SyncopeConfValidator.java
syncope/trunk/core/src/test/java/org/apache/syncope/core/persistence/dao/ConfTest.java
- copied unchanged from r1524988, syncope/branches/1_1_X/core/src/test/java/org/apache/syncope/core/persistence/dao/ConfTest.java
Removed:
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/USchemaCheck.java
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/USchemaValidator.java
Modified:
syncope/trunk/ (props changed)
syncope/trunk/common/src/main/java/org/apache/syncope/common/types/EntityViolationType.java
syncope/trunk/common/src/main/java/org/apache/syncope/common/types/SyncopeClientExceptionType.java
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/AbstractDerSchema.java
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/AbstractSchema.java
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/AbstractVirSchema.java
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/SyncopeConf.java
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/user/UDerSchema.java
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/user/USchema.java
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/user/UVirSchema.java
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/attrvalue/EmailAddressValidator.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/ExternalResourceValidator.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/rest/data/SchemaDataBinder.java
syncope/trunk/core/src/test/java/org/apache/syncope/core/persistence/dao/AttrTest.java
syncope/trunk/core/src/test/java/org/apache/syncope/core/persistence/dao/DerSchemaTest.java
syncope/trunk/core/src/test/java/org/apache/syncope/core/persistence/dao/ResourceTest.java
syncope/trunk/core/src/test/java/org/apache/syncope/core/persistence/dao/SchemaTest.java
syncope/trunk/core/src/test/java/org/apache/syncope/core/persistence/dao/VirSchemaTest.java
syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/ConfigurationTestITCase.java
syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/DerivedSchemaTestITCase.java
syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/ResourceTestITCase.java
syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/SchemaTestITCase.java
syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/VirtualSchemaTestITCase.java
Propchange: syncope/trunk/
------------------------------------------------------------------------------
Merged /syncope/branches/1_1_X:r1524938-1524998
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=1525004&r1=1525003&r2=1525004&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 Sep 20 13:54:58 2013
@@ -25,12 +25,12 @@ public enum EntityViolationType {
Standard(""),
InvalidAccountPolicy("org.apache.syncope.core.validation.accountpolicy"),
- InvalidEntitlementName("org.apache.syncope.core.validation.entitlement.name"),
InvalidConnInstanceLocation("org.apache.syncope.core.validation.conninstance.location"),
InvalidMapping("org.apache.syncope.core.validation.mapping"),
InvalidMSchema("org.apache.syncope.core.validation.attrvalue.mSchema"),
InvalidMDerSchema("org.apache.syncope.core.validation.attrvalue.mDerSchema"),
InvalidMVirSchema("org.apache.syncope.core.validation.attrvalue.mVirSchema"),
+ InvalidName("org.apache.syncope.core.validation.name"),
InvalidNotification("org.apache.syncope.core.validation.notification"),
InvalidPassword("org.apache.syncope.core.validation.syncopeuser.password"),
InvalidPasswordPolicy("org.apache.syncope.core.validation.passwordpolicy"),
@@ -42,7 +42,8 @@ public enum EntityViolationType {
InvalidReport("org.apache.syncope.core.validation.report"),
InvalidResource("org.apache.syncope.core.validation.externalresource"),
InvalidRoleOwner("org.apache.syncope.core.validation.syncoperole.owner"),
- InvalidSchemaTypeSpecification("org.apache.syncope.core.validation.attrvalue.schemaTypeSpecification"),
+ InvalidSchemaEnum("org.apache.syncope.core.validation.schema.enum"),
+ InvalidSchemaMultivalueUnique("org.apache.syncope.core.validation.schema.multivalueUnique"),
InvalidSchedTask("org.apache.syncope.core.validation.schedtask"),
InvalidSyncTask("org.apache.syncope.core.validation.synctask"),
InvalidSyncPolicy("org.apache.syncope.core.validation.syncpolicy"),
@@ -51,7 +52,6 @@ public enum EntityViolationType {
InvalidUVirSchema("org.apache.syncope.core.validation.attrvalue.uVirSchema"),
InvalidUsername("org.apache.syncope.core.validation.syncopeuser.username"),
InvalidValueList("org.apache.syncope.core.validation.attr.valueList"),
- MultivalueAndUniqueConstraint("org.apache.syncope.core.validation.schema.multivalueAndUniqueConstraint"),
MoreThanOneNonNull("org.apache.syncope.core.validation.attrvalue.moreThanOneNonNull");
private String message;
Modified: syncope/trunk/common/src/main/java/org/apache/syncope/common/types/SyncopeClientExceptionType.java
URL: http://svn.apache.org/viewvc/syncope/trunk/common/src/main/java/org/apache/syncope/common/types/SyncopeClientExceptionType.java?rev=1525004&r1=1525003&r2=1525004&view=diff
==============================================================================
--- syncope/trunk/common/src/main/java/org/apache/syncope/common/types/SyncopeClientExceptionType.java (original)
+++ syncope/trunk/common/src/main/java/org/apache/syncope/common/types/SyncopeClientExceptionType.java Fri Sep 20 13:54:58 2013
@@ -42,16 +42,17 @@ public enum SyncopeClientExceptionType {
InvalidPropagationTaskExecReport(
"Syncope.InvalidPropagationTaskExecReport",
"Syncope.InvalidPropagationTaskExecReport.element"),
- InvalidUSchema("Syncope.InvalidUSchemaUpdate", "Syncope.InvalidUSchemaUpdate.name"),
- InvalidUDerSchema("Syncope.InvalidUDerSchemaUpdate", "Syncope.InvalidUDerSchemaUpdate.name"),
- InvalidUVirSchema("Syncope.InvalidUVirSchemaUpdate", "Syncope.InvalidUVirSchemaUpdate.name"),
- InvalidRSchema("Syncope.InvalidRSchemaUpdate", "Syncope.InvalidRSchemaUpdate.name"),
- InvalidRDerSchema("Syncope.InvalidRDerSchemaUpdate", "Syncope.InvalidRDerSchemaUpdate.name"),
- InvalidRVirSchema("Syncope.InvalidRVirSchemaUpdate", "Syncope.InvalidRVirSchemaUpdate.name"),
- InvalidMSchema("Syncope.InvalidMSchemaUpdate", "Syncope.InvalidMSchemaUpdate.name"),
- InvalidMDerSchema("Syncope.InvalidMDerSchemaUpdate", "Syncope.InvalidMDerSchemaUpdate.name"),
- InvalidMVirSchema("Syncope.InvalidMVirSchemaUpdate", "Syncope.InvalidMVirSchemaUpdate.name"),
- InvalidSchemaMapping("Syncope.InvalidSchemaMapping", ""),
+ InvalidUSchema("Syncope.InvalidUSchema", "Syncope.InvalidUSchema.name"),
+ InvalidUDerSchema("Syncope.InvalidUDerSchema", "Syncope.InvalidUDerSchema.name"),
+ InvalidUVirSchema("Syncope.InvalidUVirSchema", "Syncope.InvalidUVirSchema.name"),
+ InvalidRSchema("Syncope.InvalidRSchema", "Syncope.InvalidRSchema.name"),
+ InvalidRDerSchema("Syncope.InvalidRDerSchema", "Syncope.InvalidRDerSchema.name"),
+ InvalidRVirSchema("Syncope.InvalidRVirSchema", "Syncope.InvalidRVirSchema.name"),
+ InvalidMSchema("Syncope.InvalidMSchema", "Syncope.InvalidMSchema.name"),
+ InvalidMDerSchema("Syncope.InvalidMDerSchema", "Syncope.InvalidMDerSchema.name"),
+ InvalidMVirSchema("Syncope.InvalidMVirSchema", "Syncope.InvalidMVirSchema.name"),
+ InvalidSchemaMapping("Syncope.InvalidSchemaMapping", "Syncope.InvalidSchemaMapping.name"),
+ InvalidSyncopeConf("Syncope.InvalidSyncopeConf", "Syncope.InvalidSyncopeConf.name"),
InvalidSyncopeUser("Syncope.InvalidSyncopeUser", "Syncope.InvalidSyncopeUser.element"),
InvalidExternalResource("Syncope.InvalidExternalResource", "Syncope.InvalidExternalResource.element"),
InvalidNotification("Syncope.InvalidNotification", "Syncope.InvalidNotification.element"),
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/AbstractDerSchema.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/AbstractDerSchema.java?rev=1525004&r1=1525003&r2=1525004&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/AbstractDerSchema.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/AbstractDerSchema.java Fri Sep 20 13:54:58 2013
@@ -22,8 +22,10 @@ import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.MappedSuperclass;
import org.apache.syncope.common.types.AttributeSchemaType;
+import org.apache.syncope.core.persistence.validation.entity.SchemaNameCheck;
@MappedSuperclass
+@SchemaNameCheck
public abstract class AbstractDerSchema extends AbstractBaseBean {
private static final long serialVersionUID = -6173643493348674060L;
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/AbstractSchema.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/AbstractSchema.java?rev=1525004&r1=1525003&r2=1525004&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/AbstractSchema.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/AbstractSchema.java Fri Sep 20 13:54:58 2013
@@ -34,9 +34,11 @@ import org.apache.syncope.common.types.A
import org.apache.syncope.core.persistence.validation.attrvalue.AbstractValidator;
import org.apache.syncope.core.persistence.validation.attrvalue.BasicValidator;
import org.apache.syncope.core.persistence.validation.entity.SchemaCheck;
+import org.apache.syncope.core.persistence.validation.entity.SchemaNameCheck;
@MappedSuperclass
@SchemaCheck
+@SchemaNameCheck
public abstract class AbstractSchema extends AbstractBaseBean {
public static String enumValuesSeparator = ";";
@@ -151,7 +153,7 @@ public abstract class AbstractSchema ext
if (getValidatorClass() != null && getValidatorClass().length() > 0) {
try {
Constructor validatorConstructor = Class.forName(getValidatorClass()).getConstructor(
- new Class[]{getClass().getSuperclass()});
+ new Class[] {getClass().getSuperclass()});
validator = (AbstractValidator) validatorConstructor.newInstance(this);
} catch (Exception e) {
LOG.error("Could not instantiate validator of type " + getValidatorClass()
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/AbstractVirSchema.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/AbstractVirSchema.java?rev=1525004&r1=1525003&r2=1525004&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/AbstractVirSchema.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/AbstractVirSchema.java Fri Sep 20 13:54:58 2013
@@ -25,13 +25,15 @@ import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import org.apache.syncope.common.types.AttributeSchemaType;
+import org.apache.syncope.core.persistence.validation.entity.SchemaNameCheck;
@MappedSuperclass
+@SchemaNameCheck
public abstract class AbstractVirSchema extends AbstractBaseBean {
@Id
private String name;
-
+
@Basic
@Min(0)
@Max(1)
@@ -74,5 +76,4 @@ public abstract class AbstractVirSchema
public void setReadonly(final boolean readonly) {
this.readonly = getBooleanAsInteger(readonly);
}
-
}
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/SyncopeConf.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/SyncopeConf.java?rev=1525004&r1=1525003&r2=1525004&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/SyncopeConf.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/SyncopeConf.java Fri Sep 20 13:54:58 2013
@@ -21,8 +21,10 @@ package org.apache.syncope.core.persiste
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
+import org.apache.syncope.core.persistence.validation.entity.SyncopeConfCheck;
@Entity
+@SyncopeConfCheck
public class SyncopeConf extends AbstractBaseBean {
private static final long serialVersionUID = -899341077670090120L;
@@ -38,7 +40,7 @@ public class SyncopeConf extends Abstrac
return key;
}
- public void setKey(String key) {
+ public void setKey(final String key) {
this.key = key;
}
@@ -46,7 +48,7 @@ public class SyncopeConf extends Abstrac
return value;
}
- public void setValue(String value) {
+ public void setValue(final String value) {
this.value = value;
}
}
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/user/UDerSchema.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/user/UDerSchema.java?rev=1525004&r1=1525003&r2=1525004&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/user/UDerSchema.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/user/UDerSchema.java Fri Sep 20 13:54:58 2013
@@ -20,10 +20,8 @@ package org.apache.syncope.core.persiste
import javax.persistence.Entity;
import org.apache.syncope.core.persistence.beans.AbstractDerSchema;
-import org.apache.syncope.core.persistence.validation.entity.USchemaCheck;
@Entity
-@USchemaCheck
public class UDerSchema extends AbstractDerSchema {
private static final long serialVersionUID = 6244467775394201229L;
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/user/USchema.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/user/USchema.java?rev=1525004&r1=1525003&r2=1525004&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/user/USchema.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/user/USchema.java Fri Sep 20 13:54:58 2013
@@ -21,11 +21,9 @@ package org.apache.syncope.core.persiste
import javax.persistence.Cacheable;
import javax.persistence.Entity;
import org.apache.syncope.core.persistence.beans.AbstractSchema;
-import org.apache.syncope.core.persistence.validation.entity.USchemaCheck;
@Entity
@Cacheable
-@USchemaCheck
public class USchema extends AbstractSchema {
private static final long serialVersionUID = -2776513645999914610L;
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/user/UVirSchema.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/user/UVirSchema.java?rev=1525004&r1=1525003&r2=1525004&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/user/UVirSchema.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/user/UVirSchema.java Fri Sep 20 13:54:58 2013
@@ -21,11 +21,9 @@ package org.apache.syncope.core.persiste
import javax.persistence.Cacheable;
import javax.persistence.Entity;
import org.apache.syncope.core.persistence.beans.AbstractVirSchema;
-import org.apache.syncope.core.persistence.validation.entity.USchemaCheck;
@Entity
@Cacheable
-@USchemaCheck
public class UVirSchema extends AbstractVirSchema {
private static final long serialVersionUID = 1089308700791426201L;
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/attrvalue/EmailAddressValidator.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/attrvalue/EmailAddressValidator.java?rev=1525004&r1=1525003&r2=1525004&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/attrvalue/EmailAddressValidator.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/attrvalue/EmailAddressValidator.java Fri Sep 20 13:54:58 2013
@@ -39,11 +39,9 @@ public class EmailAddressValidator exten
@Override
protected void doValidate(final AbstractAttrValue attributeValue) throws InvalidAttrValueException {
-
- Matcher matcher = EMAIL_PATTERN.matcher((CharSequence) attributeValue.getValue());
+ Matcher matcher = EMAIL_PATTERN.matcher(attributeValue.<CharSequence>getValue());
if (!matcher.matches()) {
- String error = "\"" + attributeValue.getValue() + "\" is not a valid email address";
- throw new InvalidAttrValueException(error);
+ throw new InvalidAttrValueException("\"" + attributeValue.getValue() + "\" is not a valid email address");
}
}
}
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=1525004&r1=1525003&r2=1525004&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 Sep 20 13:54:58 2013
@@ -18,17 +18,28 @@
*/
package org.apache.syncope.core.persistence.validation.entity;
+import java.lang.annotation.Annotation;
+import java.util.regex.Pattern;
+import javax.validation.ConstraintValidator;
import org.apache.syncope.common.types.EntityViolationType;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-public abstract class AbstractValidator {
+public abstract class AbstractValidator<A extends Annotation, T> implements ConstraintValidator<A, T> {
/**
* Logger.
*/
protected static final Logger LOG = LoggerFactory.getLogger(AbstractValidator.class);
+ protected static final Pattern NAME_PATTERN =
+ Pattern.compile("^[\\w \\-@.]+", Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE);
+
+ @Override
+ public void initialize(final A annotation) {
+ // no initialization
+ }
+
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=1525004&r1=1525003&r2=1525004&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 Sep 20 13:54:58 2013
@@ -18,20 +18,14 @@
*/
package org.apache.syncope.core.persistence.validation.entity;
-import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;
import org.apache.syncope.common.types.EntityViolationType;
import org.apache.syncope.core.persistence.beans.AbstractAttr;
-public class AttrValidator extends AbstractValidator implements ConstraintValidator<AttrCheck, AbstractAttr> {
-
- @Override
- public void initialize(final AttrCheck constraintAnnotation) {
- }
+public class AttrValidator extends AbstractValidator<AttrCheck, AbstractAttr> {
@Override
public boolean isValid(final AbstractAttr object, final ConstraintValidatorContext context) {
-
boolean isValid;
if (object == null) {
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=1525004&r1=1525003&r2=1525004&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 Sep 20 13:54:58 2013
@@ -18,23 +18,16 @@
*/
package org.apache.syncope.core.persistence.validation.entity;
-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;
import org.apache.syncope.core.persistence.beans.AbstractSchema;
-public class AttrValueValidator extends AbstractValidator implements
- ConstraintValidator<AttrValueCheck, AbstractAttrValue> {
-
- @Override
- public void initialize(final AttrValueCheck constraintAnnotation) {
- }
+public class AttrValueValidator extends AbstractValidator<AttrValueCheck, AbstractAttrValue> {
@Override
public boolean isValid(final AbstractAttrValue object, final ConstraintValidatorContext context) {
-
boolean isValid;
if (object == null) {
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=1525004&r1=1525003&r2=1525004&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 Sep 20 13:54:58 2013
@@ -18,24 +18,17 @@
*/
package org.apache.syncope.core.persistence.validation.entity;
-import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;
import org.apache.syncope.common.types.EntityViolationType;
import org.apache.syncope.core.persistence.beans.ConnInstance;
import org.apache.syncope.core.util.URIUtil;
-public class ConnInstanceValidator extends AbstractValidator implements
- ConstraintValidator<ConnInstanceCheck, ConnInstance> {
-
- private static final String[] ALLOWED_SCHEMES = {"file", "connid", "connids"};
-
- @Override
- public void initialize(final ConnInstanceCheck constraintAnnotation) {
- }
+public class ConnInstanceValidator extends AbstractValidator<ConnInstanceCheck, ConnInstance> {
@Override
public boolean isValid(final ConnInstance connInstance, final ConstraintValidatorContext context) {
boolean isValid = true;
+
try {
URIUtil.buildForConnId(connInstance.getLocation());
} catch (Exception e) {
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=1525004&r1=1525003&r2=1525004&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 Sep 20 13:54:58 2013
@@ -18,7 +18,6 @@
*/
package org.apache.syncope.core.persistence.validation.entity;
-import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;
import org.apache.commons.lang3.StringUtils;
import org.apache.syncope.common.types.EntityViolationType;
@@ -27,12 +26,7 @@ import org.apache.syncope.core.persisten
import org.apache.syncope.core.persistence.beans.ExternalResource;
import org.apache.syncope.core.propagation.PropagationActions;
-public class ExternalResourceValidator extends AbstractValidator implements
- ConstraintValidator<ExternalResourceCheck, ExternalResource> {
-
- @Override
- public void initialize(final ExternalResourceCheck constraintAnnotation) {
- }
+public class ExternalResourceValidator extends AbstractValidator<ExternalResourceCheck, ExternalResource> {
private boolean isValid(final AbstractMappingItem item, final ConstraintValidatorContext context) {
if (StringUtils.isBlank(item.getExtAttrName())) {
@@ -104,6 +98,13 @@ public class ExternalResourceValidator e
public boolean isValid(final ExternalResource resource, final ConstraintValidatorContext context) {
context.disableDefaultConstraintViolation();
+ if (!NAME_PATTERN.matcher(resource.getName()).matches()) {
+ context.buildConstraintViolationWithTemplate(
+ getTemplate(EntityViolationType.InvalidName, "Invalid Resource name")).
+ addNode("name").addConstraintViolation();
+ return false;
+ }
+
if (StringUtils.isNotBlank(resource.getPropagationActionsClassName())) {
Class<?> actionsClass = null;
boolean isAssignable = false;
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=1525004&r1=1525003&r2=1525004&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 Sep 20 13:54:58 2013
@@ -18,22 +18,15 @@
*/
package org.apache.syncope.core.persistence.validation.entity;
-import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;
import org.apache.syncope.common.types.EntityViolationType;
import org.apache.syncope.core.persistence.beans.Notification;
-public class NotificationValidator extends AbstractValidator implements
- ConstraintValidator<NotificationCheck, Notification> {
-
- @Override
- public void initialize(final NotificationCheck constraintAnnotation) {
- }
+public class NotificationValidator extends AbstractValidator<NotificationCheck, Notification> {
@Override
public boolean isValid(final Notification value, final ConstraintValidatorContext context) {
-
context.disableDefaultConstraintViolation();
boolean isValid = true;
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=1525004&r1=1525003&r2=1525004&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 Sep 20 13:54:58 2013
@@ -18,7 +18,6 @@
*/
package org.apache.syncope.core.persistence.validation.entity;
-import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;
import org.apache.syncope.common.types.AccountPolicySpec;
import org.apache.syncope.common.types.EntityViolationType;
@@ -31,16 +30,12 @@ import org.apache.syncope.core.persisten
import org.apache.syncope.core.persistence.dao.PolicyDAO;
import org.springframework.beans.factory.annotation.Autowired;
-public class PolicyValidator extends AbstractValidator implements ConstraintValidator<PolicyCheck, Policy> {
+public class PolicyValidator extends AbstractValidator<PolicyCheck, Policy> {
@Autowired
private PolicyDAO policyDAO;
@Override
- public void initialize(final PolicyCheck constraintAnnotation) {
- }
-
- @Override
public boolean isValid(final Policy object, final ConstraintValidatorContext context) {
context.disableDefaultConstraintViolation();
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=1525004&r1=1525003&r2=1525004&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 Sep 20 13:54:58 2013
@@ -20,7 +20,6 @@ package org.apache.syncope.core.persiste
import java.util.List;
-import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;
import org.apache.syncope.common.types.EntityViolationType;
@@ -28,16 +27,10 @@ import org.apache.syncope.common.types.P
import org.apache.syncope.core.persistence.beans.PropagationTask;
import org.apache.syncope.core.persistence.beans.TaskExec;
-public class PropagationTaskValidator extends AbstractValidator implements
- ConstraintValidator<PropagationTaskCheck, PropagationTask> {
-
- @Override
- public void initialize(final PropagationTaskCheck constraintAnnotation) {
- }
+public class PropagationTaskValidator extends AbstractValidator<PropagationTaskCheck, PropagationTask> {
@Override
public boolean isValid(final PropagationTask task, final ConstraintValidatorContext context) {
-
boolean isValid;
if (task == null) {
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=1525004&r1=1525003&r2=1525004&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 Sep 20 13:54:58 2013
@@ -22,7 +22,6 @@ import java.text.ParseException;
import java.util.HashSet;
import java.util.Set;
-import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;
import org.apache.syncope.common.report.ReportletConf;
@@ -30,16 +29,11 @@ import org.apache.syncope.common.types.E
import org.apache.syncope.core.persistence.beans.Report;
import org.quartz.CronExpression;
-public class ReportValidator extends AbstractValidator implements ConstraintValidator<ReportCheck, Report> {
-
- @Override
- public void initialize(final ReportCheck constraintAnnotation) {
- }
+public class ReportValidator extends AbstractValidator<ReportCheck, Report> {
@Override
@SuppressWarnings("ResultOfObjectAllocationIgnored")
public boolean isValid(final Report object, final ConstraintValidatorContext context) {
-
boolean isValid = true;
if (object.getCronExpression() != null) {
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=1525004&r1=1525003&r2=1525004&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 Sep 20 13:54:58 2013
@@ -20,7 +20,6 @@ package org.apache.syncope.core.persiste
import java.text.ParseException;
-import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;
import org.apache.syncope.common.types.EntityViolationType;
@@ -28,16 +27,11 @@ import org.apache.syncope.core.persisten
import org.quartz.CronExpression;
import org.quartz.Job;
-public class SchedTaskValidator extends AbstractValidator implements ConstraintValidator<SchedTaskCheck, SchedTask> {
-
- @Override
- public void initialize(final SchedTaskCheck constraintAnnotation) {
- }
+public class SchedTaskValidator extends AbstractValidator<SchedTaskCheck, SchedTask> {
@Override
public boolean isValid(final SchedTask object, final ConstraintValidatorContext context) {
-
- boolean isValid = true;
+ boolean isValid;
Class<?> jobClass = null;
try {
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=1525004&r1=1525003&r2=1525004&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 Sep 20 13:54:58 2013
@@ -18,58 +18,35 @@
*/
package org.apache.syncope.core.persistence.validation.entity;
-import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;
+import org.apache.commons.lang3.StringUtils;
import org.apache.syncope.common.types.EntityViolationType;
import org.apache.syncope.common.types.AttributeSchemaType;
import org.apache.syncope.core.persistence.beans.AbstractSchema;
-public class SchemaValidator extends AbstractValidator implements ConstraintValidator<SchemaCheck, AbstractSchema> {
+public class SchemaValidator extends AbstractValidator<SchemaCheck, AbstractSchema> {
@Override
- public void initialize(final SchemaCheck constraintAnnotation) {
- }
-
- @Override
- public boolean isValid(final AbstractSchema object, final ConstraintValidatorContext context) {
-
- boolean isValid = false;
- EntityViolationType violation = null;
-
- try {
- if (object == null) {
- isValid = true;
- } else {
- isValid = object.getType() == null || !object.getType().equals(AttributeSchemaType.Enum)
- || object.getEnumerationValues() != null;
-
- if (!isValid) {
- violation = EntityViolationType.InvalidSchemaTypeSpecification;
-
- throw new Exception(object + " miss enumeration values");
- }
-
- isValid = object.isMultivalue()
- ? !object.isUniqueConstraint()
- : true;
-
- if (!isValid) {
- violation = EntityViolationType.MultivalueAndUniqueConstraint;
-
- throw new Exception(object + " cannot be multivalue and have unique constraint at the same time");
- }
- }
-
- return isValid;
- } catch (Exception e) {
- LOG.error("Error saving schema", e);
-
+ public boolean isValid(final AbstractSchema schema, final ConstraintValidatorContext context) {
+ boolean isValid = schema.getType() != AttributeSchemaType.Enum
+ || StringUtils.isNotBlank(schema.getEnumerationValues());
+ if (!isValid) {
context.disableDefaultConstraintViolation();
- context.buildConstraintViolationWithTemplate(getTemplate(violation, e.getMessage())).
- addNode(object.getClass().getSimpleName()).addConstraintViolation();
-
- return false;
+ context.buildConstraintViolationWithTemplate(
+ getTemplate(EntityViolationType.InvalidSchemaEnum, "Enumeration values missing")).
+ addNode("enumerationValues").addConstraintViolation();
+ } else {
+ isValid = !schema.isMultivalue() || !schema.isUniqueConstraint();
+ if (!isValid) {
+ context.disableDefaultConstraintViolation();
+ context.buildConstraintViolationWithTemplate(
+ getTemplate(EntityViolationType.InvalidSchemaMultivalueUnique,
+ "Cannot contemporary be multivalue and have unique constraint")).
+ addNode("multiValue").addConstraintViolation();
+ }
}
+
+ return isValid;
}
}
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=1525004&r1=1525003&r2=1525004&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 Sep 20 13:54:58 2013
@@ -18,7 +18,6 @@
*/
package org.apache.syncope.core.persistence.validation.entity;
-import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;
import org.apache.commons.lang3.StringUtils;
@@ -26,7 +25,7 @@ import org.apache.syncope.common.types.E
import org.apache.syncope.core.persistence.beans.SyncTask;
import org.apache.syncope.core.sync.SyncActions;
-public class SyncTaskValidator extends AbstractValidator implements ConstraintValidator<SyncTaskCheck, SyncTask> {
+public class SyncTaskValidator extends AbstractValidator<SyncTaskCheck, SyncTask> {
private final SchedTaskValidator schedV;
@@ -37,49 +36,38 @@ public class SyncTaskValidator extends A
}
@Override
- public void initialize(final SyncTaskCheck constraintAnnotation) {
- }
-
- @Override
public boolean isValid(final SyncTask object, final ConstraintValidatorContext context) {
+ boolean isValid = schedV.isValid(object, context);
+
+ if (isValid) {
+ isValid = object.getResource() != null;
+ if (!isValid) {
+ LOG.error("Resource is null");
+
+ context.disableDefaultConstraintViolation();
+ context.buildConstraintViolationWithTemplate(
+ getTemplate(EntityViolationType.InvalidSyncTask, "Resource cannot be null")).
+ addNode("resource").addConstraintViolation();
+ }
- boolean isValid;
+ if (StringUtils.isNotBlank(object.getActionsClassName())) {
+ Class<?> actionsClass = null;
+ boolean isAssignable = false;
+ try {
+ actionsClass = Class.forName(object.getActionsClassName());
+ isAssignable = SyncActions.class.isAssignableFrom(actionsClass);
+ } catch (Exception e) {
+ LOG.error("Invalid SyncActions specified", e);
+ isValid = false;
+ }
- if (object == null) {
- isValid = true;
- } else {
- isValid = schedV.isValid(object, context);
-
- if (isValid) {
- isValid = object.getResource() != null;
- if (!isValid) {
- LOG.error("Resource is null");
+ if (actionsClass == null || !isAssignable) {
+ isValid = false;
context.disableDefaultConstraintViolation();
context.buildConstraintViolationWithTemplate(
- getTemplate(EntityViolationType.InvalidSyncTask, "Resource cannot be null")).
- addNode("resource").addConstraintViolation();
- }
-
- if (StringUtils.isNotBlank(object.getActionsClassName())) {
- Class<?> actionsClass = null;
- boolean isAssignable = false;
- try {
- actionsClass = Class.forName(object.getActionsClassName());
- isAssignable = SyncActions.class.isAssignableFrom(actionsClass);
- } catch (Exception e) {
- LOG.error("Invalid SyncActions specified", e);
- isValid = false;
- }
-
- if (actionsClass == null || !isAssignable) {
- isValid = false;
-
- context.disableDefaultConstraintViolation();
- context.buildConstraintViolationWithTemplate(
- getTemplate(EntityViolationType.InvalidSyncTask, "Invalid class name")).
- addNode("actionsClassName").addConstraintViolation();
- }
+ 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=1525004&r1=1525003&r2=1525004&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 Sep 20 13:54:58 2013
@@ -18,17 +18,11 @@
*/
package org.apache.syncope.core.persistence.validation.entity;
-import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;
import org.apache.syncope.common.types.EntityViolationType;
import org.apache.syncope.core.persistence.beans.role.SyncopeRole;
-public class SyncopeRoleValidator extends AbstractValidator implements
- ConstraintValidator<SyncopeRoleCheck, SyncopeRole> {
-
- @Override
- public void initialize(final SyncopeRoleCheck constraintAnnotation) {
- }
+public class SyncopeRoleValidator extends AbstractValidator<SyncopeRoleCheck, SyncopeRole> {
@Override
public boolean isValid(final SyncopeRole object, final ConstraintValidatorContext context) {
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=1525004&r1=1525003&r2=1525004&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 Sep 20 13:54:58 2013
@@ -20,7 +20,6 @@ package org.apache.syncope.core.persiste
import java.util.ArrayList;
import java.util.List;
-import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;
import org.apache.syncope.common.types.AccountPolicySpec;
import org.apache.syncope.common.types.EntityViolationType;
@@ -37,8 +36,7 @@ import org.apache.syncope.core.policy.Pa
import org.apache.syncope.core.policy.PolicyEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
-public class SyncopeUserValidator extends AbstractValidator implements
- ConstraintValidator<SyncopeUserCheck, SyncopeUser> {
+public class SyncopeUserValidator extends AbstractValidator<SyncopeUserCheck, SyncopeUser> {
@Autowired
private PolicyDAO policyDAO;
@@ -53,10 +51,6 @@ public class SyncopeUserValidator extend
private AccountPolicyEnforcer apEnforcer;
@Override
- public void initialize(final SyncopeUserCheck constraintAnnotation) {
- }
-
- @Override
public boolean isValid(final SyncopeUser object, final ConstraintValidatorContext context) {
context.disableDefaultConstraintViolation();
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/data/SchemaDataBinder.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/data/SchemaDataBinder.java?rev=1525004&r1=1525003&r2=1525004&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/data/SchemaDataBinder.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/data/SchemaDataBinder.java Fri Sep 20 13:54:58 2013
@@ -20,6 +20,7 @@ package org.apache.syncope.core.rest.dat
import java.util.List;
import javax.ws.rs.core.Response;
+import org.apache.commons.lang3.StringUtils;
import org.apache.syncope.common.to.DerSchemaTO;
import org.apache.syncope.common.to.SchemaTO;
import org.apache.syncope.common.to.VirSchemaTO;
@@ -110,15 +111,13 @@ public class SchemaDataBinder {
SyncopeClientCompositeException scce =
new SyncopeClientCompositeException(Response.Status.BAD_REQUEST.getStatusCode());
- if (derSchemaTO.getExpression() == null) {
- SyncopeClientException requiredValuesMissing = new SyncopeClientException(
- SyncopeClientExceptionType.RequiredValuesMissing);
+ if (StringUtils.isBlank(derSchemaTO.getExpression())) {
+ SyncopeClientException requiredValuesMissing =
+ new SyncopeClientException(SyncopeClientExceptionType.RequiredValuesMissing);
requiredValuesMissing.addElement("expression");
scce.addException(requiredValuesMissing);
- }
-
- if (!jexlUtil.isExpressionValid(derSchemaTO.getExpression())) {
+ } else if (!jexlUtil.isExpressionValid(derSchemaTO.getExpression())) {
SyncopeClientException invalidMandatoryCondition = new SyncopeClientException(
SyncopeClientExceptionType.InvalidValues);
invalidMandatoryCondition.addElement(derSchemaTO.getExpression());
Modified: syncope/trunk/core/src/test/java/org/apache/syncope/core/persistence/dao/AttrTest.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/test/java/org/apache/syncope/core/persistence/dao/AttrTest.java?rev=1525004&r1=1525003&r2=1525004&view=diff
==============================================================================
--- syncope/trunk/core/src/test/java/org/apache/syncope/core/persistence/dao/AttrTest.java (original)
+++ syncope/trunk/core/src/test/java/org/apache/syncope/core/persistence/dao/AttrTest.java Fri Sep 20 13:54:58 2013
@@ -76,7 +76,6 @@ public class AttrTest extends AbstractDA
@Test
public void save() throws ClassNotFoundException {
-
SyncopeUser user = userDAO.find(1L);
USchema emailSchema = userSchemaDAO.find("email", USchema.class);
@@ -118,7 +117,6 @@ public class AttrTest extends AbstractDA
@Test
public void checkForEnumType() throws ClassNotFoundException {
-
SyncopeUser user = userDAO.find(1L);
USchema gender = userSchemaDAO.find("gender", USchema.class);
Modified: syncope/trunk/core/src/test/java/org/apache/syncope/core/persistence/dao/DerSchemaTest.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/test/java/org/apache/syncope/core/persistence/dao/DerSchemaTest.java?rev=1525004&r1=1525003&r2=1525004&view=diff
==============================================================================
--- syncope/trunk/core/src/test/java/org/apache/syncope/core/persistence/dao/DerSchemaTest.java (original)
+++ syncope/trunk/core/src/test/java/org/apache/syncope/core/persistence/dao/DerSchemaTest.java Fri Sep 20 13:54:58 2013
@@ -21,11 +21,15 @@ package org.apache.syncope.core.persiste
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
import java.util.List;
import org.apache.syncope.common.types.AttributableType;
+import org.apache.syncope.common.types.EntityViolationType;
import org.apache.syncope.core.persistence.beans.user.UDerSchema;
+import org.apache.syncope.core.persistence.validation.entity.InvalidEntityException;
import org.apache.syncope.core.util.AttributableUtil;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
@@ -71,4 +75,17 @@ public class DerSchemaTest extends Abstr
UDerSchema actual = derSchemaDAO.find("cn", UDerSchema.class);
assertNull("delete did not work", actual);
}
+
+ @Test
+ public void issueSYNCOPE418() {
+ UDerSchema schema = new UDerSchema();
+ schema.setName("http://schemas.examples.org/security/authorization/organizationUnit");
+
+ try {
+ derSchemaDAO.save(schema);
+ fail();
+ } catch (InvalidEntityException e) {
+ assertTrue(e.hasViolation(EntityViolationType.InvalidName));
+ }
+ }
}
Modified: syncope/trunk/core/src/test/java/org/apache/syncope/core/persistence/dao/ResourceTest.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/test/java/org/apache/syncope/core/persistence/dao/ResourceTest.java?rev=1525004&r1=1525003&r2=1525004&view=diff
==============================================================================
--- syncope/trunk/core/src/test/java/org/apache/syncope/core/persistence/dao/ResourceTest.java (original)
+++ syncope/trunk/core/src/test/java/org/apache/syncope/core/persistence/dao/ResourceTest.java Fri Sep 20 13:54:58 2013
@@ -23,11 +23,13 @@ import static org.junit.Assert.assertFal
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
import java.util.ArrayList;
import java.util.List;
import org.apache.syncope.common.types.AttributableType;
+import org.apache.syncope.common.types.EntityViolationType;
import org.apache.syncope.common.types.IntMappingType;
import org.apache.syncope.common.types.MappingPurpose;
import org.apache.syncope.core.persistence.beans.AbstractMappingItem;
@@ -248,4 +250,17 @@ public class ResourceTest extends Abstra
ExternalResource actual = resourceDAO.find("ws-target-resource-2");
assertNull(actual);
}
+
+ @Test
+ public void issueSYNCOPE418() {
+ ExternalResource resource = new ExternalResource();
+ resource.setName("http://schemas.examples.org/security/authorization/organizationUnit");
+
+ try {
+ resourceDAO.save(resource);
+ fail();
+ } catch (InvalidEntityException e) {
+ assertTrue(e.hasViolation(EntityViolationType.InvalidName));
+ }
+ }
}
Modified: syncope/trunk/core/src/test/java/org/apache/syncope/core/persistence/dao/SchemaTest.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/test/java/org/apache/syncope/core/persistence/dao/SchemaTest.java?rev=1525004&r1=1525003&r2=1525004&view=diff
==============================================================================
--- syncope/trunk/core/src/test/java/org/apache/syncope/core/persistence/dao/SchemaTest.java (original)
+++ syncope/trunk/core/src/test/java/org/apache/syncope/core/persistence/dao/SchemaTest.java Fri Sep 20 13:54:58 2013
@@ -22,11 +22,14 @@ import static org.junit.Assert.assertEqu
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
import java.util.List;
import org.apache.syncope.common.types.AttributableType;
import org.apache.syncope.common.types.AttributeSchemaType;
+import org.apache.syncope.common.types.EntityViolationType;
import org.apache.syncope.core.persistence.beans.AbstractSchema;
import org.apache.syncope.core.persistence.beans.role.RAttr;
import org.apache.syncope.core.persistence.beans.role.RSchema;
@@ -142,4 +145,17 @@ public class SchemaTest extends Abstract
USchema actual = schemaDAO.find("fullname", USchema.class);
assertNull("delete did not work", actual);
}
+
+ @Test
+ public void issueSYNCOPE418() {
+ USchema schema = new USchema();
+ schema.setName("http://schemas.examples.org/security/authorization/organizationUnit");
+
+ try {
+ schemaDAO.save(schema);
+ fail();
+ } catch (InvalidEntityException e) {
+ assertTrue(e.hasViolation(EntityViolationType.InvalidName));
+ }
+ }
}
Modified: syncope/trunk/core/src/test/java/org/apache/syncope/core/persistence/dao/VirSchemaTest.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/test/java/org/apache/syncope/core/persistence/dao/VirSchemaTest.java?rev=1525004&r1=1525003&r2=1525004&view=diff
==============================================================================
--- syncope/trunk/core/src/test/java/org/apache/syncope/core/persistence/dao/VirSchemaTest.java (original)
+++ syncope/trunk/core/src/test/java/org/apache/syncope/core/persistence/dao/VirSchemaTest.java Fri Sep 20 13:54:58 2013
@@ -22,10 +22,13 @@ import static org.junit.Assert.assertEqu
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
import java.util.List;
import org.apache.syncope.common.types.AttributableType;
+import org.apache.syncope.common.types.EntityViolationType;
import org.apache.syncope.core.persistence.beans.user.UVirSchema;
+import org.apache.syncope.core.persistence.validation.entity.InvalidEntityException;
import org.apache.syncope.core.util.AttributableUtil;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
@@ -71,4 +74,17 @@ public class VirSchemaTest extends Abstr
UVirSchema actual = virSchemaDAO.find("virtualdata", UVirSchema.class);
assertNull("delete did not work", actual);
}
+
+ @Test
+ public void issueSYNCOPE418() {
+ UVirSchema schema = new UVirSchema();
+ schema.setName("http://schemas.examples.org/security/authorization/organizationUnit");
+
+ try {
+ virSchemaDAO.save(schema);
+ fail();
+ } catch (InvalidEntityException e) {
+ assertTrue(e.hasViolation(EntityViolationType.InvalidName));
+ }
+ }
}
Modified: syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/ConfigurationTestITCase.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/ConfigurationTestITCase.java?rev=1525004&r1=1525003&r2=1525004&view=diff
==============================================================================
--- syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/ConfigurationTestITCase.java (original)
+++ syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/ConfigurationTestITCase.java Fri Sep 20 13:54:58 2013
@@ -22,6 +22,7 @@ import static org.junit.Assert.assertEqu
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
import java.io.IOException;
import java.io.InputStream;
@@ -36,7 +37,10 @@ import org.apache.http.HttpStatus;
import org.apache.syncope.common.SyncopeConstants;
import org.apache.syncope.common.services.ConfigurationService;
import org.apache.syncope.common.to.ConfigurationTO;
+import org.apache.syncope.common.types.EntityViolationType;
+import org.apache.syncope.common.types.SyncopeClientExceptionType;
import org.apache.syncope.common.validation.SyncopeClientCompositeException;
+import org.apache.syncope.common.validation.SyncopeClientException;
import org.junit.FixMethodOrder;
import org.junit.Test;
import org.junit.runners.MethodSorters;
@@ -130,4 +134,21 @@ public class ConfigurationTestITCase ext
assertFalse(configExport.isEmpty());
assertTrue(configExport.length() > 1000);
}
+
+ @Test
+ public void issueSYNCOPE418() {
+ ConfigurationTO configurationTO = new ConfigurationTO();
+ configurationTO.setKey("http://schemas.examples.org/security/authorization/organizationUnit");
+
+ try {
+ configurationService.create(configurationTO);
+ fail();
+ } catch (SyncopeClientCompositeException scce) {
+ SyncopeClientException sce = scce.getException(SyncopeClientExceptionType.InvalidSyncopeConf);
+
+ assertNotNull(sce.getElements());
+ assertEquals(1, sce.getElements().size());
+ assertTrue(sce.getElements().iterator().next().contains(EntityViolationType.InvalidName.name()));
+ }
+ }
}
Modified: syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/DerivedSchemaTestITCase.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/DerivedSchemaTestITCase.java?rev=1525004&r1=1525003&r2=1525004&view=diff
==============================================================================
--- syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/DerivedSchemaTestITCase.java (original)
+++ syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/DerivedSchemaTestITCase.java Fri Sep 20 13:54:58 2013
@@ -29,9 +29,11 @@ import org.apache.http.HttpStatus;
import org.apache.syncope.common.to.DerSchemaTO;
import org.apache.syncope.common.types.AttributableType;
+import org.apache.syncope.common.types.EntityViolationType;
import org.apache.syncope.common.types.SchemaType;
import org.apache.syncope.common.types.SyncopeClientExceptionType;
import org.apache.syncope.common.validation.SyncopeClientCompositeException;
+import org.apache.syncope.common.validation.SyncopeClientException;
import org.junit.FixMethodOrder;
import org.junit.Test;
import org.junit.runners.MethodSorters;
@@ -71,8 +73,7 @@ public class DerivedSchemaTestITCase ext
@Test
public void delete() {
- DerSchemaTO schema = schemaService.read(AttributableType.ROLE, SchemaType.DERIVED,
- "rderiveddata");
+ DerSchemaTO schema = schemaService.read(AttributableType.ROLE, SchemaType.DERIVED, "rderiveddata");
assertNotNull(schema);
schemaService.delete(AttributableType.ROLE, SchemaType.DERIVED,
@@ -137,4 +138,22 @@ public class DerivedSchemaTestITCase ext
assertTrue(scce.hasException(SyncopeClientExceptionType.RequiredValuesMissing));
}
}
+
+ @Test
+ public void issueSYNCOPE418() {
+ DerSchemaTO schema = new DerSchemaTO();
+ schema.setName("http://schemas.examples.org/security/authorization/organizationUnit");
+ schema.setExpression("derived_sx + '_' + derived_dx");
+
+ try {
+ createSchema(AttributableType.ROLE, SchemaType.DERIVED, schema);
+ fail();
+ } catch (SyncopeClientCompositeException scce) {
+ SyncopeClientException sce = scce.getException(SyncopeClientExceptionType.InvalidRDerSchema);
+
+ assertNotNull(sce.getElements());
+ assertEquals(1, sce.getElements().size());
+ assertTrue(sce.getElements().iterator().next().contains(EntityViolationType.InvalidName.name()));
+ }
+ }
}
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=1525004&r1=1525003&r2=1525004&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 Fri Sep 20 13:54:58 2013
@@ -42,6 +42,7 @@ import org.apache.syncope.common.to.Prop
import org.apache.syncope.common.to.ResourceTO;
import org.apache.syncope.common.types.ConnConfPropSchema;
import org.apache.syncope.common.types.ConnConfProperty;
+import org.apache.syncope.common.types.EntityViolationType;
import org.apache.syncope.common.types.IntMappingType;
import org.apache.syncope.common.types.MappingPurpose;
import org.apache.syncope.common.types.SyncopeClientExceptionType;
@@ -486,7 +487,22 @@ public class ResourceTestITCase extends
assertEquals(2, resourceTO.getRmapping().getItems().size());
}
- private ResourceTO buildResourceTO(String resourceName) {
+ @Test
+ public void issueSYNCOPE418() {
+ try {
+ resourceService.create(
+ buildResourceTO("http://schemas.examples.org/security/authorization/organizationUnit"));
+ fail();
+ } catch (SyncopeClientCompositeException scce) {
+ SyncopeClientException sce = scce.getException(SyncopeClientExceptionType.InvalidExternalResource);
+
+ assertNotNull(sce.getElements());
+ assertEquals(1, sce.getElements().size());
+ assertTrue(sce.getElements().iterator().next().contains(EntityViolationType.InvalidName.name()));
+ }
+ }
+
+ private ResourceTO buildResourceTO(final String resourceName) {
ResourceTO resourceTO = new ResourceTO();
resourceTO.setName(resourceName);
Modified: syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/SchemaTestITCase.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/SchemaTestITCase.java?rev=1525004&r1=1525003&r2=1525004&view=diff
==============================================================================
--- syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/SchemaTestITCase.java (original)
+++ syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/SchemaTestITCase.java Fri Sep 20 13:54:58 2013
@@ -73,7 +73,7 @@ public class SchemaTestITCase extends Ab
assertNotNull(sce.getElements());
assertEquals(1, sce.getElements().size());
- assertTrue(sce.getElements().iterator().next().contains(EntityViolationType.InvalidUSchema.name()));
+ assertTrue(sce.getElements().iterator().next().contains(EntityViolationType.InvalidName.name()));
}
}
@@ -92,7 +92,7 @@ public class SchemaTestITCase extends Ab
assertNotNull(sce.getElements());
assertEquals(1, sce.getElements().size());
assertTrue(sce.getElements().iterator().next()
- .contains(EntityViolationType.InvalidSchemaTypeSpecification.name()));
+ .contains(EntityViolationType.InvalidSchemaEnum.name()));
}
}
@@ -111,7 +111,7 @@ public class SchemaTestITCase extends Ab
assertNotNull(sce.getElements());
assertEquals(1, sce.getElements().size());
assertTrue(sce.getElements().iterator().next()
- .contains(EntityViolationType.InvalidSchemaTypeSpecification.name()));
+ .contains(EntityViolationType.InvalidSchemaEnum.name()));
}
}
@@ -266,6 +266,23 @@ public class SchemaTestITCase extends Ab
}
}
+ @Test
+ public void issueSYNCOPE418() {
+ SchemaTO schema = buildSchemaTO("http://schemas.examples.org/security/authorization/organizationUnit",
+ AttributeSchemaType.Double);
+
+ try {
+ createSchema(AttributableType.ROLE, SchemaType.NORMAL, schema);
+ fail();
+ } catch (SyncopeClientCompositeException scce) {
+ SyncopeClientException sce = scce.getException(SyncopeClientExceptionType.InvalidRSchema);
+
+ assertNotNull(sce.getElements());
+ assertEquals(1, sce.getElements().size());
+ assertTrue(sce.getElements().iterator().next().contains(EntityViolationType.InvalidName.name()));
+ }
+ }
+
private SchemaTO buildSchemaTO(final String name, final AttributeSchemaType type) {
SchemaTO schemaTO = new SchemaTO();
schemaTO.setName(name + getUUIDString());
Modified: syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/VirtualSchemaTestITCase.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/VirtualSchemaTestITCase.java?rev=1525004&r1=1525003&r2=1525004&view=diff
==============================================================================
--- syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/VirtualSchemaTestITCase.java (original)
+++ syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/VirtualSchemaTestITCase.java Fri Sep 20 13:54:58 2013
@@ -29,9 +29,11 @@ import org.apache.http.HttpStatus;
import org.apache.syncope.common.to.VirSchemaTO;
import org.apache.syncope.common.types.AttributableType;
+import org.apache.syncope.common.types.EntityViolationType;
import org.apache.syncope.common.types.SchemaType;
import org.apache.syncope.common.types.SyncopeClientExceptionType;
import org.apache.syncope.common.validation.SyncopeClientCompositeException;
+import org.apache.syncope.common.validation.SyncopeClientException;
import org.junit.FixMethodOrder;
import org.junit.Test;
import org.junit.runners.MethodSorters;
@@ -108,4 +110,21 @@ public class VirtualSchemaTestITCase ext
assertTrue(scce.hasException(SyncopeClientExceptionType.RequiredValuesMissing));
}
}
+
+ @Test
+ public void issueSYNCOPE418() {
+ VirSchemaTO schema = new VirSchemaTO();
+ schema.setName("http://schemas.examples.org/security/authorization/organizationUnit");
+
+ try {
+ createSchema(AttributableType.MEMBERSHIP, SchemaType.VIRTUAL, schema);
+ fail();
+ } catch (SyncopeClientCompositeException scce) {
+ SyncopeClientException sce = scce.getException(SyncopeClientExceptionType.InvalidMVirSchema);
+
+ assertNotNull(sce.getElements());
+ assertEquals(1, sce.getElements().size());
+ assertTrue(sce.getElements().iterator().next().contains(EntityViolationType.InvalidName.name()));
+ }
+ }
}