[jboss-cvs] JBossAS SVN: r79514 - in projects/metadata/trunk/src/main/java/org/jboss/metadata: validation/chain and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Oct 15 04:15:39 EDT 2008


Author: ALRubinger
Date: 2008-10-15 04:15:39 -0400 (Wed, 15 Oct 2008)
New Revision: 79514

Modified:
   projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/JBoss50Creator.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/validation/chain/ValidatorChain.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/validation/chain/ejb/jboss/JBoss50MetaDataValidatorChain.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/validation/chain/ejb/jboss/JBossMetaDataValidatorChain.java
Log:
[JBMETA-118] Clean up the jboss-metadata ValidatorChain API to be easier to use

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/JBoss50Creator.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/JBoss50Creator.java	2008-10-15 08:15:26 UTC (rev 79513)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/JBoss50Creator.java	2008-10-15 08:15:39 UTC (rev 79514)
@@ -108,7 +108,7 @@
       processMetaData(classes, metaData);
       
       // Validate
-      new JBoss50MetaDataValidatorChain(metaData).validate();
+      new JBoss50MetaDataValidatorChain().validate(metaData);
 
       return metaData;
    }

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/validation/chain/ValidatorChain.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/validation/chain/ValidatorChain.java	2008-10-15 08:15:26 UTC (rev 79513)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/validation/chain/ValidatorChain.java	2008-10-15 08:15:39 UTC (rev 79514)
@@ -21,9 +21,9 @@
  */
 package org.jboss.metadata.validation.chain;
 
-import java.util.Set;
+import java.util.List;
 
-import org.jboss.metadata.validation.ValidationException;
+import org.jboss.metadata.ejb.jboss.JBossMetaData;
 import org.jboss.metadata.validation.validator.Validator;
 
 /**
@@ -35,7 +35,7 @@
  * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
  * @version $Revision: $
  */
