[jbpm-commits] JBoss JBPM SVN: r5068 - in jbpm4/trunk/modules: jpdl/src/main/java/org/jbpm/jpdl/internal/xml and 5 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Fri Jun 19 11:53:46 EDT 2009


Author: koen.aers at jboss.com
Date: 2009-06-19 11:53:46 -0400 (Fri, 19 Jun 2009)
New Revision: 5068

Modified:
   jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/DecisionBinding.java
   jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/JpdlBinding.java
   jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/ScriptBinding.java
   jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/StartBinding.java
   jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/JpdlParser.java
   jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/UnresolvedTransition.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/LifeCycleParser.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/util/XmlUtil.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/BasicTypeBinding.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/BusinessCalendarBinding.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/ByteBinding.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/CharBinding.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/ClassBinding.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/DoubleBinding.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/FieldBinding.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/FloatBinding.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/HibernateConfigurationBinding.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/IntBinding.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/InvokeBinding.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/JndiBinding.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/LongBinding.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/MailSessionBinding.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/MapBinding.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/MessageSessionBinding.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/ObjectBinding.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/PropertiesBinding.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/PropertyBinding.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/RefBinding.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/RetryInterceptorBinding.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/ScriptManagerBinding.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/ShortBinding.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/TransactionBinding.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/TypesBinding.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/xml/BindingParser.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/xml/Parser.java
Log:
replace addProblem(String) by replace addProblem(String, Element) where possible in order to be able to retrieve the line number in case of problems (GPD-288)

Modified: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/DecisionBinding.java
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/DecisionBinding.java	2009-06-19 14:04:27 UTC (rev 5067)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/DecisionBinding.java	2009-06-19 15:53:46 UTC (rev 5068)
@@ -106,7 +106,7 @@
     if (hasConditions) {
       return new DecisionConditionActivity();
     } else {
-      parse.addProblem("decision '"+element.getAttribute("name")+"' must have one of: expr attribute, handler attribute, handler element or condition expressions");
+      parse.addProblem("decision '"+element.getAttribute("name")+"' must have one of: expr attribute, handler attribute, handler element or condition expressions", element);
     }
     
     return null;

Modified: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/JpdlBinding.java
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/JpdlBinding.java	2009-06-19 14:04:27 UTC (rev 5067)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/JpdlBinding.java	2009-06-19 15:53:46 UTC (rev 5068)
@@ -54,9 +54,9 @@
     if (name!=null) {
       // basic name validation
       if ("".equals(name)) {
-        parse.addProblem(XmlUtil.errorMessageAttribute(element, "name", name, "is empty"));
+        parse.addProblem(XmlUtil.errorMessageAttribute(element, "name", name, "is empty"), element);
       } else if (name.indexOf('/')!=-1) {
-        parse.addProblem(XmlUtil.errorMessageAttribute(element, "name", name, "contains slash (/)"));
+        parse.addProblem(XmlUtil.errorMessageAttribute(element, "name", name, "contains slash (/)"), element);
       }
       activity.setName(name);
     }
@@ -78,7 +78,7 @@
           TimerDefinitionImpl timerDefinitionImpl = jpdlParser.parseTimerDefinition(timerElement, parse, activity);
           timerDefinitionImpl.setSignalName(transitionName);
         } else {
-          parse.addProblem("a transition name is required when a timer is placed on a transition");
+          parse.addProblem("a transition name is required when a timer is placed on a transition", element);
         }
       }
 

Modified: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/ScriptBinding.java
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/ScriptBinding.java	2009-06-19 14:04:27 UTC (rev 5067)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/ScriptBinding.java	2009-06-19 15:53:46 UTC (rev 5068)
@@ -49,7 +49,7 @@
       ScriptManager scriptManager = Environment.getFromCurrent(ScriptManager.class);
       language = scriptManager.getDefaultExpressionLanguage();
       if (textElement!=null) {
-        parse.addProblem("in <script ...> attribute expr can't be combined with a nexted text element");
+        parse.addProblem("in <script ...> attribute expr can't be combined with a nexted text element", element);
       }
     } else {
       language = XmlUtil.attribute(element, "lang");

Modified: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/StartBinding.java
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/StartBinding.java	2009-06-19 14:04:27 UTC (rev 5067)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/StartBinding.java	2009-06-19 15:53:46 UTC (rev 5068)
@@ -45,7 +45,7 @@
       processDefinition.setInitial(startActivity);
       
     } else if (startActivity.getParentActivity()==null) {
-      parse.addProblem("multiple start events not yet supported");
+      parse.addProblem("multiple start events not yet supported", element);
     }
     
     return new StartActivity();

Modified: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/JpdlParser.java
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/JpdlParser.java	2009-06-19 14:04:27 UTC (rev 5067)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/JpdlParser.java	2009-06-19 15:53:46 UTC (rev 5068)
@@ -221,7 +221,7 @@
     }
 
     if (processDefinition.getInitial()==null) {
-      parse.addProblem("no start activity in process");
+      parse.addProblem("no start activity in process", documentElement);
     }
     
     return processDefinition;
