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(a)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();
+ }
+}