[seam-commits] Seam SVN: r11986 - in modules/xml/trunk: src/main/java/org/jboss/seam/xml/bootstrap and 6 other directories.

seam-commits at lists.jboss.org seam-commits at lists.jboss.org
Fri Jan 22 16:22:05 EST 2010


Author: swd847
Date: 2010-01-22 16:22:04 -0500 (Fri, 22 Jan 2010)
New Revision: 11986

Added:
   modules/xml/trunk/src/main/java/org/jboss/seam/xml/util/XmlConfigurationException.java
   modules/xml/trunk/src/main/java/org/jboss/seam/xml/util/XmlParseException.java
Modified:
   modules/xml/trunk/docs/src/main/en-US/xml-general.xml
   modules/xml/trunk/src/main/java/org/jboss/seam/xml/bootstrap/XmlExtension.java
   modules/xml/trunk/src/main/java/org/jboss/seam/xml/core/BeanResult.java
   modules/xml/trunk/src/main/java/org/jboss/seam/xml/core/XmlResult.java
   modules/xml/trunk/src/main/java/org/jboss/seam/xml/fieldset/CollectionFieldSet.java
   modules/xml/trunk/src/main/java/org/jboss/seam/xml/fieldset/DirectFieldSetter.java
   modules/xml/trunk/src/main/java/org/jboss/seam/xml/fieldset/FieldValueSetter.java
   modules/xml/trunk/src/main/java/org/jboss/seam/xml/fieldset/MapFieldSet.java
   modules/xml/trunk/src/main/java/org/jboss/seam/xml/fieldset/MethodFieldSetter.java
   modules/xml/trunk/src/main/java/org/jboss/seam/xml/fieldset/SimpleFieldValue.java
   modules/xml/trunk/src/main/java/org/jboss/seam/xml/model/AbstractXmlItem.java
   modules/xml/trunk/src/main/java/org/jboss/seam/xml/model/AnnotationXmlItem.java
   modules/xml/trunk/src/main/java/org/jboss/seam/xml/model/ArrayXmlItem.java
   modules/xml/trunk/src/main/java/org/jboss/seam/xml/model/ClassXmlItem.java
   modules/xml/trunk/src/main/java/org/jboss/seam/xml/model/DependsXmlItem.java
   modules/xml/trunk/src/main/java/org/jboss/seam/xml/model/KeyXmlItem.java
   modules/xml/trunk/src/main/java/org/jboss/seam/xml/model/MethodXmlItem.java
   modules/xml/trunk/src/main/java/org/jboss/seam/xml/model/ModelBuilder.java
   modules/xml/trunk/src/main/java/org/jboss/seam/xml/model/ValueXmlItem.java
   modules/xml/trunk/src/main/java/org/jboss/seam/xml/parser/ParserMain.java
   modules/xml/trunk/src/main/java/org/jboss/seam/xml/parser/namespace/NamespaceUtils.java
   modules/xml/trunk/src/main/java/org/jboss/seam/xml/parser/namespace/PackageNamespaceElementResolver.java
Log:
improved handling of parse errors



Modified: modules/xml/trunk/docs/src/main/en-US/xml-general.xml
===================================================================
--- modules/xml/trunk/docs/src/main/en-US/xml-general.xml	2010-01-22 19:28:28 UTC (rev 11985)
+++ modules/xml/trunk/docs/src/main/en-US/xml-general.xml	2010-01-22 21:22:04 UTC (rev 11986)
@@ -4,7 +4,7 @@
 <chapter id="remoting">
   <title>Seam XML Configuration</title>
   
-  <para>Seam provides a method for configuring JSR-299 beans using XML. </para>
+  <para>Seam provides a method for configuring JSR-299 beans using XML. By default the XML configuration old defines new beans, it does not </para>
 
 
 </chapter>

Modified: modules/xml/trunk/src/main/java/org/jboss/seam/xml/bootstrap/XmlExtension.java
===================================================================
--- modules/xml/trunk/src/main/java/org/jboss/seam/xml/bootstrap/XmlExtension.java	2010-01-22 19:28:28 UTC (rev 11985)
+++ modules/xml/trunk/src/main/java/org/jboss/seam/xml/bootstrap/XmlExtension.java	2010-01-22 21:22:04 UTC (rev 11986)
@@ -16,6 +16,7 @@
 import java.util.Map.Entry;
 
 import javax.enterprise.event.Observes;
+import javax.enterprise.inject.spi.AfterBeanDiscovery;
 import javax.enterprise.inject.spi.AnnotatedType;
 import javax.enterprise.inject.spi.BeforeBeanDiscovery;
 import javax.enterprise.inject.spi.Extension;
@@ -31,6 +32,7 @@
 import org.jboss.seam.xml.parser.ParserMain;
 import org.jboss.seam.xml.parser.SaxNode;
 import org.jboss.seam.xml.util.FileDataReader;
+import org.jboss.seam.xml.util.XmlParseException;
 import org.jboss.weld.extensions.util.AnnotationInstanceProvider;
 
 public class XmlExtension implements Extension