@@ -317,7 +317,7 @@
         parse.addProblem("couldn't parse duedatetime "+duedatetime, e);
       }
     } else {
-      parse.addProblem("either duedate or duedatetime is required in timer");
+      parse.addProblem("either duedate or duedatetime is required in timer", timerElement);
     }
     
     String repeat = XmlUtil.attribute(timerElement, "repeat");
@@ -461,7 +461,7 @@
     
     ProcessDefinitionImpl processDefinition = parse.findObject(ProcessDefinitionImpl.class);
     if (processDefinition.getTaskDefinition(taskName)!=null) {
-      parse.addProblem("duplicate task name "+taskName);
+      parse.addProblem("duplicate task name "+taskName, element);
     } else {
       processDefinition.addTaskDefinitionImpl(taskDefinition);
     }
@@ -473,7 +473,7 @@
       if (swimlaneDefinition!=null) {
         taskDefinition.setSwimlaneDefinition(swimlaneDefinition);
       } else {
-        parse.addProblem("swimlane "+swimlaneName+" not declared");
+        parse.addProblem("swimlane "+swimlaneName+" not declared", element);
       }
     }
     

Modified: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/UnresolvedTransition.java
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/UnresolvedTransition.java	2009-06-19 14:04:27 UTC (rev 5067)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/UnresolvedTransition.java	2009-06-19 15:53:46 UTC (rev 5068)
@@ -42,7 +42,7 @@
       if (destination!=null) {
         destination.addIncomingTransition(transition);
       } else {
-        parse.addProblem(XmlUtil.errorMessageAttribute(transitionElement, "to", to, "doesn't reference an existing activity name"));
+        parse.addProblem(XmlUtil.errorMessageAttribute(transitionElement, "to", to, "doesn't reference an existing activity name"), transitionElement);
       }
     }
   }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/LifeCycleParser.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/LifeCycleParser.java	2009-06-19 14:04:27 UTC (rev 5067)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/LifeCycleParser.java	2009-06-19 15:53:46 UTC (rev 5068)
@@ -55,7 +55,7 @@
       if (initial!=null) {
         lifeCycleProcess.setInitial(initial);
       } else {
-        parse.addProblem("initial "+initialStateName+" doesn't exist");
+        parse.addProblem("initial "+initialStateName+" doesn't exist", element);
       }
     }
     
@@ -64,7 +64,7 @@
 
   public void parseTransitions(Element element, ProcessDefinitionImpl lifeCycleProcess, Parse parse) {
     if (! element.hasAttribute("name")) {
-      parse.addProblem("state doesn't have a name: "+XmlUtil.toString(element));
+      parse.addProblem("state doesn't have a name: "+XmlUtil.toString(element), element);
       return;
     }
     String stateName = element.getAttribute("name");
@@ -78,12 +78,12 @@
 
   public void parseTransition(Element element, ActivityImpl state, Parse parse) {
     if (! element.hasAttribute("name")) {
-      parse.addProblem("transition doesn't have a name: "+XmlUtil.toString(element));
+      parse.addProblem("transition doesn't have a name: "+XmlUtil.toString(element), element);
       return;
     }
     String transitionName = element.getAttribute("name");
     if (! element.hasAttribute("to")) {
-      parse.addProblem("transition "+transitionName+" doesn't have a to attribute indicating the destination state: "+XmlUtil.toString(element));
+      parse.addProblem("transition "+transitionName+" doesn't have a to attribute indicating the destination state: "+XmlUtil.toString(element), element);
       return;
     }
     String destinationName = element.getAttribute("to");
@@ -93,13 +93,13 @@
       transition.setDestination(destination);
       transition.setName(transitionName);
     } else {
-      parse.addProblem("destination "+destinationName+" of "+transitionName+" is unknown");
+      parse.addProblem("destination "+destinationName+" of "+transitionName+" is unknown", element);
     }
   }
 
   public void parseState(Element element, ProcessDefinitionImpl lifeCycleProcess, Parse parse) {
     if (! element.hasAttribute("name")) {
-      parse.addProblem("state doesn't have an id: "+XmlUtil.toString(element));
+      parse.addProblem("state doesn't have an id: "+XmlUtil.toString(element), element);
       return;
     }
     String stateName = element.getAttribute("name");

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/util/XmlUtil.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/util/XmlUtil.java	2009-06-19 14:04:27 UTC (rev 5067)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/util/XmlUtil.java	2009-06-19 15:53:46 UTC (rev 5068)
@@ -128,7 +128,7 @@
     }
     
     if (required && (parse!=null)) {
-      parse.addProblem("nested element <"+XmlUtil.getTagLocalName(element)+"><"+tagName+" ... />... is required");
+      parse.addProblem("nested element <"+XmlUtil.getTagLocalName(element)+"><"+tagName+" ... />... is required", element);
     }
     return null;
   }
