You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltaspike.apache.org by ra...@apache.org on 2014/06/04 22:00:08 UTC

[2/2] git commit: DELTASPIKE-624 - removed CamelCase from beanValidation package name

DELTASPIKE-624 - removed CamelCase from beanValidation package name


Project: http://git-wip-us.apache.org/repos/asf/deltaspike/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltaspike/commit/95826016
Tree: http://git-wip-us.apache.org/repos/asf/deltaspike/tree/95826016
Diff: http://git-wip-us.apache.org/repos/asf/deltaspike/diff/95826016

Branch: refs/heads/master
Commit: 95826016ff1afc65dc573527a7ab0fc1baf956c6
Parents: b438558
Author: Rafael Benevides <ra...@gmail.com>
Authored: Wed Jun 4 16:59:52 2014 -0300
Committer: Rafael Benevides <ra...@gmail.com>
Committed: Wed Jun 4 16:59:52 2014 -0300

----------------------------------------------------------------------
 .../CDIAwareConstraintValidatorFactory.java     | 70 -----------------
 .../CDIAwareConstraintValidatorFactory.java     | 70 +++++++++++++++++
 .../beanValidation/test/ArchiveUtils.java       | 33 --------
 .../beanValidation/test/ArrayChecker.java       | 29 -------
 .../beanValidation/test/ArraySize.java          | 46 ------------
 .../beanValidation/test/BasicPojo.java          | 36 ---------
 .../test/InjectableConstraintValidator.java     | 45 -----------
 .../test/InjectedValidationTest.java            | 79 --------------------
 .../beanvalidation/test/ArchiveUtils.java       | 33 ++++++++
 .../beanvalidation/test/ArrayChecker.java       | 29 +++++++
 .../beanvalidation/test/ArraySize.java          | 46 ++++++++++++
 .../beanvalidation/test/BasicPojo.java          | 36 +++++++++
 .../test/InjectableConstraintValidator.java     | 45 +++++++++++
 .../test/InjectedValidationTest.java            | 79 ++++++++++++++++++++
 14 files changed, 338 insertions(+), 338 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/deltaspike/blob/95826016/deltaspike/modules/bean-validation/impl/src/main/java/org/apache/deltaspike/beanValidation/impl/CDIAwareConstraintValidatorFactory.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/bean-validation/impl/src/main/java/org/apache/deltaspike/beanValidation/impl/CDIAwareConstraintValidatorFactory.java b/deltaspike/modules/bean-validation/impl/src/main/java/org/apache/deltaspike/beanValidation/impl/CDIAwareConstraintValidatorFactory.java