@@ -42,9 +44,9 @@
 
    List<XmlResult> results = new ArrayList<XmlResult>();
 
-   Set<Class> veto = new HashSet<Class>();
+   Set<Class<?>> veto = new HashSet<Class<?>>();
 
-   Map<Class, AnnotatedType> types = new HashMap<Class, AnnotatedType>();
+   Map<Class<?>, AnnotatedType<?>> types = new HashMap<Class<?>, AnnotatedType<?>>();
 
    int count = 0;
 
@@ -53,6 +55,8 @@
     */
    Map<Integer, List<FieldValueObject>> fieldValues = new HashMap<Integer, List<FieldValueObject>>();
 
+   List<XmlParseException> parseErrors = new ArrayList<XmlParseException>();
+
    /**
     * This is the entry point for the extension
     */
@@ -73,7 +77,7 @@
             {
                ParserMain parser = new ParserMain();
                ModelBuilder builder = new ModelBuilder();
-               SaxNode parentNode = parser.parse(d.getInputSource(), d.getFileUrl());
+               SaxNode parentNode = parser.parse(d.getInputSource(), d.getFileUrl(), parseErrors);
                ;
                results.add(builder.build(parentNode));
             }
@@ -95,7 +99,7 @@
                problemString.append("\n");
             }
          }
-         for (BeanResult b : r.getFieldValues().keySet())
+         for (BeanResult<?> b : r.getFieldValues().keySet())
          {
             int val = count++;
             fieldValues.put(val, r.getFieldValues().get(b));
@@ -105,11 +109,11 @@
             b.getBuilder().addToClass(a);
          }
 
-         for (Class b : r.getQualifiers())
+         for (Class<? extends Annotation> b : r.getQualifiers())
          {
             event.addQualifier(b);
          }
-         for (Class b : r.getInterceptorBindings())
+         for (Class<? extends Annotation> b : r.getInterceptorBindings())
          {
             event.addInterceptorBinding(b);
          }
@@ -117,7 +121,7 @@
          {
             event.addStereotype(b.getKey(), b.getValue());
          }
-         for (BeanResult bb : r.getBeans())
+         for (BeanResult<?> bb : r.getBeans())
          {
             boolean install = true;
             for (Object className : bb.getDependencies())
@@ -134,7 +138,7 @@
             }
             if (install)
             {
-               AnnotatedType tp = bb.getBuilder().create();
+               AnnotatedType<?> tp = bb.getBuilder().create();
                event.addAnnotatedType(tp);
                types.put(tp.getJavaClass(), tp);
             }
@@ -148,7 +152,7 @@
       }
    }
 
-   public void processAnotated(@Observes ProcessAnnotatedType event)
+   public <T> void processAnotated(@Observes ProcessAnnotatedType<T> event)
    {
       // veto implementation
       if (veto.contains(event.getAnnotatedType().getJavaClass()))
@@ -157,19 +161,27 @@
       }
    }
 
-   public void processInjectionTarget(@Observes ProcessInjectionTarget event)
+   public <T> void processInjectionTarget(@Observes ProcessInjectionTarget<T> event)
    {
 
-      AnnotatedType at = event.getAnnotatedType();
+      AnnotatedType<T> at = event.getAnnotatedType();
       XmlId xid = at.getAnnotation(XmlId.class);
       if (xid != null)
       {
          List<FieldValueObject> fvs = fieldValues.get(xid.value());
-         event.setInjectionTarget(new InjectionTargetWrapper(event.getInjectionTarget(), fvs));
+         event.setInjectionTarget(new InjectionTargetWrapper<T>(event.getInjectionTarget(), fvs));
       }
 
    }
 
+   public void processAfterBeanDeployment(@Observes AfterBeanDiscovery event)
+   {
+      for (XmlParseException t : parseErrors)
+      {
+         event.addDefinitionError(t);
+      }
+   }
+
    public List<Class<? extends XmlDocumentProvider>> getDocumentProviders()
    {
       List<Class<? extends XmlDocumentProvider>> ret = new ArrayList<Class<? extends XmlDocumentProvider>>();
@@ -207,5 +219,4 @@
       }
       return ret;
    }
-
 }

Modified: modules/xml/trunk/src/main/java/org/jboss/seam/xml/core/BeanResult.java
===================================================================
--- modules/xml/trunk/src/main/java/org/jboss/seam/xml/core/BeanResult.java	2010-01-22 19:28:28 UTC (rev 11985)
+++ modules/xml/trunk/src/main/java/org/jboss/seam/xml/core/BeanResult.java	2010-01-22 21:22:04 UTC (rev 11986)
@@ -12,17 +12,17 @@
 
 public class BeanResult<X>
 {
-   NewAnnotatedTypeBuilder builder;
+   NewAnnotatedTypeBuilder<X> builder;
    List<String> dependencies = new ArrayList<String>();
-   Class type;
+   Class<X> type;
 
-   public BeanResult(Class type)
+   public BeanResult(Class<X> type)
    {
       this.type = type;
       builder = new NewAnnotatedTypeBuilder<X>(type);
    }
 
-   public NewAnnotatedTypeBuilder getBuilder()
+   public NewAnnotatedTypeBuilder<X> getBuilder()
    {
       return builder;
    }
@@ -37,7 +37,7 @@
       return Collections.unmodifiableList(dependencies);
    }
 