@@ -311,13 +311,13 @@
     if (element.hasAttribute(attributeName)) {
       String value = element.getAttribute(attributeName);
       if (required && "".equals(value)) {
-        parse.addProblem("attribute <"+XmlUtil.getTagLocalName(element)+" "+attributeName+"=\"\" is empty");
+        parse.addProblem("attribute <"+XmlUtil.getTagLocalName(element)+" "+attributeName+"=\"\" is empty", element);
       }
       return value;
     } 
 
     if (required) {
-      parse.addProblem("attribute <"+XmlUtil.getTagLocalName(element)+" "+attributeName+"=\"...\" is required");
+      parse.addProblem("attribute <"+XmlUtil.getTagLocalName(element)+" "+attributeName+"=\"...\" is required", element);
     }
     
     return defaultValue;
@@ -332,7 +332,7 @@
       try {
         return Integer.parseInt(valueText);
       } catch (NumberFormatException e) {
-        parse.addProblem(errorMessageAttribute(element, attributeName, valueText, "value not parsable as integer"));
+        parse.addProblem(errorMessageAttribute(element, attributeName, valueText, "value not parsable as integer"), element);
       }
     }
 
@@ -350,7 +350,7 @@
     if (valueText!=null) {
       Boolean value = parseBooleanValue(valueText);
       if (value==null) {
-        parse.addProblem(errorMessageAttribute(element, attributeName, valueText, "value not in {true, enabled, on, false, disabled, off}"));
+        parse.addProblem(errorMessageAttribute(element, attributeName, valueText, "value not in {true, enabled, on, false, disabled, off}"), element);
       }
       return value; 
     }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/BasicTypeBinding.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/BasicTypeBinding.java	2009-06-19 14:04:27 UTC (rev 5067)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/BasicTypeBinding.java	2009-06-19 15:53:46 UTC (rev 5068)
@@ -20,7 +20,7 @@
       String value = element.getAttribute("value");
       descriptor = createDescriptor(value, element, parse);
     } else {
-      parse.addProblem("attribute 'value' is required in element '"+XmlUtil.getTagLocalName(element)+"': "+XmlUtil.toString(element));
+      parse.addProblem("attribute 'value' is required in element '"+XmlUtil.getTagLocalName(element)+"': "+XmlUtil.toString(element), element);
     }
     
     return descriptor;

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/BusinessCalendarBinding.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/BusinessCalendarBinding.java	2009-06-19 14:04:27 UTC (rev 5067)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/BusinessCalendarBinding.java	2009-06-19 15:53:46 UTC (rev 5068)
@@ -142,14 +142,14 @@
             dayParts.add(dayPart);
             
           } catch(Exception e) {
-            parse.addProblem(dayText+" has invalid hours part '"+part+"': "+e.getMessage());  
+            parse.addProblem(dayText+" has invalid hours part '"+part+"': "+e.getMessage(), dayElement);  
           }
           
           dayPartIndex++;
         }
         
       } else {
-        parse.addProblem(dayText+" must have attribute 'hours'");
+        parse.addProblem(dayText+" must have attribute 'hours'", dayElement);
       }
       
       DayPart[] dayPartArray = new DayPart[dayParts.size()];
@@ -186,7 +186,7 @@
         holiday.setToDay(toDate);
         
       } else {
-        parse.addProblem("attribute 'period' in element business-calendar is required");
+        parse.addProblem("attribute 'period' in element business-calendar is required", holidayElement);
       }
 
       // now we are going to set the toDay to the end of the day, rather then the beginning.
@@ -198,7 +198,7 @@
       holiday.setToDay(toDay);
       
     } catch (Exception e) {
-      parse.addProblem("couldn't parse holiday: "+XmlUtil.toString(holidayElement));
+      parse.addProblem("couldn't parse holiday: "+XmlUtil.toString(holidayElement), holidayElement);
     }
 
     return holiday;

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/ByteBinding.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/ByteBinding.java	2009-06-19 14:04:27 UTC (rev 5067)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/ByteBinding.java	2009-06-19 15:53:46 UTC (rev 5068)
@@ -48,7 +48,7 @@
       return byteDescriptor;
 
     } catch (NumberFormatException e) {
-      parse.addProblem(createValueExceptionMessage("'"+value+"' cannot be parsed to a byte", element));
+      parse.addProblem(createValueExceptionMessage("'"+value+"' cannot be parsed to a byte", element), element);
     }
     return null;
   }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/CharBinding.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/CharBinding.java	2009-06-19 14:04:27 UTC (rev 5067)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/CharBinding.java	2009-06-19 15:53:46 UTC (rev 5068)