-public interface ValidatorChain
+public interface ValidatorChain<T extends JBossMetaData>
 {
    // --------------------------------------------------------------------------------||
    // Contracts ----------------------------------------------------------------------||
@@ -44,8 +44,11 @@
    /**
     * Validates the specified metadata against the configured
     * validators
+    * 
+    * @param metadata
+    * @throws ValidatorChainException
     */
-   void validate() throws ValidationException;
+   void validate(T metadata) throws ValidatorChainException;
 
    /**
     * Obtains all validators in the chain.  Will return
@@ -54,7 +57,7 @@
     * 
     * @return
     */
-   Set<Validator> getValidators();
+   List<Validator> getValidators();
 
    /**
     * Adds the specified validator to the chain

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/validation/chain/ejb/jboss/JBoss50MetaDataValidatorChain.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/validation/chain/ejb/jboss/JBoss50MetaDataValidatorChain.java	2008-10-15 08:15:26 UTC (rev 79513)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/validation/chain/ejb/jboss/JBoss50MetaDataValidatorChain.java	2008-10-15 08:15:39 UTC (rev 79514)
@@ -21,9 +21,12 @@
  */
 package org.jboss.metadata.validation.chain.ejb.jboss;
 
+import java.util.List;
+
 import org.jboss.logging.Logger;
 import org.jboss.metadata.ejb.jboss.JBoss50MetaData;
 import org.jboss.metadata.validation.chain.ValidatorChain;
+import org.jboss.metadata.validation.validator.Validator;
 
 /**
  * JBoss50MetaDataValidatorChain
@@ -33,7 +36,9 @@
  * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
  * @version $Revision: $
  */
-public class JBoss50MetaDataValidatorChain extends JBossMetaDataValidatorChain implements ValidatorChain
+public class JBoss50MetaDataValidatorChain extends JBossMetaDataValidatorChain<JBoss50MetaData>
+      implements
+         ValidatorChain<JBoss50MetaData>
 {
 
    // --------------------------------------------------------------------------------||
@@ -46,9 +51,14 @@
    // Constructors -------------------------------------------------------------------||
    // --------------------------------------------------------------------------------||
 
-   public JBoss50MetaDataValidatorChain(JBoss50MetaData metadata)
+   public JBoss50MetaDataValidatorChain()
    {
-      super(metadata);
+      super();
    }
 
+   public JBoss50MetaDataValidatorChain(List<Validator> validators)
+   {
+      super(validators);
+   }
+
 }

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/validation/chain/ejb/jboss/JBossMetaDataValidatorChain.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/validation/chain/ejb/jboss/JBossMetaDataValidatorChain.java	2008-10-15 08:15:26 UTC (rev 79513)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/validation/chain/ejb/jboss/JBossMetaDataValidatorChain.java	2008-10-15 08:15:39 UTC (rev 79514)
@@ -24,8 +24,7 @@
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
+import java.util.List;
 
 import org.jboss.logging.Logger;
 import org.jboss.metadata.ejb.jboss.JBossMetaData;
@@ -43,7 +42,7 @@
  * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
  * @version $Revision: $
  */
-public class JBossMetaDataValidatorChain implements ValidatorChain
+public class JBossMetaDataValidatorChain<T extends JBossMetaData> implements ValidatorChain<T>
 {
 
    // --------------------------------------------------------------------------------||
@@ -57,41 +56,31 @@
    // --------------------------------------------------------------------------------||
 
    /**
-    * The metadata upon which this chain will validate
-    */
-   private JBossMetaData metadata;
-
-   /**
     * The validators to apply to the metadata
     */
-   private Set<Validator> validators = new HashSet<Validator>();
+   private List<Validator> validators = new ArrayList<Validator>();
 
    // --------------------------------------------------------------------------------||
    // Constructors -------------------------------------------------------------------||
    // --------------------------------------------------------------------------------||
 
    /**
-    * Constructs a new ValidatorChain upon the specified metadata,
-    * using the default Validators
+    * Constructs a new ValidatorChain using the default Validators
     */
-   public JBossMetaDataValidatorChain(JBossMetaData metadata)
+   public JBossMetaDataValidatorChain()
    {
-      this(metadata, getDefaultValidators());
+      this(getDefaultValidators());
    }
 
    /**
-    * Creates a new ValidatorChain upon the specified metadata, using 
+    * Creates a new ValidatorChain using 
     * the specified Validators
     * 
     * @param metadata
     * @param validators
     */
-   public JBossMetaDataValidatorChain(JBossMetaData metadata, Set<Validator> validators)
+   public JBossMetaDataValidatorChain(List<Validator> validators)
    {
-      // Set the Metadata
-      assert metadata != null : "Specified metadata was null";
-      this.setMetadata(metadata);
-
       // For each specified validator
       assert validators != null : "Specified validators for chain was null";
       for (Validator validator : validators)
@@ -109,16 +98,13 @@
    /* (non-Javadoc)
     * @see org.jboss.metadata.validation.chain.ValidatorChain#validate(org.jboss.metadata.spi.MetaData)
     */
-   public void validate() throws ValidationException
+   public void validate(T metadata) throws ValidationException
    {
       // Initialize
       Collection<ValidationException> validationExceptions = new ArrayList<ValidationException>();
-      
-      // Get the metadata
-      JBossMetaData md = this.getMetadata();
 
       // Obtain all configured validators
-      Set<Validator> validators = this.getValidators();
+      List<Validator> validators = this.getValidators();
 
       // For each validator
       for (Validator validator : validators)
@@ -126,16 +112,17 @@
          // Run validation
          try
          {
-            validator.validate(md);
+            validator.validate(metadata);
          }
-         catch(ValidationException ve)
+         catch (ValidationException ve)
          {
+            // Store the problem for reporting later
             validationExceptions.add(ve);
          }
       }
-      
+
       // Check that we didn't run into any problems
-      if(validationExceptions.size()>0)
+      if (validationExceptions.size() > 0)
       {
          // Throw a new ValidationChainException from the causes
          throw new ValidatorChainException(validationExceptions);
@@ -152,9 +139,9 @@
     * 
     * @return
     */
-   public Set<Validator> getValidators()
+   public List<Validator> getValidators()
    {
-      Set<Validator> validators = Collections.unmodifiableSet(this._getValidators());
+      List<Validator> validators = Collections.unmodifiableList(this._getValidators());
       return validators;
    }
 
@@ -176,15 +163,15 @@
    /**
     * Returns a Set of validators to use as the default for this chain
     */
-   protected static Set<Validator> getDefaultValidators()
+   protected static List<Validator> getDefaultValidators()
    {
       // Initialize
-      Set<Validator> defaultValidators = new HashSet<Validator>();
+      List<Validator> defaultValidators = new ArrayList<Validator>();
 
       /*
        * Add all default validators
        */
-      
+
       // JBMETA-117 No @RemoteBindings if there's no remote business interface
       defaultValidators.add(RemoteBindingsWithNoRemoteBusinessInterfaceValidator.INSTANCE);
 
@@ -196,22 +183,12 @@
    // Accessors / Mutators -----------------------------------------------------------||
    // --------------------------------------------------------------------------------||
 
-   protected JBossMetaData getMetadata()
+   protected List<Validator> _getValidators()
    {
-      return metadata;
-   }
-
-   protected void setMetadata(JBossMetaData metadata)
-   {
-      this.metadata = metadata;
-   }
-
-   protected Set<Validator> _getValidators()
-   {
       return validators;
    }
 
-   protected void setValidators(Set<Validator> validators)
+   protected void setValidators(List<Validator> validators)
    {
       this.validators = validators;
    }




More information about the jboss-cvs-commits mailing list