-   public Class getType()
+   public Class<X> getType()
    {
       return type;
    }

Modified: modules/xml/trunk/src/main/java/org/jboss/seam/xml/core/XmlResult.java
===================================================================
--- modules/xml/trunk/src/main/java/org/jboss/seam/xml/core/XmlResult.java	2010-01-22 19:28:28 UTC (rev 11985)
+++ modules/xml/trunk/src/main/java/org/jboss/seam/xml/core/XmlResult.java	2010-01-22 21:22:04 UTC (rev 11986)
@@ -27,13 +27,13 @@
 
    List<Class<? extends Annotation>> interceptorBindings = new ArrayList<Class<? extends Annotation>>();
 
-   List<Class> veto = new ArrayList<Class>();
+   List<Class<?>> veto = new ArrayList<Class<?>>();
 
    List<String> problems = new ArrayList<String>();
 
-   List<BeanResult> beans = new ArrayList<BeanResult>();
+   List<BeanResult<?>> beans = new ArrayList<BeanResult<?>>();
 
-   Map<BeanResult, List<FieldValueObject>> fieldValues = new HashMap<BeanResult, List<FieldValueObject>>();
+   Map<BeanResult<?>, List<FieldValueObject>> fieldValues = new HashMap<BeanResult<?>, List<FieldValueObject>>();
 
    public Map<Class<? extends Annotation>, Annotation[]> getStereotypes()
    {
@@ -50,7 +50,7 @@
       return interceptorBindings;
    }
 
-   public List<BeanResult> getBeans()
+   public List<BeanResult<?>> getBeans()
    {
       return beans;
    }
@@ -65,17 +65,17 @@
       problems.add(p);
    }
 
-   public Map<BeanResult, List<FieldValueObject>> getFieldValues()
+   public Map<BeanResult<?>, List<FieldValueObject>> getFieldValues()
    {
       return fieldValues;
    }
 
-   public void addVeto(Class clazz)
+   public void addVeto(Class<?> clazz)
    {
       veto.add(clazz);
    }
 
-   public List<Class> getVeto()
+   public List<Class<?>> getVeto()
    {
       return veto;
    }