@@ -42,7 +42,7 @@
   protected AbstractDescriptor createDescriptor(String value, Element element, Parse parse) {
     CharacterDescriptor characterDescriptor = new CharacterDescriptor();
     if (value.length()!=1) {
-      parse.addProblem(createValueExceptionMessage("length of value must be 1", element));
+      parse.addProblem(createValueExceptionMessage("length of value must be 1", element), element);
       return null;
     }
     char c = value.charAt(0);

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/ClassBinding.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/ClassBinding.java	2009-06-19 14:04:27 UTC (rev 5067)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/ClassBinding.java	2009-06-19 15:53:46 UTC (rev 5068)
@@ -26,7 +26,7 @@
       classDescriptor = new ClassDescriptor();
       classDescriptor.setClassName(className);
     } else {
-      parse.addProblem("class must have classname attribute: "+XmlUtil.toString(element));
+      parse.addProblem("class must have classname attribute: "+XmlUtil.toString(element), element);
     }
     return classDescriptor;
   }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/DoubleBinding.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/DoubleBinding.java	2009-06-19 14:04:27 UTC (rev 5067)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/DoubleBinding.java	2009-06-19 15:53:46 UTC (rev 5068)
@@ -45,7 +45,7 @@
     try {
       doubleValue = new Double(value);
     } catch (NumberFormatException e) {
-      parse.addProblem(createValueExceptionMessage("'"+value+"' cannot be parsed to a double", element));
+      parse.addProblem(createValueExceptionMessage("'"+value+"' cannot be parsed to a double", element), element);
       return null;
     }
     doubleDescriptor.setValue(doubleValue);

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/FieldBinding.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/FieldBinding.java	2009-06-19 14:04:27 UTC (rev 5067)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/FieldBinding.java	2009-06-19 15:53:46 UTC (rev 5068)
@@ -47,7 +47,7 @@
     if (element.hasAttribute("name")) {
       fieldOperation.setFieldName(element.getAttribute("name"));
     } else {
-      parse.addProblem("field must have name : "+XmlUtil.toString(element));
+      parse.addProblem("field must have name : "+XmlUtil.toString(element), element);
     }
     Element descriptorElement = XmlUtil.element(element);
     if (descriptorElement!=null) {
@@ -55,10 +55,10 @@
       if (descriptor!=null) {
         fieldOperation.setDescriptor(descriptor);
       } else {
-        parse.addProblem("unknown descriptor element "+descriptorElement.getTagName()+" inside field operation: "+XmlUtil.toString(element));
+        parse.addProblem("unknown descriptor element "+descriptorElement.getTagName()+" inside field operation: "+XmlUtil.toString(element), element);
       }
     } else {
-      parse.addProblem("field must have 1 descriptor element out of "+parser.getBindings().getTagNames(WireParser.CATEGORY_DESCRIPTOR)+" as content: "+XmlUtil.toString(element));
+      parse.addProblem("field must have 1 descriptor element out of "+parser.getBindings().getTagNames(WireParser.CATEGORY_DESCRIPTOR)+" as content: "+XmlUtil.toString(element), element);
     }
     return fieldOperation;
   }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/FloatBinding.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/FloatBinding.java	2009-06-19 14:04:27 UTC (rev 5067)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/FloatBinding.java	2009-06-19 15:53:46 UTC (rev 5068)
