Author: dblevins
Date: Tue Feb  1 12:52:06 2005
New Revision: 149447

URL: http://svn.apache.org/viewcvs?view=rev&rev=149447
Log:
Triming down the validation stuff


Added:
    
geronimo/trunk/modules/core/src/java/org/apache/geronimo/validator/Messages.java
    
geronimo/trunk/modules/core/src/java/org/apache/geronimo/validator/ValidationError.java
    
geronimo/trunk/modules/core/src/java/org/apache/geronimo/validator/ValidationFailure.java
    
geronimo/trunk/modules/core/src/java/org/apache/geronimo/validator/ValidationWarning.java
Removed:
    
geronimo/trunk/modules/core/src/java/org/apache/geronimo/validator/AbstractValidator.java
    
geronimo/trunk/modules/core/src/java/org/apache/geronimo/validator/ValidationResult.java
    
geronimo/trunk/modules/core/src/java/org/apache/geronimo/validator/ValidationTest.java
    
geronimo/trunk/modules/core/src/java/org/apache/geronimo/validator/Validator.java
    geronimo/trunk/modules/core/src/java/org/apache/geronimo/validator/ejb/
Modified:
    
geronimo/trunk/modules/core/src/java/org/apache/geronimo/validator/ValidationContext.java
    
geronimo/trunk/modules/core/src/java/org/apache/geronimo/validator/ValidationException.java

Added: 
geronimo/trunk/modules/core/src/java/org/apache/geronimo/validator/Messages.java
URL: 
http://svn.apache.org/viewcvs/geronimo/trunk/modules/core/src/java/org/apache/geronimo/validator/Messages.java?view=auto&rev=149447
==============================================================================
--- 
geronimo/trunk/modules/core/src/java/org/apache/geronimo/validator/Messages.java
 (added)
+++ 
geronimo/trunk/modules/core/src/java/org/apache/geronimo/validator/Messages.java
 Tue Feb  1 12:52:06 2005
@@ -0,0 +1,170 @@
+/**
+ *
+ * Copyright 2003-2004 The Apache Software Foundation
+ *
+ *  Licensed 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.geronimo.validator;
+
+import java.text.MessageFormat;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.Locale;
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+
+/**
+ *
+ *
+ * @version $Revision: 1.1 $ $Date: 2004/03/01 07:14:43 $
+ */
+public class Messages {
+       static private Hashtable bundles = new Hashtable();
+       static private Hashtable rbFormats = new Hashtable();
+       static private Locale globalLocale;
+
+       private ResourceBundle messages;
+       private Hashtable formats;
+       private Locale locale;
+       private String resourceName;
+
+       public Messages(String resourceName) {
+               synchronized (Messages.class) {
+                       locale = globalLocale;
+                       this.resourceName = resourceName + ".Messages";
+
+                       ResourceBundle rb = (ResourceBundle) 
bundles.get(this.resourceName);
+                       if (rb == null) {
+                               init();  // TODO Remove lazy call to init
+                       } else {
+                               messages = rb;
+                               formats = (Hashtable) 
rbFormats.get(this.resourceName);
+                       }
+               }
+
+       }
+
+       protected void init() {
+               try {
+                       if (locale == null)
+                               messages = 
ResourceBundle.getBundle(resourceName);
+                       else
+                               messages = 
ResourceBundle.getBundle(resourceName, locale);
+               } catch (Exception except) {
+                       messages = new EmptyResourceBundle();
+               }
+
+               formats = new Hashtable();
+
+               bundles.put(resourceName, messages);
+               rbFormats.put(resourceName, formats);
+       }
+
+       public String format(String message, Object arg1) {
+               return format(message, new Object[] { arg1 });
+       }
+
+       public String format(String message, Object arg1, Object arg2) {
+               return format(message, new Object[] { arg1, arg2 });
+       }
+
+       public String format(String message, Object arg1, Object arg2, Object 
arg3) {
+               return format(message, new Object[] { arg1, arg2, arg3 });
+       }
+
+       public String format(String message, Object arg1, Object arg2, Object 
arg3, Object arg4) {
+               return format(message, new Object[] { arg1, arg2, arg3, arg4 });
+       }
+
+       public String format(String message, Object arg1, Object arg2, Object 
arg3, Object arg4, Object arg5) {
+               return format(message, new Object[] { arg1, arg2, arg3, arg4, 
arg5 });
+       }
+
+       public String format(String message) {
+               return message(message);
+       }
+
+       public String format(String message, Object[] args) {
+               if (locale != globalLocale) {
+                       synchronized (Messages.class) {
+                               init();  // TODO Remove lazy call to init
+                       }
+               }
+
+               MessageFormat mf;
+               String msg;
+
+               try {
+                       mf = (MessageFormat) formats.get(message);
+                       if (mf == null) {
+                               try {
+                                       msg = messages.getString(message);
+                               } catch (MissingResourceException except) {
+                                       return message;
+                               }
+                               mf = new MessageFormat(msg);
+                               formats.put(message, mf);
+                       }
+                       return mf.format(args);
+               } catch (Exception except) {
+                       return "An internal error occured while processing 
message " + message;
+               }
+       }
+
+       public String message(String message) {
+               if (locale != globalLocale) {
+                       synchronized (Messages.class) {
+                               init();
+                       }
+               }
+
+               try {
+                       return messages.getString(message);
+               } catch (MissingResourceException except) {
+                       return message;
+               }
+       }
+
+       static public void setLocale(Locale locale) {
+               synchronized (Messages.class) {
+                       globalLocale = locale;
+                       bundles = new Hashtable();
+                       rbFormats = new Hashtable();
+               }
+       }
+
+       static {
+               setLocale(Locale.getDefault());
+       }
+
+       private static final class EmptyResourceBundle extends ResourceBundle 
implements Enumeration {
+
+               public Enumeration getKeys() {
+                       return this;
+               }
+
+               protected Object handleGetObject(String name) {
+                       return "[Missing message " + name + "]";
+               }
+
+               public boolean hasMoreElements() {
+                       return false;
+               }
+
+               public Object nextElement() {
+                       return null;
+               }
+
+       }
+
+}