Modified: modules/xml/trunk/src/main/java/org/jboss/seam/xml/fieldset/CollectionFieldSet.java
===================================================================
--- modules/xml/trunk/src/main/java/org/jboss/seam/xml/fieldset/CollectionFieldSet.java	2010-01-22 19:28:28 UTC (rev 11985)
+++ modules/xml/trunk/src/main/java/org/jboss/seam/xml/fieldset/CollectionFieldSet.java	2010-01-22 21:22:04 UTC (rev 11986)
@@ -32,7 +32,7 @@
 {
    FieldValueSetter field;
    List<CFS> values;
-   Class elementType;
+   Class<?> elementType;
    Class<? extends Collection> collectionType;
 
    public CollectionFieldSet(FieldValueSetter field, List<XmlItem> items)
@@ -48,7 +48,7 @@
 
          setter = new CFS()
          {
-            public void add(Collection o) throws IllegalAccessException
+            public void add(Collection<Object> o) throws IllegalAccessException
             {
                o.add(fv);
             }
@@ -68,47 +68,47 @@
 
          if (parameterizedType.getRawType() == Collection.class)
          {
-            elementType = (Class) parameterizedType.getActualTypeArguments()[0];
+            elementType = (Class<?>) parameterizedType.getActualTypeArguments()[0];
             collectionType = LinkedHashSet.class;
          }
          else if (parameterizedType.getRawType() == List.class)
          {
-            elementType = (Class) parameterizedType.getActualTypeArguments()[0];
+            elementType = (Class<?>) parameterizedType.getActualTypeArguments()[0];
             collectionType = ArrayList.class;
          }
          else if (parameterizedType.getRawType() == Set.class)
          {
-            elementType = (Class) parameterizedType.getActualTypeArguments()[0];
+            elementType = (Class<?>) parameterizedType.getActualTypeArguments()[0];
             collectionType = LinkedHashSet.class;
          }
          else if (parameterizedType.getRawType() == SortedSet.class)
          {
-            elementType = (Class) parameterizedType.getActualTypeArguments()[0];
+            elementType = (Class<?>) parameterizedType.getActualTypeArguments()[0];
             collectionType = TreeSet.class;
          }
          else if (parameterizedType.getRawType() == HashSet.class)
          {
-            elementType = (Class) parameterizedType.getActualTypeArguments()[0];
+            elementType = (Class<?>) parameterizedType.getActualTypeArguments()[0];
             collectionType = HashSet.class;
          }
          else if (parameterizedType.getRawType() == ArrayList.class)
          {
-            elementType = (Class) parameterizedType.getActualTypeArguments()[0];
+            elementType = (Class<?>) parameterizedType.getActualTypeArguments()[0];
             collectionType = ArrayList.class;
          }
          else if (parameterizedType.getRawType() == LinkedList.class)
          {
-            elementType = (Class) parameterizedType.getActualTypeArguments()[0];
+            elementType = (Class<?>) parameterizedType.getActualTypeArguments()[0];
             collectionType = LinkedList.class;
          }
          else if (parameterizedType.getRawType() == LinkedHashSet.class)
          {
-            elementType = (Class) parameterizedType.getActualTypeArguments()[0];
+            elementType = (Class<?>) parameterizedType.getActualTypeArguments()[0];
             collectionType = LinkedHashSet.class;
          }
          else if (parameterizedType.getRawType() == TreeSet.class)
          {
-            elementType = (Class) parameterizedType.getActualTypeArguments()[0];
+            elementType = (Class<?>) parameterizedType.getActualTypeArguments()[0];
             collectionType = TreeSet.class;
          }
          else
@@ -128,7 +128,7 @@
    {
       try
       {
-         Collection res = collectionType.newInstance();
+         Collection<Object> res = collectionType.newInstance();
          field.set(instance, res);
          for (int i = 0; i < values.size(); ++i)
          {
@@ -143,7 +143,7 @@
 
    interface CFS
    {
-      void add(Collection o) throws IllegalAccessException;
+      void add(Collection<Object> o) throws IllegalAccessException;
    }
 
 }

Modified: modules/xml/trunk/src/main/java/org/jboss/seam/xml/fieldset/DirectFieldSetter.java
===================================================================
--- modules/xml/trunk/src/main/java/org/jboss/seam/xml/fieldset/DirectFieldSetter.java	2010-01-22 19:28:28 UTC (rev 11985)
+++ modules/xml/trunk/src/main/java/org/jboss/seam/xml/fieldset/DirectFieldSetter.java	2010-01-22 21:22:04 UTC (rev 11986)
@@ -25,7 +25,7 @@
       return field.getGenericType();
    }
 
-   public Class getType()
+   public Class<?> getType()
    {
       return field.getType();
    }
@@ -35,7 +35,7 @@
       return field.getName();
    }
 
-   public Class getDeclaringClass()
+   public Class<?> getDeclaringClass()
    {
       return field.getDeclaringClass();
    }

Modified: modules/xml/trunk/src/main/java/org/jboss/seam/xml/fieldset/FieldValueSetter.java
===================================================================
--- modules/xml/trunk/src/main/java/org/jboss/seam/xml/fieldset/FieldValueSetter.java	2010-01-22 19:28:28 UTC (rev 11985)
+++ modules/xml/trunk/src/main/java/org/jboss/seam/xml/fieldset/FieldValueSetter.java	2010-01-22 21:22:04 UTC (rev 11986)
@@ -8,11 +8,11 @@
 
    public void set(Object instance, Object value) throws IllegalAccessException, InvocationTargetException;
 
-   public Class getType();
+   public Class<?> getType();
 
    public Type getGenericType();
 
-   public Class getDeclaringClass();
+   public Class<?> getDeclaringClass();
 
    public String getName();
 

Modified: modules/xml/trunk/src/main/java/org/jboss/seam/xml/fieldset/MapFieldSet.java
===================================================================
--- modules/xml/trunk/src/main/java/org/jboss/seam/xml/fieldset/MapFieldSet.java	2010-01-22 19:28:28 UTC (rev 11985)
+++ modules/xml/trunk/src/main/java/org/jboss/seam/xml/fieldset/MapFieldSet.java	2010-01-22 21:22:04 UTC (rev 11986)
@@ -28,8 +28,8 @@
 {
    FieldValueSetter field;
    List<MFS> values;
-   Class keyType;
-   Class valueType;
+   Class<?> keyType;
+   Class<?> valueType;
    Class<? extends Map> collectionType;
 
    public MapFieldSet(FieldValueSetter field, List<EntryXmlItem> items)
@@ -45,6 +45,7 @@
          final Object value = XmlObjectConverter.convert(valueType, i.getValue().getInnerText());
          setter = new MFS()
          {
+            @SuppressWarnings("unchecked")
             public void add(Map m) throws IllegalAccessException
             {
                m.put(key, value);
@@ -65,32 +66,32 @@
 
          if (parameterizedType.getRawType() == Map.class)
          {
-            keyType = (Class) parameterizedType.getActualTypeArguments()[0];
-            valueType = (Class) parameterizedType.getActualTypeArguments()[1];
+            keyType = (Class<?>) parameterizedType.getActualTypeArguments()[0];
+            valueType = (Class<?>) parameterizedType.getActualTypeArguments()[1];
             collectionType = LinkedHashMap.class;
          }
          else if (parameterizedType.getRawType() == LinkedHashMap.class)
          {
-            keyType = (Class) parameterizedType.getActualTypeArguments()[0];
-            valueType = (Class) parameterizedType.getActualTypeArguments()[1];
+            keyType = (Class<?>) parameterizedType.getActualTypeArguments()[0];
+            valueType = (Class<?>) parameterizedType.getActualTypeArguments()[1];
             collectionType = LinkedHashMap.class;
          }
          else if (parameterizedType.getRawType() == HashMap.class)
          {
-            keyType = (Class) parameterizedType.getActualTypeArguments()[0];
-            valueType = (Class) parameterizedType.getActualTypeArguments()[1];
+            keyType = (Class<?>) parameterizedType.getActualTypeArguments()[0];
+            valueType = (Class<?>) parameterizedType.getActualTypeArguments()[1];
             collectionType = HashMap.class;
          }
          else if (parameterizedType.getRawType() == SortedMap.class)
          {
-            keyType = (Class) parameterizedType.getActualTypeArguments()[0];
-            valueType = (Class) parameterizedType.getActualTypeArguments()[1];
+            keyType = (Class<?>) parameterizedType.getActualTypeArguments()[0];
+            valueType = (Class<?>) parameterizedType.getActualTypeArguments()[1];
             collectionType = TreeMap.class;
          }
          else if (parameterizedType.getRawType() == TreeMap.class)
          {
-            keyType = (Class) parameterizedType.getActualTypeArguments()[0];
-            valueType = (Class) parameterizedType.getActualTypeArguments()[1];
+            keyType = (Class<?>) parameterizedType.getActualTypeArguments()[0];
+            valueType = (Class<?>) parameterizedType.getActualTypeArguments()[1];
             collectionType = TreeMap.class;
          }
          else
@@ -125,7 +126,7 @@
 
    interface MFS
    {
-      void add(Map o) throws IllegalAccessException;
+      void add(Map<?, ?> o) throws IllegalAccessException;
    }
 
 }

Modified: modules/xml/trunk/src/main/java/org/jboss/seam/xml/fieldset/MethodFieldSetter.java
===================================================================
--- modules/xml/trunk/src/main/java/org/jboss/seam/xml/fieldset/MethodFieldSetter.java	2010-01-22 19:28:28 UTC (rev 11985)
+++ modules/xml/trunk/src/main/java/org/jboss/seam/xml/fieldset/MethodFieldSetter.java	2010-01-22 21:22:04 UTC (rev 11986)
@@ -28,12 +28,12 @@
       return method.getName();
    }
 
-   public Class getDeclaringClass()
+   public Class<?> getDeclaringClass()
    {
       return method.getDeclaringClass();
    }
 
-   public Class getType()
+   public Class<?> getType()
    {
       return method.getParameterTypes()[0];
    }

Modified: modules/xml/trunk/src/main/java/org/jboss/seam/xml/fieldset/SimpleFieldValue.java
===================================================================
--- modules/xml/trunk/src/main/java/org/jboss/seam/xml/fieldset/SimpleFieldValue.java	2010-01-22 19:28:28 UTC (rev 11985)
+++ modules/xml/trunk/src/main/java/org/jboss/seam/xml/fieldset/SimpleFieldValue.java	2010-01-22 21:22:04 UTC (rev 11986)
@@ -15,7 +15,7 @@
 
    FS setter;
 
-   public SimpleFieldValue(Class javaObject, final FieldValueSetter f, final String value)
+   public SimpleFieldValue(Class<?> javaObject, final FieldValueSetter f, final String value)
    {
       this.field = f;
 

Modified: modules/xml/trunk/src/main/java/org/jboss/seam/xml/model/AbstractXmlItem.java
===================================================================
--- modules/xml/trunk/src/main/java/org/jboss/seam/xml/model/AbstractXmlItem.java	2010-01-22 19:28:28 UTC (rev 11985)
+++ modules/xml/trunk/src/main/java/org/jboss/seam/xml/model/AbstractXmlItem.java	2010-01-22 21:22:04 UTC (rev 11986)
@@ -18,7 +18,7 @@
 {
    final XmlItemType type;
    final XmlItem parent;
-   final Class javaClass;
+   final Class<?> javaClass;
 
    final String innerText;
    final Map<String, String> attributes;
@@ -28,7 +28,7 @@
       return innerText;
    }
 
-   public AbstractXmlItem(XmlItemType type, XmlItem parent, Class javaClass, String innerText, Map<String, String> attributes)
+   public AbstractXmlItem(XmlItemType type, XmlItem parent, Class<?> javaClass, String innerText, Map<String, String> attributes)
    {
       this.type = type;
       this.parent = parent;
@@ -76,7 +76,7 @@
       return null;
    }
 
-   public Class getJavaClass()
+   public Class<?> getJavaClass()
    {
       return javaClass;
    }

Modified: modules/xml/trunk/src/main/java/org/jboss/seam/xml/model/AnnotationXmlItem.java
===================================================================
--- modules/xml/trunk/src/main/java/org/jboss/seam/xml/model/AnnotationXmlItem.java	2010-01-22 19:28:28 UTC (rev 11985)
+++ modules/xml/trunk/src/main/java/org/jboss/seam/xml/model/AnnotationXmlItem.java	2010-01-22 21:22:04 UTC (rev 11986)
@@ -21,7 +21,7 @@
     * @param innerText
     * @param attributes
     */
-   public AnnotationXmlItem(XmlItem parent, Class c, String innerText, Map<String, String> attributes)
+   public AnnotationXmlItem(XmlItem parent, Class<?> c, String innerText, Map<String, String> attributes)
    {
       super(XmlItemType.ANNOTATION, parent, c, innerText, attributes);
       if (innerText != null)
@@ -35,7 +35,7 @@
 
    public Set<XmlItemType> getAllowedItem()
    {
-      return Collections.EMPTY_SET;
+      return Collections.emptySet();
    }
 
 }

Modified: modules/xml/trunk/src/main/java/org/jboss/seam/xml/model/ArrayXmlItem.java
===================================================================
--- modules/xml/trunk/src/main/java/org/jboss/seam/xml/model/ArrayXmlItem.java	2010-01-22 19:28:28 UTC (rev 11985)
+++ modules/xml/trunk/src/main/java/org/jboss/seam/xml/model/ArrayXmlItem.java	2010-01-22 21:22:04 UTC (rev 11986)
@@ -19,7 +19,7 @@
 
    XmlItem child = null, parent;
 
-   Class javaClass;
+   Class<?> javaClass;
 
    public ArrayXmlItem(XmlItem parent)
    {
@@ -43,6 +43,7 @@
       child = xmlItem;
    }
 
+   @SuppressWarnings("unchecked")
    public Map<String, String> getAttributes()
    {
       return Collections.EMPTY_MAP;
@@ -94,7 +95,7 @@
       {
          throw new RuntimeException("<array>  element must have a child specifying the array type");
       }
-      Class l = child.getJavaClass();
+      Class<?> l = child.getJavaClass();
       try
       {
          javaClass = getClass().getClassLoader().loadClass("[L" + l.getName() + ";");

Modified: modules/xml/trunk/src/main/java/org/jboss/seam/xml/model/ClassXmlItem.java
===================================================================
--- modules/xml/trunk/src/main/java/org/jboss/seam/xml/model/ClassXmlItem.java	2010-01-22 19:28:28 UTC (rev 11985)
+++ modules/xml/trunk/src/main/java/org/jboss/seam/xml/model/ClassXmlItem.java	2010-01-22 21:22:04 UTC (rev 11986)
@@ -22,7 +22,7 @@
     * @param innerText
     * @param attributes
     */
-   public ClassXmlItem(XmlItem parent, Class c)
+   public ClassXmlItem(XmlItem parent, Class<?> c)
    {
       super(XmlItemType.CLASS, parent, c, null, null);
       if (innerText != null)

Modified: modules/xml/trunk/src/main/java/org/jboss/seam/xml/model/DependsXmlItem.java
===================================================================
--- modules/xml/trunk/src/main/java/org/jboss/seam/xml/model/DependsXmlItem.java	2010-01-22 19:28:28 UTC (rev 11985)
+++ modules/xml/trunk/src/main/java/org/jboss/seam/xml/model/DependsXmlItem.java	2010-01-22 21:22:04 UTC (rev 11986)
@@ -17,7 +17,7 @@
 
    public Set<XmlItemType> getAllowedItem()
    {
-      return Collections.EMPTY_SET;
+      return Collections.emptySet();
    }
 
 }

Modified: modules/xml/trunk/src/main/java/org/jboss/seam/xml/model/KeyXmlItem.java
===================================================================
--- modules/xml/trunk/src/main/java/org/jboss/seam/xml/model/KeyXmlItem.java	2010-01-22 19:28:28 UTC (rev 11985)
+++ modules/xml/trunk/src/main/java/org/jboss/seam/xml/model/KeyXmlItem.java	2010-01-22 21:22:04 UTC (rev 11986)
@@ -17,6 +17,6 @@
 
    public Set<XmlItemType> getAllowedItem()
    {
-      return Collections.EMPTY_SET;
+      return Collections.emptySet();
    }
 }

Modified: modules/xml/trunk/src/main/java/org/jboss/seam/xml/model/MethodXmlItem.java
===================================================================
--- modules/xml/trunk/src/main/java/org/jboss/seam/xml/model/MethodXmlItem.java	2010-01-22 19:28:28 UTC (rev 11985)
+++ modules/xml/trunk/src/main/java/org/jboss/seam/xml/model/MethodXmlItem.java	2010-01-22 21:22:04 UTC (rev 11986)
@@ -61,16 +61,16 @@
          return true;
       }
 
-      List<Class> rtList = new ArrayList<Class>();
+      List<Class<?>> rtList = new ArrayList<Class<?>>();
       for (XmlItem c : children)
       {
          if (c.getType() == XmlItemType.CLASS)
          {
-            Class cl = c.getJavaClass();
+            Class<?> cl = c.getJavaClass();
             rtList.add(cl);
          }
       }
-      Class[] alAr = new Class[rtList.size()];
+      Class<?>[] alAr = new Class[rtList.size()];
       for (int i = 0; i < rtList.size(); ++i)
       {
          alAr[i] = rtList.get(i);

Modified: modules/xml/trunk/src/main/java/org/jboss/seam/xml/model/ModelBuilder.java
===================================================================
--- modules/xml/trunk/src/main/java/org/jboss/seam/xml/model/ModelBuilder.java	2010-01-22 19:28:28 UTC (rev 11985)
+++ modules/xml/trunk/src/main/java/org/jboss/seam/xml/model/ModelBuilder.java	2010-01-22 21:22:04 UTC (rev 11986)
@@ -85,6 +85,7 @@
       return ret;
    }
 
+   @SuppressWarnings("unchecked")
    private void addNodeToResult(XmlResult ret, XmlItem rb) throws InvalidElementException
    {
 
@@ -93,7 +94,7 @@
          ResultType type = getItemType(rb);
          if (type == ResultType.BEAN)
          {
-            BeanResult tp = buildAnnotatedType(rb);
+            BeanResult<?> tp = buildAnnotatedType(rb);
             ret.getBeans().add(tp);
             List<FieldValueObject> fields = new ArrayList<FieldValueObject>();
             for (XmlItem xi : rb.getChildren())
@@ -242,10 +243,11 @@
       return ret;
    }
 
-   BeanResult buildAnnotatedType(XmlItem rb) throws InvalidElementException
+   @SuppressWarnings("unchecked")
+   <T> BeanResult<T> buildAnnotatedType(XmlItem rb) throws InvalidElementException
    {
-      BeanResult result = new BeanResult(rb.getJavaClass());
-      NewAnnotatedTypeBuilder type = result.getBuilder();
+      BeanResult<T> result = new BeanResult<T>(rb.getJavaClass());
+      NewAnnotatedTypeBuilder<T> type = result.getBuilder();
       // list of constructor arguments
       List<XmlItem> constList = new ArrayList<XmlItem>();
       for (XmlItem item : rb.getChildren())
@@ -314,6 +316,7 @@
       return result;
    }
 
+   @SuppressWarnings("unchecked")
    void addSteriotypeToResult(XmlResult ret, XmlItem rb) throws InvalidElementException
    {
 
@@ -336,10 +339,11 @@
 
    }
 
+   @SuppressWarnings("unchecked")
    Annotation createAnnotation(XmlItem item) throws InvalidElementException
    {
       Map<String, Object> typedVars = new HashMap<String, Object>();
-      Class anClass = item.getJavaClass();
+      Class<?> anClass = item.getJavaClass();
       for (Entry<String, String> e : item.getAttributes().entrySet())
       {
          String mname = e.getKey();
@@ -352,7 +356,7 @@
          {
             throw new InvalidElementException("Annotation " + item.getJavaClass().getName() + " does not have a member named " + mname + " ,error in XML");
          }
-         Class returnType = m.getReturnType();
+         Class<?> returnType = m.getReturnType();
          typedVars.put(mname, XmlObjectConverter.convert(returnType, e.getValue()));
       }
 

Modified: modules/xml/trunk/src/main/java/org/jboss/seam/xml/model/ValueXmlItem.java
===================================================================
--- modules/xml/trunk/src/main/java/org/jboss/seam/xml/model/ValueXmlItem.java	2010-01-22 19:28:28 UTC (rev 11985)
+++ modules/xml/trunk/src/main/java/org/jboss/seam/xml/model/ValueXmlItem.java	2010-01-22 21:22:04 UTC (rev 11986)
@@ -17,6 +17,6 @@
 
    public Set<XmlItemType> getAllowedItem()
    {
-      return Collections.EMPTY_SET;
+      return Collections.emptySet();
    }
 }

Modified: modules/xml/trunk/src/main/java/org/jboss/seam/xml/parser/ParserMain.java
===================================================================
--- modules/xml/trunk/src/main/java/org/jboss/seam/xml/parser/ParserMain.java	2010-01-22 19:28:28 UTC (rev 11985)
+++ modules/xml/trunk/src/main/java/org/jboss/seam/xml/parser/ParserMain.java	2010-01-22 21:22:04 UTC (rev 11986)
@@ -6,18 +6,21 @@
 
 import java.io.IOException;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
+import org.jboss.seam.xml.util.XmlParseException;
 import org.xml.sax.Attributes;
 import org.xml.sax.InputSource;
 import org.xml.sax.Locator;
 import org.xml.sax.SAXException;
+import org.xml.sax.SAXParseException;
 import org.xml.sax.XMLReader;
 import org.xml.sax.helpers.DefaultHandler;
 import org.xml.sax.helpers.XMLReaderFactory;
 
 /**
- * Parser for xml configration
+ * Parser for xml configration, this class should only be used once
  * 
  * @author Stuart Douglas <stuart at baileyroberts.com.au>
  * 
@@ -35,8 +38,11 @@
 
    String document;
 
-   public SaxNode parse(InputSource inputSource, String fileUrl)
+   List<XmlParseException> errors;
+
+   public SaxNode parse(InputSource inputSource, String fileUrl, List<XmlParseException> errors)
    {
+      this.errors = errors;
       document = fileUrl;
       try
       {
@@ -108,4 +114,15 @@
       this.locator = locator;
    }
 
+   @Override
+   public void error(SAXParseException e) throws SAXException
+   {
+      errors.add(new XmlParseException(e, document, e.getLineNumber()));
+   }
+
+   @Override
+   public void fatalError(SAXParseException e) throws SAXException
+   {
+      errors.add(new XmlParseException(e, document, e.getLineNumber()));
+   }
 }

Modified: modules/xml/trunk/src/main/java/org/jboss/seam/xml/parser/namespace/NamespaceUtils.java
===================================================================
--- modules/xml/trunk/src/main/java/org/jboss/seam/xml/parser/namespace/NamespaceUtils.java	2010-01-22 19:28:28 UTC (rev 11985)
+++ modules/xml/trunk/src/main/java/org/jboss/seam/xml/parser/namespace/NamespaceUtils.java	2010-01-22 21:22:04 UTC (rev 11986)
@@ -15,7 +15,7 @@
 {
    static XmlItem resolveMethodOrField(String name, XmlItem parent, String innerText) throws InvalidElementException
    {
-      Class p = parent.getJavaClass();
+      Class<?> p = parent.getJavaClass();
       Field f = null;
       boolean methodFound = false;
       f = getField(p, name);
@@ -45,9 +45,9 @@
    /**
     * we need access to private fields so we cannot just use getField
     */
-   public static Field getField(Class parent, String name)
+   public static Field getField(Class<?> parent, String name)
    {
-      Class p = parent;
+      Class<?> p = parent;
       while (p != Object.class)
       {
          try

Modified: modules/xml/trunk/src/main/java/org/jboss/seam/xml/parser/namespace/PackageNamespaceElementResolver.java
===================================================================
--- modules/xml/trunk/src/main/java/org/jboss/seam/xml/parser/namespace/PackageNamespaceElementResolver.java	2010-01-22 19:28:28 UTC (rev 11985)
+++ modules/xml/trunk/src/main/java/org/jboss/seam/xml/parser/namespace/PackageNamespaceElementResolver.java	2010-01-22 21:22:04 UTC (rev 11986)
@@ -17,7 +17,7 @@
 public class PackageNamespaceElementResolver implements NamespaceElementResolver
 {
    String pack;
-   Map<String, Class> cache = new HashMap<String, Class>();
+   Map<String, Class<?>> cache = new HashMap<String, Class<?>>();
    Set<String> notFound = new HashSet<String>();
 
    public PackageNamespaceElementResolver(String pack)
@@ -34,7 +34,7 @@
 
       try
       {
-         Class c;
+         Class<?> c;
          if (cache.containsKey(name))
          {
             c = cache.get(name);

Added: modules/xml/trunk/src/main/java/org/jboss/seam/xml/util/XmlConfigurationException.java
===================================================================
--- modules/xml/trunk/src/main/java/org/jboss/seam/xml/util/XmlConfigurationException.java	                        (rev 0)
+++ modules/xml/trunk/src/main/java/org/jboss/seam/xml/util/XmlConfigurationException.java	2010-01-22 21:22:04 UTC (rev 11986)
@@ -0,0 +1,20 @@
+package org.jboss.seam.xml.util;
+
+public class XmlConfigurationException extends Exception
+{
+   int lineno;
+   String document;
+
+   public XmlConfigurationException(String message, String document, int lineno)
+   {
+      super(message);
+      this.document = document;
+      this.lineno = lineno;
+   }
+
+   @Override
+   public String getMessage()
+   {
+      return super.getMessage() + " at " + document + ":" + lineno;
+   }
+}

Added: modules/xml/trunk/src/main/java/org/jboss/seam/xml/util/XmlParseException.java
===================================================================
--- modules/xml/trunk/src/main/java/org/jboss/seam/xml/util/XmlParseException.java	                        (rev 0)
+++ modules/xml/trunk/src/main/java/org/jboss/seam/xml/util/XmlParseException.java	2010-01-22 21:22:04 UTC (rev 11986)
@@ -0,0 +1,21 @@
+package org.jboss.seam.xml.util;
+
+
+public class XmlParseException extends RuntimeException
+{
+   int lineno;
+   String document;
+
+   public XmlParseException(Exception e, String document, int lineno)
+   {
+      super(e);
+      this.lineno = lineno;
+      this.document = document;
+   }
+
+   @Override
+   public String getMessage()
+   {
+      return "Error parsing XML document " + document + ":" + lineno + " " + super.getMessage();
+   }
+}



More information about the seam-commits mailing list