@@ -45,7 +45,7 @@
     try {
       floatValue = new Float(value);
     } catch (NumberFormatException e) {
-      parse.addProblem(createValueExceptionMessage("'"+value+"' cannot be parsed to a float", element));
+      parse.addProblem(createValueExceptionMessage("'"+value+"' cannot be parsed to a float", element), element);
       return null;
     }
     floatDescriptor.setValue(floatValue);

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/HibernateConfigurationBinding.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/HibernateConfigurationBinding.java	2009-06-19 14:04:27 UTC (rev 5067)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/HibernateConfigurationBinding.java	2009-06-19 15:53:46 UTC (rev 5068)
@@ -105,7 +105,7 @@
           descriptor.addCfgUrl(urlText);
           
         } else {
-          parse.addProblem("exactly 1 attribute in {resource, file, url} was expected in cfg: "+XmlUtil.toString(configElement));
+          parse.addProblem("exactly 1 attribute in {resource, file, url} was expected in cfg: "+XmlUtil.toString(configElement), element);
         }
 
       } else if ("mapping".equals(XmlUtil.getTagLocalName(configElement))) {

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/IntBinding.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/IntBinding.java	2009-06-19 14:04:27 UTC (rev 5067)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/IntBinding.java	2009-06-19 15:53:46 UTC (rev 5068)
@@ -45,7 +45,7 @@
     try {
       integerValue = new Integer(value);
     } catch (NumberFormatException e) {
-      parse.addProblem(createValueExceptionMessage("'"+value+"' cannot be parsed to an int", element));
+      parse.addProblem(createValueExceptionMessage("'"+value+"' cannot be parsed to an int", element), element);
       return null;
     }
     integerDescriptor.setValue(integerValue);

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/InvokeBinding.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/InvokeBinding.java	2009-06-19 14:04:27 UTC (rev 5067)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/InvokeBinding.java	2009-06-19 15:53:46 UTC (rev 5068)
@@ -48,7 +48,7 @@
     if (element.hasAttribute("method")) {
       invokeOperation.setMethodName(element.getAttribute("method"));
     } else {
-      parse.addProblem("invoke must have method : "+XmlUtil.toString(element));
+      parse.addProblem("invoke must have method : "+XmlUtil.toString(element), element);
     }
     List<Element> argElements = XmlUtil.elements(element, "arg");
     Parser wireParser = (Parser) parser;

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/JndiBinding.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/JndiBinding.java	2009-06-19 14:04:27 UTC (rev 5067)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/JndiBinding.java	2009-06-19 15:53:46 UTC (rev 5068)
@@ -45,7 +45,7 @@
       return new JndiDescriptor(jndiName);
 
     } else {
-      parse.addProblem("jndi requires attribute 'jndi-name'");
+      parse.addProblem("jndi requires attribute 'jndi-name'", element);
     }
 
     return null;

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/LongBinding.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/LongBinding.java	2009-06-19 14:04:27 UTC (rev 5067)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/LongBinding.java	2009-06-19 15:53:46 UTC (rev 5068)
@@ -45,7 +45,7 @@
     try {
       longValue = new Long(value);
     } catch (NumberFormatException e) {
-      parse.addProblem(createValueExceptionMessage("'"+value+"' cannot be parsed to a long", element));
+      parse.addProblem(createValueExceptionMessage("'"+value+"' cannot be parsed to a long", element), element);
       return null;
     }
     longDescriptor.setValue(longValue);

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/MailSessionBinding.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/MailSessionBinding.java	2009-06-19 14:04:27 UTC (rev 5067)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/MailSessionBinding.java	2009-06-19 15:53:46 UTC (rev 5068)
@@ -94,7 +94,7 @@
         serverDescriptor.addInjection("sessionProperties", propertiesDescriptor);
       }
       else {
-        parse.addProblem("missing mail session properties");
+        parse.addProblem("missing mail session properties", element);
       }
 
       // authenticator

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/MapBinding.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/MapBinding.java	2009-06-19 14:04:27 UTC (rev 5067)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/MapBinding.java	2009-06-19 15:53:46 UTC (rev 5068)
@@ -78,7 +78,7 @@
           keyDescriptors.add(keyDescriptor);
           valueDescriptors.add(valueDescriptor);
         } else {
-          parse.addProblem("entry must have key and value element with a single descriptor as contents: "+XmlUtil.toString(entryElement));
+          parse.addProblem("entry must have key and value element with a single descriptor as contents: "+XmlUtil.toString(entryElement), element);
         }
       } else {
         parse.addProblem("map can only contain entry elements: "+XmlUtil.toString(entryElement));

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/MessageSessionBinding.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/MessageSessionBinding.java	2009-06-19 14:04:27 UTC (rev 5067)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/MessageSessionBinding.java	2009-06-19 15:53:46 UTC (rev 5068)
@@ -59,7 +59,7 @@
         JndiDescriptor jndiDescriptor = new JndiDescriptor(jmsSessionJndiName);
         objectDescriptor.addInjection("jmsSession", jndiDescriptor);
       } else {
-        parse.addProblem("attribute <"+XmlUtil.getTagLocalName(element)+" session-jndi=\"...\" is required when target=\"jms\"");
+        parse.addProblem("attribute <"+XmlUtil.getTagLocalName(element)+" session-jndi=\"...\" is required when target=\"jms\"", element);
       }
       
       if (element.hasAttribute("destination-jndi")) {
@@ -67,7 +67,7 @@
         JndiDescriptor jndiDescriptor = new JndiDescriptor(jmsDestinationJndiName);
         objectDescriptor.addInjection("jmsDestination", jndiDescriptor);
       } else {
-        parse.addProblem("attribute <"+XmlUtil.getTagLocalName(element)+" destination-jndi=\"...\" is required when target=\"jms\"");
+        parse.addProblem("attribute <"+XmlUtil.getTagLocalName(element)+" destination-jndi=\"...\" is required when target=\"jms\"", element);
       }
 
     } else {

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/ObjectBinding.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/ObjectBinding.java	2009-06-19 14:04:27 UTC (rev 5067)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/ObjectBinding.java	2009-06-19 15:53:46 UTC (rev 5068)
@@ -77,10 +77,10 @@
     if (className!=null) {
       descriptor.setClassName(className);
       if (factoryObjectName!=null) {
-        parse.addProblem("attribute 'factory' is specified together with attribute 'class' in element 'object': "+XmlUtil.toString(element));
+        parse.addProblem("attribute 'factory' is specified together with attribute 'class' in element 'object': "+XmlUtil.toString(element), element);
       }
       if (factoryElement!=null) {
-        parse.addProblem("element 'factory' is specified together with attribute 'class' in element 'object': "+XmlUtil.toString(element));
+        parse.addProblem("element 'factory' is specified together with attribute 'class' in element 'object': "+XmlUtil.toString(element), element);
       }
 
       Element constructorElement = XmlUtil.element(element, "constructor");
@@ -90,14 +90,14 @@
         descriptor.setArgDescriptors(argDescriptors);
 
         if (element.hasAttribute("method")) {
-          parse.addProblem("attributes 'class' and 'method' indicate static method and also a 'constructor' element is specified for element 'object': "+XmlUtil.toString(element));
+          parse.addProblem("attributes 'class' and 'method' indicate static method and also a 'constructor' element is specified for element 'object': "+XmlUtil.toString(element), element);
         }
       }
 
     } else if (factoryObjectName!=null) {
       descriptor.setFactoryObjectName(factoryObjectName);
       if (factoryElement!=null) {
-        parse.addProblem("element 'factory' is specified together with attribute 'factory' in element 'object': "+XmlUtil.toString(element));
+        parse.addProblem("element 'factory' is specified together with attribute 'factory' in element 'object': "+XmlUtil.toString(element), element);
       }
 
     } else if (factoryElement!=null) {
@@ -111,7 +111,7 @@
       descriptor.setLang(lang);
       
     } else {
-      parse.addProblem("element 'object' must have one of {attribute 'class', attribute 'expr', attribute 'factory' or element 'factory'}: "+XmlUtil.toString(element));
+      parse.addProblem("element 'object' must have one of {attribute 'class', attribute 'expr', attribute 'factory' or element 'factory'}: "+XmlUtil.toString(element), element);
     }
 
     // method