Modified: 
geronimo/trunk/modules/core/src/java/org/apache/geronimo/validator/ValidationContext.java
URL: 
http://svn.apache.org/viewcvs/geronimo/trunk/modules/core/src/java/org/apache/geronimo/validator/ValidationContext.java?view=diff&r1=149446&r2=149447
==============================================================================
--- 
geronimo/trunk/modules/core/src/java/org/apache/geronimo/validator/ValidationContext.java
 (original)
+++ 
geronimo/trunk/modules/core/src/java/org/apache/geronimo/validator/ValidationContext.java
 Tue Feb  1 12:52:06 2005
@@ -14,68 +14,86 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-
 package org.apache.geronimo.validator;
 
-import java.io.PrintWriter;
+import java.util.Vector;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.Set;
 
-import javax.enterprise.deploy.shared.ModuleType;
+public class ValidationContext {
+    
+    protected Vector failures = new Vector();
+    protected Vector warnings = new Vector();
+    protected Vector errors   = new Vector();
+
+    protected Map attributes = new HashMap();
+
+    protected String jarPath;
+    
+    public ValidationContext(String name){
+        this.jarPath = name;
+    }
 
-import org.apache.xmlbeans.XmlObject;
+    public Set entrySet() {
+        return attributes.entrySet();
+    }
 
-/**
- * Holds all the context information for the current validation process.
- *
- * @version $Rev$ $Date$
- */
-public class ValidationContext {
-    public final PrintWriter out;
-    public final String moduleName;
-    public final ClassLoader loader;
-    public final ModuleType type;
-    public final XmlObject[] standardDD;
-    public final Object[] serverDD;
-    private Object currentStandardDD;
-    private Object currentNode;
-
-    public ValidationContext(ClassLoader loader, String moduleName, 
PrintWriter out, Object[] serverDD, XmlObject[] standardDD, ModuleType type) {
-        this.loader = loader;
-        this.moduleName = moduleName;
-        this.out = out;
-        this.serverDD = serverDD;
-        this.standardDD = standardDD;
-        this.type = type;
-    }
-
-    /**
-     * At the moment, this is the standard DD we're validating.
-     */
-    public Object getCurrentStandardDD() {
-        return currentStandardDD;
-    }
-
-    /**
-     * At the moment, this is the standard DD we're validating.
-     */
-    void setCurrentStandardDD(Object currentStandardDD) {
-        this.currentStandardDD = currentStandardDD;
-    }
-
-    /**
-     * At the moment, this is the node on the standard DD that we're
-     * validating.  It corresponds to the XPath that a particular
-     * test is interested in.
-     */
-    public Object getCurrentNode() {
-        return currentNode;
-    }
-
-    /**
-     * At the moment, this is the node on the standard DD that we're
-     * validating.  It corresponds to the XPath that a particular
-     * test is interested in.
-     */
-    void setCurrentNode(Object currentNode) {
-        this.currentNode = currentNode;
+    public Object remove(Object key) {
+        return attributes.remove(key);
+    }
+
+    public Object put(Object key, Object value) {
+        return attributes.put(key, value);
+    }
+
+    public Object get(Object key) {
+        return attributes.get(key);
+    }
+
+    public boolean containsKey(Object key) {
+        return attributes.containsKey(key);
+    }
+
+    public void addWarning( ValidationWarning warning ) {
+        warnings.addElement( warning );
+    }
+    
+    public void addFailure(ValidationFailure failure) {
+        failures.addElement( failure );
+    }
+
+    public void addError(ValidationError error) {
+        errors.addElement( error );
+    }
+
+    public ValidationFailure[] getFailures() {
+        ValidationFailure[] tmp = new ValidationFailure[failures.size()];
+        failures.copyInto( tmp );
+        return tmp;
+    }
+    
+    public ValidationWarning[] getWarnings() {
+        ValidationWarning[] tmp = new ValidationWarning[warnings.size()];
+        warnings.copyInto( tmp );
+        return tmp;
+    }
+    
+    public ValidationError[] getErrors() {
+        ValidationError[] tmp = new ValidationError[errors.size()];
+        errors.copyInto( tmp );
+        return tmp;
+    }
+
+    public boolean hasWarnings(){
+        return warnings.size() > 0;
+    }
+
+    public boolean hasFailures(){
+        return failures.size() > 0;
+    }
+    
+    public boolean hasErrors(){
+        return errors.size() > 0;
     }
 }

Added: 
geronimo/trunk/modules/core/src/java/org/apache/geronimo/validator/ValidationError.java
URL: 
http://svn.apache.org/viewcvs/geronimo/trunk/modules/core/src/java/org/apache/geronimo/validator/ValidationError.java?view=auto&rev=149447
==============================================================================
--- 
geronimo/trunk/modules/core/src/java/org/apache/geronimo/validator/ValidationError.java
 (added)
+++ 
geronimo/trunk/modules/core/src/java/org/apache/geronimo/validator/ValidationError.java
 Tue Feb  1 12:52:06 2005
@@ -0,0 +1,33 @@
+/**
+ *
+ * Copyright 2003-2004 The Apache Software Foundation
+ *
+ *  Licensed 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.geronimo.validator;
+
+public class ValidationError extends ValidationException {
+
+    public ValidationError(String message) {
+        super(message);
+    }
+
+    public String getPrefix() {
+        return "ERROR";
+    }
+
+    public String getCategory() {
+        return "errors";
+    }
+
+}

Modified: 
geronimo/trunk/modules/core/src/java/org/apache/geronimo/validator/ValidationException.java
URL: 
http://svn.apache.org/viewcvs/geronimo/trunk/modules/core/src/java/org/apache/geronimo/validator/ValidationException.java?view=diff&r1=149446&r2=149447
==============================================================================
--- 
geronimo/trunk/modules/core/src/java/org/apache/geronimo/validator/ValidationException.java
 (original)
+++ 
geronimo/trunk/modules/core/src/java/org/apache/geronimo/validator/ValidationException.java
 Tue Feb  1 12:52:06 2005
@@ -14,33 +14,69 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-
 package org.apache.geronimo.validator;
 
-/**
- * Used by the provided validation logic to indicate that a fatal error has
- * occured and the validation has failed.  Typically tests should not use this,
- * instead returning a ValidationResult to indicate an error.  This should only
- * be used when there's an urgent need to abort.
- *
- * It is a runtime exception because no user-provided validation code needs to
- * catch it; it will be trapped by the core validator implementation. 
- *
- * @version $Rev$ $Date$
- */
-public class ValidationException extends RuntimeException {
-    public ValidationException() {
+
+public class ValidationException extends java.lang.Exception {
+
+    protected static Messages messages = new Messages("");
+
+    protected Object[] details;
+    protected String message;
+
+    protected String prefix;
+
+
+    public ValidationException(String message) {
+        this.message = message;
     }
 
-    public ValidationException(Throwable cause) {
-        super(cause);
+    public void setDetails(Object arg1) {
+        this.details = new Object[]{arg1};
     }
 
-    public ValidationException(String message) {
-        super(message);
+    public void setDetails(Object arg1, Object arg2) {
+        this.details = new Object[]{arg1, arg2};
+    }
+
+    public void setDetails(Object arg1, Object arg2, Object arg3) {
+        this.details = new Object[]{arg1, arg2, arg3};
+    }
+
+    public void setDetails(Object arg1, Object arg2, Object arg3, Object arg4) 
{
+        this.details = new Object[]{arg1, arg2, arg3, arg4};
+    }
+
+    public void setDetails(Object arg1, Object arg2, Object arg3, Object arg4, 
Object arg5) {
+        this.details = new Object[]{arg1, arg2, arg3, arg4, arg5};
+    }
+
+    public void setDetails(Object arg1, Object arg2, Object arg3, Object arg4, 
Object arg5, Object arg6) {
+        this.details = new Object[]{arg1, arg2, arg3, arg4, arg5, arg6};
+    }
+
+    public Object[] getDetails() {
+        return details;
+    }
+
+    public String getSummary() {
+        return getMessage(1);
     }
 
-    public ValidationException(String message, Throwable cause) {
-        super(message, cause);
+    public String getMessage() {
+        return getMessage(2);
     }
+
+    public String getMessage(int level) {
+        return messages.format(level + "." + message, details);
+    }
+
+    public String getPrefix() {
+        return "";
+    }
+
+    public String getCategory() {
+        return "";
+    }
+
 }

Added: 
geronimo/trunk/modules/core/src/java/org/apache/geronimo/validator/ValidationFailure.java
URL: 
http://svn.apache.org/viewcvs/geronimo/trunk/modules/core/src/java/org/apache/geronimo/validator/ValidationFailure.java?view=auto&rev=149447
==============================================================================
--- 
geronimo/trunk/modules/core/src/java/org/apache/geronimo/validator/ValidationFailure.java
 (added)
+++ 
geronimo/trunk/modules/core/src/java/org/apache/geronimo/validator/ValidationFailure.java
 Tue Feb  1 12:52:06 2005
@@ -0,0 +1,32 @@
+/**
+ *
+ * Copyright 2003-2004 The Apache Software Foundation
+ *
+ *  Licensed 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.geronimo.validator;
+
+public class ValidationFailure extends ValidationException {
+
+    public ValidationFailure(String message) {
+        super(message);
+    }
+
+    public String getPrefix() {
+        return "FAIL";
+    }
+
+    public String getCategory() {
+        return "failures";
+    }
+}

Added: 
geronimo/trunk/modules/core/src/java/org/apache/geronimo/validator/ValidationWarning.java
URL: 
http://svn.apache.org/viewcvs/geronimo/trunk/modules/core/src/java/org/apache/geronimo/validator/ValidationWarning.java?view=auto&rev=149447
==============================================================================
--- 
geronimo/trunk/modules/core/src/java/org/apache/geronimo/validator/ValidationWarning.java
 (added)
+++ 
geronimo/trunk/modules/core/src/java/org/apache/geronimo/validator/ValidationWarning.java
 Tue Feb  1 12:52:06 2005
@@ -0,0 +1,34 @@
+/**
+ *
+ * Copyright 2003-2004 The Apache Software Foundation
+ *
+ *  Licensed 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.geronimo.validator;
+
+public class ValidationWarning extends ValidationException {
+
+    public ValidationWarning(String message) {
+        super(message);
+    }
+
+    public String getPrefix() {
+        return "WARN";
+    }
+
+    public String getCategory() {
+        return "warnings";
+    }
+
+
+}


Reply via email to