deleted file mode 100644
index 434a19a..0000000
--- a/deltaspike/modules/bean-validation/impl/src/main/java/org/apache/deltaspike/beanValidation/impl/CDIAwareConstraintValidatorFactory.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.deltaspike.beanValidation.impl;
-
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import javax.validation.ConstraintValidator;
-import javax.validation.ConstraintValidatorFactory;
-import javax.validation.Validation;
-
-import org.apache.deltaspike.core.api.provider.BeanProvider;
-
-/**
- * A factory for creating CDI Aware/Enabled ConstraintValidators.
- * 
- */
-public class CDIAwareConstraintValidatorFactory implements
-        ConstraintValidatorFactory
-{
-
-    private final Logger log = Logger
-            .getLogger(CDIAwareConstraintValidatorFactory.class.toString());
-    
-    private final ConstraintValidatorFactory delegate;
-
-    public CDIAwareConstraintValidatorFactory()
-    {
-        delegate = Validation.byDefaultProvider().configure().getDefaultConstraintValidatorFactory();
-        if (log.isLoggable(Level.CONFIG))
-        {
-            log.config("Setting up delegate ConstraintValidatorFactory as " + 
-                    delegate.getClass().getCanonicalName());
-        }
-    }
-
-    @Override
-    public <T extends ConstraintValidator<?, ?>> T getInstance(Class<T> validatorClass)
-    {
-        T resolvedInst = null;
-        resolvedInst = BeanProvider.getContextualReference(validatorClass,true);
-        if (resolvedInst == null)
-        {
-            if (log.isLoggable(Level.CONFIG))
-            {
-                log.config("No contextual instances found for class " + validatorClass.getCanonicalName() +
-                         " delegating to DefaultProvider behavior.");
-            }
-            resolvedInst = this.delegate.getInstance(validatorClass);
-        }
-        return resolvedInst;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/deltaspike/blob/95826016/deltaspike/modules/bean-validation/impl/src/main/java/org/apache/deltaspike/beanvalidation/impl/CDIAwareConstraintValidatorFactory.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/bean-validation/impl/src/main/java/org/apache/deltaspike/beanvalidation/impl/CDIAwareConstraintValidatorFactory.java b/deltaspike/modules/bean-validation/impl/src/main/java/org/apache/deltaspike/beanvalidation/impl/CDIAwareConstraintValidatorFactory.java
new file mode 100644
index 0000000..d481081
--- /dev/null
+++ b/deltaspike/modules/bean-validation/impl/src/main/java/org/apache/deltaspike/beanvalidation/impl/CDIAwareConstraintValidatorFactory.java
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.deltaspike.beanvalidation.impl;
+
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.validation.ConstraintValidator;
+import javax.validation.ConstraintValidatorFactory;
+import javax.validation.Validation;
+
+import org.apache.deltaspike.core.api.provider.BeanProvider;
+
+/**
+ * A factory for creating CDI Aware/Enabled ConstraintValidators.
+ * 
+ */
+public class CDIAwareConstraintValidatorFactory implements
+        ConstraintValidatorFactory
+{
+
+    private final Logger log = Logger
+            .getLogger(CDIAwareConstraintValidatorFactory.class.toString());
+    
+    private final ConstraintValidatorFactory delegate;
+
+    public CDIAwareConstraintValidatorFactory()
+    {
+        delegate = Validation.byDefaultProvider().configure().getDefaultConstraintValidatorFactory();
+        if (log.isLoggable(Level.CONFIG))
+        {
+            log.config("Setting up delegate ConstraintValidatorFactory as " + 
+                    delegate.getClass().getCanonicalName());
+        }
+    }
+
+    @Override
+    public <T extends ConstraintValidator<?, ?>> T getInstance(Class<T> validatorClass)
+    {
+        T resolvedInst = null;
+        resolvedInst = BeanProvider.getContextualReference(validatorClass,true);
+        if (resolvedInst == null)
+        {
+            if (log.isLoggable(Level.CONFIG))
+            {
+                log.config("No contextual instances found for class " + validatorClass.getCanonicalName() +
+                         " delegating to DefaultProvider behavior.");
+            }
+            resolvedInst = this.delegate.getInstance(validatorClass);
+        }
+        return resolvedInst;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/deltaspike/blob/95826016/deltaspike/modules/bean-validation/impl/src/test/java/org/apache/deltaspike/beanValidation/test/ArchiveUtils.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/bean-validation/impl/src/test/java/org/apache/deltaspike/beanValidation/test/ArchiveUtils.java b/deltaspike/modules/bean-validation/impl/src/test/java/org/apache/deltaspike/beanValidation/test/ArchiveUtils.java
deleted file mode 100644
index 5eb498d..0000000
--- a/deltaspike/modules/bean-validation/impl/src/test/java/org/apache/deltaspike/beanValidation/test/ArchiveUtils.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.deltaspike.beanValidation.test;
-
-import org.apache.deltaspike.test.utils.ShrinkWrapArchiveUtil;
-import org.jboss.shrinkwrap.api.spec.JavaArchive;
-
-public class ArchiveUtils {
-    public static JavaArchive[] getDeltaSpikeCore() {
-        JavaArchive[] coreArchives = ShrinkWrapArchiveUtil.getArchives(null,
-                "META-INF/beans.xml",
-                new String[]{"org.apache.deltaspike.core", "org.apache.deltaspike.test.category"},
-                null,
-                "ds-core");
-        return coreArchives;
-    }
-}

http://git-wip-us.apache.org/repos/asf/deltaspike/blob/95826016/deltaspike/modules/bean-validation/impl/src/test/java/org/apache/deltaspike/beanValidation/test/ArrayChecker.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/bean-validation/impl/src/test/java/org/apache/deltaspike/beanValidation/test/ArrayChecker.java b/deltaspike/modules/bean-validation/impl/src/test/java/org/apache/deltaspike/beanValidation/test/ArrayChecker.java
deleted file mode 100644
index 35542df..0000000
--- a/deltaspike/modules/bean-validation/impl/src/test/java/org/apache/deltaspike/beanValidation/test/ArrayChecker.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.deltaspike.beanValidation.test;
-
-public class ArrayChecker {
-    public boolean checkArray(ArraySize as, String[] data) {
-        if (data.length < as.min() || data.length > as.max()) {
-             return false;
-        } else {
-             return true;
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/deltaspike/blob/95826016/deltaspike/modules/bean-validation/impl/src/test/java/org/apache/deltaspike/beanValidation/test/ArraySize.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/bean-validation/impl/src/test/java/org/apache/deltaspike/beanValidation/test/ArraySize.java b/deltaspike/modules/bean-validation/impl/src/test/java/org/apache/deltaspike/beanValidation/test/ArraySize.java
deleted file mode 100644
index 4f85aa3..0000000
--- a/deltaspike/modules/bean-validation/impl/src/test/java/org/apache/deltaspike/beanValidation/test/ArraySize.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.deltaspike.beanValidation.test;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-import javax.validation.Constraint;
-import javax.validation.Payload;
-
-import static java.lang.annotation.ElementType.FIELD;
-import static java.lang.annotation.ElementType.METHOD;
-import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.ElementType.TYPE;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-
-@Constraint(validatedBy = InjectableConstraintValidator.class)
-@Target({ TYPE, METHOD, PARAMETER, FIELD })
-@Retention(RUNTIME)
-@Documented
-public @interface ArraySize {
-    int min() default 0;
-    int max() default Integer.MAX_VALUE;
-    String message() default "{org.apache.deltaspike.modules.beanval.constraints.arraySize}";
-
-    Class<?>[] groups() default {};
-
-    Class<? extends Payload>[] payload() default {};
-}

http://git-wip-us.apache.org/repos/asf/deltaspike/blob/95826016/deltaspike/modules/bean-validation/impl/src/test/java/org/apache/deltaspike/beanValidation/test/BasicPojo.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/bean-validation/impl/src/test/java/org/apache/deltaspike/beanValidation/test/BasicPojo.java b/deltaspike/modules/bean-validation/impl/src/test/java/org/apache/deltaspike/beanValidation/test/BasicPojo.java
deleted file mode 100644
index 8064598..0000000
--- a/deltaspike/modules/bean-validation/impl/src/test/java/org/apache/deltaspike/beanValidation/test/BasicPojo.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.deltaspike.beanValidation.test;
-
-public class BasicPojo
-{
-    @ArraySize(min=1)
-    private String[] value;
-
-    public String[] getValue()
-    {
-        return value;
-    }
-
-    public void setValue(String[] value)
-    {
-        this.value = value;
-    }
-    
-}

http://git-wip-us.apache.org/repos/asf/deltaspike/blob/95826016/deltaspike/modules/bean-validation/impl/src/test/java/org/apache/deltaspike/beanValidation/test/InjectableConstraintValidator.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/bean-validation/impl/src/test/java/org/apache/deltaspike/beanValidation/test/InjectableConstraintValidator.java b/deltaspike/modules/bean-validation/impl/src/test/java/org/apache/deltaspike/beanValidation/test/InjectableConstraintValidator.java
deleted file mode 100644
index 731c1f7..0000000
--- a/deltaspike/modules/bean-validation/impl/src/test/java/org/apache/deltaspike/beanValidation/test/InjectableConstraintValidator.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.deltaspike.beanValidation.test;
-
-import javax.inject.Inject;
-import javax.validation.ConstraintValidator;
-import javax.validation.ConstraintValidatorContext;
-
-public class InjectableConstraintValidator implements
-        ConstraintValidator<ArraySize, String[]>
-{
-    @Inject
-    private ArrayChecker arrayChecker;
-
-    private ArraySize arraySize;
-
-    @Override
-    public void initialize(ArraySize arraySize)
-    {
-        this.arraySize = arraySize;
-    }
-
-    @Override
-    public boolean isValid(String[] values, ConstraintValidatorContext context)
-    {
-       return arrayChecker.checkArray(arraySize, values);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/deltaspike/blob/95826016/deltaspike/modules/bean-validation/impl/src/test/java/org/apache/deltaspike/beanValidation/test/InjectedValidationTest.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/bean-validation/impl/src/test/java/org/apache/deltaspike/beanValidation/test/InjectedValidationTest.java b/deltaspike/modules/bean-validation/impl/src/test/java/org/apache/deltaspike/beanValidation/test/InjectedValidationTest.java
deleted file mode 100644
index 58ee7f9..0000000
--- a/deltaspike/modules/bean-validation/impl/src/test/java/org/apache/deltaspike/beanValidation/test/InjectedValidationTest.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.deltaspike.beanValidation.test;
-
-import java.util.Set;
-
-import javax.validation.ConstraintViolation;
-import javax.validation.Validation;
-import javax.validation.Validator;
-
-import org.apache.deltaspike.beanValidation.impl.CDIAwareConstraintValidatorFactory;
-import org.apache.deltaspike.test.category.WebProfileCategory;
-import org.jboss.arquillian.container.test.api.Deployment;
-import org.jboss.arquillian.junit.Arquillian;
-import org.jboss.shrinkwrap.api.ShrinkWrap;
-import org.jboss.shrinkwrap.api.asset.EmptyAsset;
-import org.jboss.shrinkwrap.api.spec.WebArchive;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-import org.junit.runner.RunWith;
-
-@RunWith(Arquillian.class)
-public class InjectedValidationTest
-{
-    @Deployment
-    public static WebArchive createArchive()
-    {
-        return ShrinkWrap.create(WebArchive.class,"beanval.war")
-                .addClasses(BasicPojo.class,InjectableConstraintValidator.class,
-                        CDIAwareConstraintValidatorFactory.class,ArraySize.class,
-                        ArrayChecker.class)
-                .addAsWebInfResource("validation.xml", "classes/META-INF/validation.xml")
-                .addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml")
-                .addAsLibraries(ArchiveUtils.getDeltaSpikeCore());
-    }
-    
-    private Validator validator;
-    
-    @Before
-    public void initValidator()
-    {
-        this.validator = Validation.byDefaultProvider().configure()
-                .constraintValidatorFactory(new CDIAwareConstraintValidatorFactory())
-                .buildValidatorFactory().getValidator();
-    }
-    
-    @Test
-    public void testValidate()
-    {
-        String[] entries = new String[]{"abc","def","ghi"};
-        BasicPojo p = new BasicPojo();
-        p.setValue(entries);
-        final Set<ConstraintViolation<BasicPojo>> violations = validator.validate(p);
-        StringBuilder sb = new StringBuilder();
-        for(ConstraintViolation<BasicPojo> violation : violations) {
-            sb.append(violation.getMessage() + " "+ violation.getPropertyPath());
-        }
-        Assert.assertTrue(sb.toString(),violations.isEmpty());
-        
-    }
-}

http://git-wip-us.apache.org/repos/asf/deltaspike/blob/95826016/deltaspike/modules/bean-validation/impl/src/test/java/org/apache/deltaspike/beanvalidation/test/ArchiveUtils.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/bean-validation/impl/src/test/java/org/apache/deltaspike/beanvalidation/test/ArchiveUtils.java b/deltaspike/modules/bean-validation/impl/src/test/java/org/apache/deltaspike/beanvalidation/test/ArchiveUtils.java
new file mode 100644
index 0000000..ebfde33
--- /dev/null
+++ b/deltaspike/modules/bean-validation/impl/src/test/java/org/apache/deltaspike/beanvalidation/test/ArchiveUtils.java
@@ -0,0 +1,33 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.deltaspike.beanvalidation.test;
+
+import org.apache.deltaspike.test.utils.ShrinkWrapArchiveUtil;
+import org.jboss.shrinkwrap.api.spec.JavaArchive;
+
+public class ArchiveUtils {
+    public static JavaArchive[] getDeltaSpikeCore() {
+        JavaArchive[] coreArchives = ShrinkWrapArchiveUtil.getArchives(null,
+                "META-INF/beans.xml",
+                new String[]{"org.apache.deltaspike.core", "org.apache.deltaspike.test.category"},
+                null,
+                "ds-core");
+        return coreArchives;
+    }
+}

http://git-wip-us.apache.org/repos/asf/deltaspike/blob/95826016/deltaspike/modules/bean-validation/impl/src/test/java/org/apache/deltaspike/beanvalidation/test/ArrayChecker.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/bean-validation/impl/src/test/java/org/apache/deltaspike/beanvalidation/test/ArrayChecker.java b/deltaspike/modules/bean-validation/impl/src/test/java/org/apache/deltaspike/beanvalidation/test/ArrayChecker.java
new file mode 100644
index 0000000..d2f288f
--- /dev/null
+++ b/deltaspike/modules/bean-validation/impl/src/test/java/org/apache/deltaspike/beanvalidation/test/ArrayChecker.java
@@ -0,0 +1,29 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.deltaspike.beanvalidation.test;
+
+public class ArrayChecker {
+    public boolean checkArray(ArraySize as, String[] data) {
+        if (data.length < as.min() || data.length > as.max()) {
+             return false;
+        } else {
+             return true;
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/deltaspike/blob/95826016/deltaspike/modules/bean-validation/impl/src/test/java/org/apache/deltaspike/beanvalidation/test/ArraySize.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/bean-validation/impl/src/test/java/org/apache/deltaspike/beanvalidation/test/ArraySize.java b/deltaspike/modules/bean-validation/impl/src/test/java/org/apache/deltaspike/beanvalidation/test/ArraySize.java
new file mode 100644
index 0000000..1f0c89a
--- /dev/null
+++ b/deltaspike/modules/bean-validation/impl/src/test/java/org/apache/deltaspike/beanvalidation/test/ArraySize.java
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.deltaspike.beanvalidation.test;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.validation.Constraint;
+import javax.validation.Payload;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+@Constraint(validatedBy = InjectableConstraintValidator.class)
+@Target({ TYPE, METHOD, PARAMETER, FIELD })
+@Retention(RUNTIME)
+@Documented
+public @interface ArraySize {
+    int min() default 0;
+    int max() default Integer.MAX_VALUE;
+    String message() default "{org.apache.deltaspike.modules.beanval.constraints.arraySize}";
+
+    Class<?>[] groups() default {};
+
+    Class<? extends Payload>[] payload() default {};
+}

http://git-wip-us.apache.org/repos/asf/deltaspike/blob/95826016/deltaspike/modules/bean-validation/impl/src/test/java/org/apache/deltaspike/beanvalidation/test/BasicPojo.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/bean-validation/impl/src/test/java/org/apache/deltaspike/beanvalidation/test/BasicPojo.java b/deltaspike/modules/bean-validation/impl/src/test/java/org/apache/deltaspike/beanvalidation/test/BasicPojo.java
new file mode 100644
index 0000000..580089d
--- /dev/null
+++ b/deltaspike/modules/bean-validation/impl/src/test/java/org/apache/deltaspike/beanvalidation/test/BasicPojo.java
@@ -0,0 +1,36 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.deltaspike.beanvalidation.test;
+
+public class BasicPojo
+{
+    @ArraySize(min=1)
+    private String[] value;
+
+    public String[] getValue()
+    {
+        return value;
+    }
+
+    public void setValue(String[] value)
+    {
+        this.value = value;
+    }
+    
+}

http://git-wip-us.apache.org/repos/asf/deltaspike/blob/95826016/deltaspike/modules/bean-validation/impl/src/test/java/org/apache/deltaspike/beanvalidation/test/InjectableConstraintValidator.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/bean-validation/impl/src/test/java/org/apache/deltaspike/beanvalidation/test/InjectableConstraintValidator.java b/deltaspike/modules/bean-validation/impl/src/test/java/org/apache/deltaspike/beanvalidation/test/InjectableConstraintValidator.java
new file mode 100644
index 0000000..79ffaf5
--- /dev/null
+++ b/deltaspike/modules/bean-validation/impl/src/test/java/org/apache/deltaspike/beanvalidation/test/InjectableConstraintValidator.java
@@ -0,0 +1,45 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.deltaspike.beanvalidation.test;
+
+import javax.inject.Inject;
+import javax.validation.ConstraintValidator;
+import javax.validation.ConstraintValidatorContext;
+
+public class InjectableConstraintValidator implements
+        ConstraintValidator<ArraySize, String[]>
+{
+    @Inject
+    private ArrayChecker arrayChecker;
+
+    private ArraySize arraySize;
+
+    @Override
+    public void initialize(ArraySize arraySize)
+    {
+        this.arraySize = arraySize;
+    }
+
+    @Override
+    public boolean isValid(String[] values, ConstraintValidatorContext context)
+    {
+       return arrayChecker.checkArray(arraySize, values);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/deltaspike/blob/95826016/deltaspike/modules/bean-validation/impl/src/test/java/org/apache/deltaspike/beanvalidation/test/InjectedValidationTest.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/bean-validation/impl/src/test/java/org/apache/deltaspike/beanvalidation/test/InjectedValidationTest.java b/deltaspike/modules/bean-validation/impl/src/test/java/org/apache/deltaspike/beanvalidation/test/InjectedValidationTest.java
new file mode 100644
index 0000000..89fc7c8
--- /dev/null
+++ b/deltaspike/modules/bean-validation/impl/src/test/java/org/apache/deltaspike/beanvalidation/test/InjectedValidationTest.java
@@ -0,0 +1,79 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.deltaspike.beanvalidation.test;
+
+import java.util.Set;
+
+import javax.validation.ConstraintViolation;
+import javax.validation.Validation;
+import javax.validation.Validator;
+
+import org.apache.deltaspike.beanvalidation.impl.CDIAwareConstraintValidatorFactory;
+import org.apache.deltaspike.test.category.WebProfileCategory;
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.asset.EmptyAsset;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.junit.runner.RunWith;
+
+@RunWith(Arquillian.class)
+public class InjectedValidationTest
+{
+    @Deployment
+    public static WebArchive createArchive()
+    {
+        return ShrinkWrap.create(WebArchive.class,"beanval.war")
+                .addClasses(BasicPojo.class,InjectableConstraintValidator.class,
+                        CDIAwareConstraintValidatorFactory.class,ArraySize.class,
+                        ArrayChecker.class)
+                .addAsWebInfResource("validation.xml", "classes/META-INF/validation.xml")
+                .addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml")
+                .addAsLibraries(ArchiveUtils.getDeltaSpikeCore());
+    }
+    
+    private Validator validator;
+    
+    @Before
+    public void initValidator()
+    {
+        this.validator = Validation.byDefaultProvider().configure()
+                .constraintValidatorFactory(new CDIAwareConstraintValidatorFactory())
+                .buildValidatorFactory().getValidator();
+    }
+    
+    @Test
+    public void testValidate()
+    {
+        String[] entries = new String[]{"abc","def","ghi"};
+        BasicPojo p = new BasicPojo();
+        p.setValue(entries);
+        final Set<ConstraintViolation<BasicPojo>> violations = validator.validate(p);
+        StringBuilder sb = new StringBuilder();
+        for(ConstraintViolation<BasicPojo> violation : violations) {
+            sb.append(violation.getMessage() + " "+ violation.getPropertyPath());
+        }
+        Assert.assertTrue(sb.toString(),violations.isEmpty());
+        
+    }
+}