@@ -124,13 +124,13 @@
     } else if ( (factoryObjectName!=null)
                 || (factoryElement!=null)
               ) {
-      parse.addProblem("element 'object' with a element 'factory' or a attribute 'factory' must have a attribute 'method': "+XmlUtil.toString(element));
+      parse.addProblem("element 'object' with a element 'factory' or a attribute 'factory' must have a attribute 'method': "+XmlUtil.toString(element), element);
     }
 
     if( (className == null) 
         && (XmlUtil.element(element, "constructor") != null)
       ) {
-      parse.addProblem("element 'object' with a 'constructor' element must have 'class' attribute: "+XmlUtil.toString(element));
+      parse.addProblem("element 'object' with a 'constructor' element must have 'class' attribute: "+XmlUtil.toString(element), element);
     }
 
     // read the operations elements

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/PropertiesBinding.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/PropertiesBinding.java	2009-06-19 14:04:27 UTC (rev 5067)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/PropertiesBinding.java	2009-06-19 15:53:46 UTC (rev 5068)
@@ -81,10 +81,10 @@
           keyDescriptors.add(new StringDescriptor(name));
           valueDescriptors.add(new StringDescriptor(value));
         } else {
-          parse.addProblem("property must have name and value attributes: "+XmlUtil.toString(propertyElement));
+          parse.addProblem("property must have name and value attributes: "+XmlUtil.toString(propertyElement), element);
         }
       } else {
-        parse.addProblem("properties can only contain property elements: "+XmlUtil.toString(propertyElement));
+        parse.addProblem("properties can only contain property elements: "+XmlUtil.toString(propertyElement), element);
       }
     }
 

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/PropertyBinding.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/PropertyBinding.java	2009-06-19 14:04:27 UTC (rev 5067)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/PropertyBinding.java	2009-06-19 15:53:46 UTC (rev 5068)
@@ -86,7 +86,7 @@
     } else if (element.hasAttribute("name")) {
       propertyOperation.setPropertyName(element.getAttribute("name"));
     } else {
-      parse.addProblem("property must have name or setter attribute: "+XmlUtil.toString(element));
+      parse.addProblem("property must have name or setter attribute: "+XmlUtil.toString(element), element);
     }
     Element descriptorElement = XmlUtil.element(element);
     if (descriptorElement!=null) {
@@ -94,10 +94,10 @@
       if (descriptor!=null) {
         propertyOperation.setDescriptor(descriptor);
       } else {
-        parse.addProblem("couldn't parse property content element as a value descriptor: "+XmlUtil.toString(element));
+        parse.addProblem("couldn't parse property content element as a value descriptor: "+XmlUtil.toString(element), element);
       }
     } else {
-      parse.addProblem("property must have 1 descriptor element out of "+parser.getBindings().getTagNames(WireParser.CATEGORY_DESCRIPTOR)+" as content: "+XmlUtil.toString(element));
+      parse.addProblem("property must have 1 descriptor element out of "+parser.getBindings().getTagNames(WireParser.CATEGORY_DESCRIPTOR)+" as content: "+XmlUtil.toString(element), element);
     }
     return propertyOperation;
   }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/RefBinding.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/RefBinding.java	2009-06-19 14:04:27 UTC (rev 5067)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/RefBinding.java	2009-06-19 15:53:46 UTC (rev 5068)
@@ -45,7 +45,7 @@
     if (element.hasAttribute("object")) {
       descriptor.setValue(element.getAttribute("object"));
     } else {
-      parse.addProblem("ref must have object attribute: "+XmlUtil.toString(element));
+      parse.addProblem("ref must have object attribute: "+XmlUtil.toString(element), element);
     }
     return descriptor;
   }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/RetryInterceptorBinding.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/RetryInterceptorBinding.java	2009-06-19 14:04:27 UTC (rev 5067)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/RetryInterceptorBinding.java	2009-06-19 15:53:46 UTC (rev 5068)
@@ -48,7 +48,7 @@
         int retries = Integer.parseInt(retriesText);
         retryInterceptorDescriptor.setRetries(retries);
       } catch (NumberFormatException e) {
-        parse.addProblem("couldn't parse retries "+retriesText);
+        parse.addProblem("couldn't parse retries "+retriesText, element);
       }
     }
 
@@ -58,7 +58,7 @@
         long delay = Long.parseLong(delayText);
         retryInterceptorDescriptor.setDelay(delay);
       } catch (NumberFormatException e) {
-        parse.addProblem("couldn't parse delay "+delayText);
+        parse.addProblem("couldn't parse delay "+delayText, element);
       }
     }
 
@@ -68,7 +68,7 @@
         long delayFactor = Long.parseLong(delayFactorText);
         retryInterceptorDescriptor.setDelayFactor(delayFactor);
       } catch (NumberFormatException e) {
-        parse.addProblem("couldn't parse delay-factor "+delayFactorText);
+        parse.addProblem("couldn't parse delay-factor "+delayFactorText, element);
       }
     }
 

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/ScriptManagerBinding.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/ScriptManagerBinding.java	2009-06-19 14:04:27 UTC (rev 5067)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/ScriptManagerBinding.java	2009-06-19 15:53:46 UTC (rev 5068)
@@ -66,7 +66,7 @@
       descriptor.addInjection("readContextNames", new ProvidedObjectDescriptor(readContextNames));
       
     } else {
-      parse.addProblem("'read-contexts' is a required attribute in element <script-manager />");
+      parse.addProblem("'read-contexts' is a required attribute in element <script-manager />", element);
     }
 
     if (element.hasAttribute("write-context")) {
@@ -74,7 +74,7 @@
       descriptor.addInjection("writeContextName", new StringDescriptor(writeContextName));
       
     } else {
-      parse.addProblem("'write-context' is a required attribute in element <script-manager />");
+      parse.addProblem("'write-context' is a required attribute in element <script-manager />", element);
     }
     
     ScriptEngineManager scriptEngineManager = new ScriptEngineManager();
@@ -84,13 +84,13 @@
       if (scriptElement.hasAttribute("name")) {
         languageName = scriptElement.getAttribute("name");
       } else {
-        parse.addProblem("'name' is a required attribute in element <script-language />");
+        parse.addProblem("'name' is a required attribute in element <script-language />", element);
       }
       String factoryClassName = null;
       if (scriptElement.hasAttribute("factory")) {
         factoryClassName = scriptElement.getAttribute("factory");
       } else {
-        parse.addProblem("'name' is a required attribute in element <script-language />");
+        parse.addProblem("'name' is a required attribute in element <script-language />", element);
       }
       
       if ( (languageName!=null)

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/ShortBinding.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/ShortBinding.java	2009-06-19 14:04:27 UTC (rev 5067)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/ShortBinding.java	2009-06-19 15:53:46 UTC (rev 5068)
@@ -45,7 +45,7 @@
     try {
       shortValue = new Short(value);
     } catch (NumberFormatException e) {
-      parse.addProblem(createValueExceptionMessage("'"+value+"' cannot be parsed to a short", element));
+      parse.addProblem(createValueExceptionMessage("'"+value+"' cannot be parsed to a short", element), element);
       return null;
     }
     shortDescriptor.setValue(shortValue);

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/TransactionBinding.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/TransactionBinding.java	2009-06-19 14:04:27 UTC (rev 5067)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/TransactionBinding.java	2009-06-19 15:53:46 UTC (rev 5068)
@@ -54,7 +54,7 @@
     } else if ("jta".equals(type)){
       transactionDescriptor = new ObjectDescriptor(JtaTransaction.class);
     } else {
-      parse.addProblem("unsupported transaction type: "+type);
+      parse.addProblem("unsupported transaction type: "+type, element);
     }
     
     return transactionDescriptor;

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/TypesBinding.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/TypesBinding.java	2009-06-19 14:04:27 UTC (rev 5067)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/TypesBinding.java	2009-06-19 15:53:46 UTC (rev 5068)
@@ -65,7 +65,7 @@
         streamSource = new FileStreamInput(file);
         parser.importStream(streamSource, element, parse);
       } else {
-        parse.addProblem("file "+fileName+" isn't a file");
+        parse.addProblem("file "+fileName+" isn't a file", element);
       }
     }
     
@@ -126,10 +126,10 @@
           } else if ("string".equalsIgnoreCase(idType)) {
             matcher = new HibernateStringIdMatcher(hibernateSessionFactoryName); 
           } else {
-            parse.addProblem("id-type was not 'long' or 'string': "+idType);
+            parse.addProblem("id-type was not 'long' or 'string': "+idType, element);
           }
         } else {
-          parse.addProblem("id-type is required in a persistable type");
+          parse.addProblem("id-type is required in a persistable type", element);
         }
 
       // otherwise, we expect type="some.java.ClassName"
@@ -145,10 +145,10 @@
         try {
           matcher = (Matcher) parser.parseElement(matcherObjectElement, parse);
         } catch (ClassCastException e) {
-          parse.addProblem("matcher is not a "+Matcher.class.getName()+": "+(matcher!=null ? matcher.getClass().getName() : "null"));
+          parse.addProblem("matcher is not a "+Matcher.class.getName()+": "+(matcher!=null ? matcher.getClass().getName() : "null"), element);
         }
       } else {
-        parse.addProblem("no matcher specified in "+XmlUtil.toString(element));
+        parse.addProblem("no matcher specified in "+XmlUtil.toString(element), element);
       }
     }
 
@@ -163,7 +163,7 @@
         Class<?> converterClass = ReflectUtil.loadClass(classLoader, converterClassName);
         converter = (Converter) converterClass.newInstance();
       } catch (Exception e) {
-        parse.addProblem("couldn't instantiate converter "+converterClassName);
+        parse.addProblem("couldn't instantiate converter "+converterClassName, element);
       }
     } else {
       // look for the matcher element
@@ -173,7 +173,7 @@
         try {
           converter = (Converter) parser.parseElement(converterObjectElement, parse);
         } catch (ClassCastException e) {
-          parse.addProblem("converter is not a "+Converter.class.getName()+": "+(converter!=null ? converter.getClass().getName() : "null"));
+          parse.addProblem("converter is not a "+Converter.class.getName()+": "+(converter!=null ? converter.getClass().getName() : "null"), element);
         }
       } 
     }
@@ -192,7 +192,7 @@
         parse.addProblem("couldn't instantiate variable-class "+variableClassName, e);
       }
     } else {
-      parse.addProblem("variable-class is required on a type: "+XmlUtil.toString(element));
+      parse.addProblem("variable-class is required on a type: "+XmlUtil.toString(element), element);
     }
 
     type.setVariableClass(variableClass);

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/xml/BindingParser.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/xml/BindingParser.java	2009-06-19 14:04:27 UTC (rev 5067)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/xml/BindingParser.java	2009-06-19 15:53:46 UTC (rev 5068)
@@ -52,7 +52,7 @@
           log.trace("couldn't instantiate binding "+bindingClassName);
         }
       } else {
-        parse.addProblem("class is a required attribute in a binding "+XmlUtil.toString(bindingElement));
+        parse.addProblem("class is a required attribute in a binding "+XmlUtil.toString(bindingElement), documentElement);
       }
       
       if (binding!=null) {

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/xml/Parser.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/xml/Parser.java	2009-06-19 14:04:27 UTC (rev 5067)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/xml/Parser.java	2009-06-19 15:53:46 UTC (rev 5068)
@@ -511,7 +511,7 @@
     if (binding!=null) {
       object = binding.parse(element, parse, this);
     } else {
-      parse.addProblem("no element parser for tag "+tagName+(category!=null ? " in category "+category : " in the default category"));
+      parse.addProblem("no element parser for tag "+tagName+(category!=null ? " in category "+category : " in the default category"), element);
     }
 
     return object;
@@ -532,7 +532,7 @@
         argDescriptor.setTypeName(XmlUtil.attribute(argElement, "type"));
         Element descriptorElement = XmlUtil.element(argElement);
         if (descriptorElement==null) {
-          parse.addProblem("arg must contain exactly one descriptor element out of "+bindings.getTagNames(category)+" as contents:"+XmlUtil.toString((Element) argElement.getParentNode()));
+          parse.addProblem("arg must contain exactly one descriptor element out of "+bindings.getTagNames(category)+" as contents:"+XmlUtil.toString((Element) argElement.getParentNode()), argElement);
         } else {
           Descriptor descriptor = (Descriptor) parseElement(descriptorElement, parse, category);
           argDescriptor.setDescriptor(descriptor);




More information about the jbpm-commits mailing list