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

do-not-reply at jboss.org do-not-reply at jboss.org
Mon May 18 16:49:32 EDT 2009


Author: koen.aers at jboss.com
Date: 2009-05-18 16:49:32 -0400 (Mon, 18 May 2009)
New Revision: 4838

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/EsbBinding.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/MailBinding.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/activity/SubProcessBinding.java
   jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/repository/JpdlDeployer.java
   jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/BindingsParser.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/AbstractCollectionBinding.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/Parse.java
   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/ProblemList.java
Log:
- commented out the addProblem convenience implementations in org.jbpm.pvm.internal.xml.ProblemList
- replaced all convenience calls by addProblem(String, Exception, String, Element)

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-05-18 20:36:04 UTC (rev 4837)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/DecisionBinding.java	2009-05-18 20:49:32 UTC (rev 4838)
@@ -106,7 +106,8 @@
     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");
+      String message = "decision '"+element.getAttribute("name")+"' must have one of: expr attribute, handler attribute, handler element or condition expressions";      
+      parse.addProblem(message,null, "error", element);
     }
     
     return null;

Modified: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/EsbBinding.java
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/EsbBinding.java	2009-05-18 20:36:04 UTC (rev 4837)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/EsbBinding.java	2009-05-18 20:49:32 UTC (rev 4838)
@@ -81,7 +81,8 @@
          || 
          ( (expression!=null) && (descriptorElement!=null) )
        ) {
-      parse.addProblem("in <"+TAG+"...> an expr or exactly one child element is expected");
+      String message = "in <"+TAG+"...> an expr or exactly one child element is expected";
+      parse.addProblem(message, null, "error", partElement);
     }
 
     if (expression!=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-05-18 20:36:04 UTC (rev 4837)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/JpdlBinding.java	2009-05-18 20:49:32 UTC (rev 4838)
@@ -53,9 +53,11 @@
     if (name!=null) {
       // basic name validation
       if ("".equals(name)) {
-        parse.addProblem(XmlUtil.errorMessageAttribute(element, "name", name, "is empty"));
+    	String message = XmlUtil.errorMessageAttribute(element, "name", name, "is empty");
+        parse.addProblem(message, null, "error", element);
       } else if (name.indexOf('/')!=-1) {
-        parse.addProblem(XmlUtil.errorMessageAttribute(element, "name", name, "contains slash (/)"));
+    	String message = XmlUtil.errorMessageAttribute(element, "name", name, "contains slash (/)");
+        parse.addProblem(message, null, "error", element);
       }
       activity.setName(name);
     }
@@ -77,7 +79,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", null, "error", element);
         }
       }
 

Modified: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/MailBinding.java
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/MailBinding.java	2009-05-18 20:36:04 UTC (rev 4837)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/MailBinding.java	2009-05-18 20:49:32 UTC (rev 4838)
@@ -74,7 +74,7 @@
       MailTemplateRegistry templateRegistry = Environment.getFromCurrent(MailTemplateRegistry.class);
       template = templateRegistry.getTemplate(templateName);
       if (template == null) {
-        parse.addProblem("mail template not found: " + templateName, element);
+        parse.addProblem("mail template not found: " + templateName, null, "error", element);
       }
     }
     else {

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-05-18 20:36:04 UTC (rev 4837)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/ScriptBinding.java	2009-05-18 20:49:32 UTC (rev 4838)
@@ -49,7 +49,8 @@
       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");
+    	String message = "in <script ...> attribute expr can't be combined with a nexted text element";
+        parse.addProblem(message, null, "error", 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-05-18 20:36:04 UTC (rev 4837)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/StartBinding.java	2009-05-18 20:49:32 UTC (rev 4838)
@@ -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", null, "error", element);
     }
     
     return new StartActivity();

Modified: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/SubProcessBinding.java
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/SubProcessBinding.java	2009-05-18 20:36:04 UTC (rev 4837)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/SubProcessBinding.java	2009-05-18 20:49:32 UTC (rev 4838)
@@ -75,7 +75,7 @@
         if (outcomeValueElement!=null) {
           String transitionName = XmlUtil.attribute(transitionElement, "name");
           if (transitionName==null) {
-            parse.addProblem("transitions with an outcome-value must have a name", transitionElement);
+            parse.addProblem("transitions with an outcome-value must have a name", null, "error", transitionElement);
           }
           Element valueElement = XmlUtil.element(outcomeValueElement);
           if (valueElement!=null) {
@@ -83,7 +83,7 @@
             Object value = WireContext.create(descriptor);
             outcomeVariableMappings.put(value, transitionName);
           } else {
-            parse.addProblem("outcome-value must contain exactly one element", outcomeValueElement);
+            parse.addProblem("outcome-value must contain exactly one element", null, "error", outcomeValueElement);
           }
         }
       }

Modified: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/repository/JpdlDeployer.java
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/repository/JpdlDeployer.java	2009-05-18 20:36:04 UTC (rev 4837)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/repository/JpdlDeployer.java	2009-05-18 20:49:32 UTC (rev 4838)
@@ -106,7 +106,8 @@
     
     for (ProcessDefinition existingProcess: existingProcesses) {
       if (!processDefinitionKey.equals(existingProcess.getKey())) {
-        deployment.addProblem("invalid key '"+processDefinitionKey+"' in process "+processDefinition.getName()+".  Existing process has name '"+processDefinitionName+"' and key '"+processDefinitionKey+"'");
+    	String message = "invalid key '"+processDefinitionKey+"' in process "+processDefinition.getName()+".  Existing process has name '"+processDefinitionName+"' and key '"+processDefinitionKey+"'";
+        deployment.addProblem(message, null, "error", null);
       }
     }
 
@@ -116,7 +117,8 @@
     
     for (ProcessDefinition existingProcess: existingProcesses) {
       if (!processDefinitionName.equals(existingProcess.getName())) {
-        deployment.addProblem("invalid name '"+processDefinitionName+"' in process "+processDefinition.getName()+".  Existing process has name '"+processDefinitionName+"' and key '"+processDefinitionKey+"'");
+    	String message = "invalid name '"+processDefinitionName+"' in process "+processDefinition.getName()+".  Existing process has name '"+processDefinitionName+"' and key '"+processDefinitionKey+"'";
+        deployment.addProblem(message, null, "error", null);
       }
     }
   }
@@ -134,7 +136,7 @@
         .id(id)
         .uniqueResult();
     if (existingProcessDefinition != null) {
-      deployment.addProblem("process '" + id + "' already exists");
+      deployment.addProblem("process '" + id + "' already exists", null, "error", null);
     }
   }
   

Modified: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/BindingsParser.java
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/BindingsParser.java	2009-05-18 20:36:04 UTC (rev 4837)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/BindingsParser.java	2009-05-18 20:49:32 UTC (rev 4838)
@@ -61,7 +61,7 @@
         Class<?> bindingClass = ReflectUtil.loadClass(classLoader, bindingClassName);
         return (Binding) bindingClass.newInstance();
       } catch (Exception e) {
-        parse.addProblem("couldn't instantiate activity binding "+bindingClassName, e);
+        parse.addProblem("couldn't instantiate activity binding "+bindingClassName, e, "error", bindingElement);
       }
     }
     return null;

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-05-18 20:36:04 UTC (rev 4837)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/JpdlParser.java	2009-05-18 20:49:32 UTC (rev 4838)
@@ -208,7 +208,7 @@
     
 
     if (processDefinition.getInitial()==null) {
-      parse.addProblem("no start activity in process");
+      parse.addProblem("no start activity in process", null, "error", documentElement);
     }
     
     return processDefinition;
@@ -264,7 +264,7 @@
               if (coordinates != null) {
                 activity.setCoordinates(coordinates);
               } else {
-                parse.addProblem("invalid coordinates g=\"" + g + "\" in " + activity);
+                parse.addProblem("invalid coordinates g=\"" + g + "\" in " + activity, null, "error", nestedElement);
               }
             }
           } finally {
@@ -296,10 +296,10 @@
         Date duedatetimeDate = dateFormat.parse(duedatetime);
         timerDefinition.setDueDate(duedatetimeDate);
       } catch (ParseException e) {
-        parse.addProblem("couldn't parse duedatetime "+duedatetime, e);
+        parse.addProblem("couldn't parse duedatetime "+duedatetime, e, "error", timerElement);
       }
     } else {
-      parse.addProblem("either duedate or duedatetime is required in timer");
+      parse.addProblem("either duedate or duedatetime is required in timer", null, "error", timerElement);
     }
     
     String repeat = XmlUtil.attribute(timerElement, "repeat");
@@ -403,7 +403,7 @@
     
     ProcessDefinitionImpl processDefinition = parse.findObject(ProcessDefinitionImpl.class);
     if (processDefinition.getTaskDefinition(taskName)!=null) {
-      parse.addProblem("duplicate task name "+taskName);
+      parse.addProblem("duplicate task name "+taskName, null, "error",element);
     } else {
       processDefinition.addTaskDefinitionImpl(taskDefinition);
     }
@@ -415,7 +415,7 @@
       if (swimlaneDefinition!=null) {
         taskDefinition.setSwimlaneDefinition(swimlaneDefinition);
       } else {
-        parse.addProblem("swimlane "+swimlaneName+" not declared");
+        parse.addProblem("swimlane "+swimlaneName+" not declared", null, "error", element);
       }
     }
     
@@ -488,10 +488,10 @@
       }
 
       if (initRequired && sources==0) {
-        parse.addProblem("no init specified", inElement);
+        parse.addProblem("no init specified", null, "error", inElement);
       }
       if (sources>1) {
-        parse.addProblem("init attribute and init element are mutually exclusive on element variable", inElement);
+        parse.addProblem("init attribute and init element are mutually exclusive on element variable", null, "error", inElement);
       }
       
       variableDefinitions.add(variableDefinition);

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-05-18 20:36:04 UTC (rev 4837)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/UnresolvedTransition.java	2009-05-18 20:49:32 UTC (rev 4838)
@@ -42,7 +42,8 @@
       if (destination!=null) {
         destination.addIncomingTransition(transition);
       } else {
-        parse.addProblem(XmlUtil.errorMessageAttribute(transitionElement, "to", to, "doesn't reference an existing activity name"));
+    	String message = XmlUtil.errorMessageAttribute(transitionElement, "to", to, "doesn't reference an existing activity name");
+        parse.addProblem(message, null, "error", 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-05-18 20:36:04 UTC (rev 4837)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/LifeCycleParser.java	2009-05-18 20:49:32 UTC (rev 4838)
@@ -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", null, "error", 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), null, "error", element);
       return;
     }
     String stateName = element.getAttribute("name");
@@ -78,12 +78,13 @@
 
   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), null, "error", 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));
+      String message = "transition "+transitionName+" doesn't have a to attribute indicating the destination state: "+XmlUtil.toString(element);
+      parse.addProblem(message, null, "error", element);
       return;
     }
     String destinationName = element.getAttribute("to");
@@ -93,13 +94,13 @@
       transition.setDestination(destination);
       transition.setName(transitionName);
     } else {
-      parse.addProblem("destination "+destinationName+" of "+transitionName+" is unknown");
+      parse.addProblem("destination "+destinationName+" of "+transitionName+" is unknown", null, "error", 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), null, "error", 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-05-18 20:36:04 UTC (rev 4837)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/util/XmlUtil.java	2009-05-18 20:49:32 UTC (rev 4838)
@@ -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", null, "error", element);
     }
     return null;
   }
@@ -323,13 +323,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", null, "error", element);
       }
       return value;
     } 
 
     if (required) {
-      parse.addProblem("attribute <"+XmlUtil.getTagLocalName(element)+" "+attributeName+"=\"...\" is required");
+      parse.addProblem("attribute <"+XmlUtil.getTagLocalName(element)+" "+attributeName+"=\"...\" is required", null, "error", element);
     }
     
     return defaultValue;
@@ -344,7 +344,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"), null, "error", element);
       }
     }
 
@@ -362,7 +362,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}"), null, "error", element);
       }
       return value; 
     }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/AbstractCollectionBinding.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/AbstractCollectionBinding.java	2009-05-18 20:36:04 UTC (rev 4837)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/AbstractCollectionBinding.java	2009-05-18 20:49:32 UTC (rev 4838)
@@ -58,10 +58,10 @@
       if (collectionInterface.isAssignableFrom(collectionClass)) {
         return true;
       } else {
-        parse.addProblem("class "+ className+" is not a "+collectionInterface.getName());
+        parse.addProblem("class "+ className+" is not a "+collectionInterface.getName(), null, "error", null);
       }
     } catch (JbpmException e) {
-      parse.addProblem("class "+className+" could not be found");
+      parse.addProblem("class "+className+" could not be found", null, "error", null);
     }
     return false;
   }

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-05-18 20:36:04 UTC (rev 4837)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/BasicTypeBinding.java	2009-05-18 20:49:32 UTC (rev 4838)
@@ -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), null, "error", 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-05-18 20:36:04 UTC (rev 4837)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/BusinessCalendarBinding.java	2009-05-18 20:49:32 UTC (rev 4838)
@@ -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(), null, "error", daysElement);  
           }
           
           dayPartIndex++;
         }
         
       } else {
-        parse.addProblem(dayText+" must have attribute 'hours'");
+        parse.addProblem(dayText+" must have attribute 'hours'", null, "error", daysElement);
       }
       
       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", null, "error", 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), null, "error", 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-05-18 20:36:04 UTC (rev 4837)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/ByteBinding.java	2009-05-18 20:49:32 UTC (rev 4838)
@@ -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), null, "error", 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-05-18 20:36:04 UTC (rev 4837)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/CharBinding.java	2009-05-18 20:49:32 UTC (rev 4838)
@@ -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), null, "error", 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-05-18 20:36:04 UTC (rev 4837)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/ClassBinding.java	2009-05-18 20:49:32 UTC (rev 4838)
@@ -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), null, "error", 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-05-18 20:36:04 UTC (rev 4837)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/DoubleBinding.java	2009-05-18 20:49:32 UTC (rev 4838)
@@ -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), null, "error", 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-05-18 20:36:04 UTC (rev 4837)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/FieldBinding.java	2009-05-18 20:49:32 UTC (rev 4838)
@@ -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), null, "error", 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), null, "error", 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), null, "error", 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-05-18 20:36:04 UTC (rev 4837)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/FloatBinding.java	2009-05-18 20:49:32 UTC (rev 4838)
@@ -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), null, "error", 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-05-18 20:36:04 UTC (rev 4837)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/HibernateConfigurationBinding.java	2009-05-18 20:49:32 UTC (rev 4838)
@@ -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), null, "error", configElement);
         }
 
       } else if ("mapping".equals(XmlUtil.getTagLocalName(configElement))) {
@@ -130,7 +130,7 @@
           descriptor.addMappingUrl(urlText);
           
         } else {
-          parse.addProblem("exactly 1 attribute in {resource, file, class, url} was expected in mapping: "+XmlUtil.toString(element));
+          parse.addProblem("exactly 1 attribute in {resource, file, class, url} was expected in mapping: "+XmlUtil.toString(element), null, "error", configElement);
         }
 
       } else if ("properties".equals(XmlUtil.getTagLocalName(configElement))) {
@@ -147,7 +147,7 @@
                 || ("transactional".equals(cacheUsage))
               )
            ){
-          parse.addProblem("problem in cache-configuration: no usage attribute or illegal value: "+cacheUsage+" Possible values are {read-only, nonstrict-read-write, read-write, transactional}");
+          parse.addProblem("problem in cache-configuration: no usage attribute or illegal value: "+cacheUsage+" Possible values are {read-only, nonstrict-read-write, read-write, transactional}", null, "error", configElement);
         } else {
 
           if (configElement.hasAttribute("file")) {
@@ -156,7 +156,7 @@
             if (file.exists() && file.isFile()) {
               streamSource = new FileStreamInput(file);
             } else {
-              parse.addProblem("file "+fileName+" isn't a file");
+              parse.addProblem("file "+fileName+" isn't a file", null, "error", configElement);
             }
           }
 
@@ -171,7 +171,7 @@
               URL url = new URL(urlText);
               streamSource = new UrlStreamInput(url);
             } catch (Exception e) {
-              parse.addProblem("couldn't open url "+urlText, e);
+              parse.addProblem("couldn't open url "+urlText, e, "error", configElement);
             }
           }
 
@@ -199,14 +199,14 @@
                 descriptor.addCollectionToCache(collection, cacheUsage);
 
               } else {
-                parse.addProblem("unknown hibernate cache configuration element "+XmlUtil.toString(configElement));
+                parse.addProblem("unknown hibernate cache configuration element "+XmlUtil.toString(configElement), null, "error", configElement);
               }
             }
           }
         }
 
       } else {
-        parse.addProblem("unknown hibernate configuration element "+XmlUtil.toString(configElement));
+        parse.addProblem("unknown hibernate configuration element "+XmlUtil.toString(configElement), null, "error", 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-05-18 20:36:04 UTC (rev 4837)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/IntBinding.java	2009-05-18 20:49:32 UTC (rev 4838)
@@ -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), null, "error", 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-05-18 20:36:04 UTC (rev 4837)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/InvokeBinding.java	2009-05-18 20:49:32 UTC (rev 4838)
@@ -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), null, "error", 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-05-18 20:36:04 UTC (rev 4837)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/JndiBinding.java	2009-05-18 20:49:32 UTC (rev 4838)
@@ -45,7 +45,7 @@
       return new JndiDescriptor(jndiName);
 
     } else {
-      parse.addProblem("jndi requires attribute 'jndi-name'");
+      parse.addProblem("jndi requires attribute 'jndi-name'", null, "error", 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-05-18 20:36:04 UTC (rev 4837)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/LongBinding.java	2009-05-18 20:49:32 UTC (rev 4838)
@@ -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), null, "error", 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-05-18 20:36:04 UTC (rev 4837)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/MailSessionBinding.java	2009-05-18 20:49:32 UTC (rev 4838)
@@ -94,7 +94,7 @@
         serverDescriptor.addInjection("sessionProperties", propertiesDescriptor);
       }
       else {
-        parse.addProblem("missing mail session properties");
+        parse.addProblem("missing mail session properties", null, "error", serverElement);
       }
 
       // 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-05-18 20:36:04 UTC (rev 4837)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/MapBinding.java	2009-05-18 20:49:32 UTC (rev 4838)
@@ -78,10 +78,10 @@
           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), null, "error", entryElement);
         }
       } else {
-        parse.addProblem("map can only contain entry elements: "+XmlUtil.toString(entryElement));
+        parse.addProblem("map can only contain entry elements: "+XmlUtil.toString(entryElement), null, "error", 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-05-18 20:36:04 UTC (rev 4837)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/MessageSessionBinding.java	2009-05-18 20:49:32 UTC (rev 4838)
@@ -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\"", null, "error", 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\"", null, "error", 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-05-18 20:36:04 UTC (rev 4837)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/ObjectBinding.java	2009-05-18 20:49:32 UTC (rev 4838)
@@ -76,10 +76,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), null, "error", 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), null, "error", element);
       }
 
       Element constructorElement = XmlUtil.element(element, "constructor");
@@ -89,14 +89,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), null, "error", 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), null, "error", element);
       }
 
     } else if (factoryElement!=null) {
@@ -105,7 +105,7 @@
       descriptor.setFactoryDescriptor(factoryDescriptor);
 
     } else {
-      parse.addProblem("element 'object' must have one of {attribute 'class', attribute 'factory' or element 'factory'}: "+XmlUtil.toString(element));
+      parse.addProblem("element 'object' must have one of {attribute 'class', attribute 'factory' or element 'factory'}: "+XmlUtil.toString(element), null, "error", element);
     }
 
     // method
@@ -116,11 +116,11 @@
       List<ArgDescriptor> argDescriptors = wireParser.parseArgs(argElements, parse);
       descriptor.setArgDescriptors(argDescriptors);
     } else if (className == 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), null, "error", element);
     }
 
     if( (className == null) && (XmlUtil.element(element, "constructor") != null)){
-      parse.addProblem("element 'object' with a element 'factory' or a attribute 'factory' can't have a 'constructor' element: "+XmlUtil.toString(element));
+      parse.addProblem("element 'object' with a element 'factory' or a attribute 'factory' can't have a 'constructor' element: "+XmlUtil.toString(element), null, "error", 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-05-18 20:36:04 UTC (rev 4837)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/PropertiesBinding.java	2009-05-18 20:49:32 UTC (rev 4838)
@@ -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), null, "error", propertyElement);
         }
       } else {
-        parse.addProblem("properties can only contain property elements: "+XmlUtil.toString(propertyElement));
+        parse.addProblem("properties can only contain property elements: "+XmlUtil.toString(propertyElement), null, "error", propertyElement);
       }
     }
 

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-05-18 20:36:04 UTC (rev 4837)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/PropertyBinding.java	2009-05-18 20:49:32 UTC (rev 4838)
@@ -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), null, "error", 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), null, "error", 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), null, "error", 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-05-18 20:36:04 UTC (rev 4837)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/RefBinding.java	2009-05-18 20:49:32 UTC (rev 4838)
@@ -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), null, "error", 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-05-18 20:36:04 UTC (rev 4837)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/RetryInterceptorBinding.java	2009-05-18 20:49:32 UTC (rev 4838)
@@ -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, null, "error", 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, null, "error", 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, null, "error", 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-05-18 20:36:04 UTC (rev 4837)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/ScriptManagerBinding.java	2009-05-18 20:49:32 UTC (rev 4838)
@@ -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 />", null, "error", 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 />", null, "error", 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 />", null, "error", 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 />", null, "error", element);
       }
       
       if ( (languageName!=null)
@@ -101,7 +101,7 @@
           ScriptEngineFactory scriptEngineFactory = (ScriptEngineFactory) factoryClass.newInstance();
           scriptEngineManager.registerEngineName(languageName, scriptEngineFactory);
         } catch (Exception e) {
-          parse.addProblem("couldn't instantiate ScriptEngineFactory "+factoryClassName, e);
+          parse.addProblem("couldn't instantiate ScriptEngineFactory "+factoryClassName, e, "error", element);
         }
       }
     }

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-05-18 20:36:04 UTC (rev 4837)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/ShortBinding.java	2009-05-18 20:49:32 UTC (rev 4838)
@@ -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), null, "error", 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-05-18 20:36:04 UTC (rev 4837)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/TransactionBinding.java	2009-05-18 20:49:32 UTC (rev 4838)
@@ -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, null, "error", 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-05-18 20:36:04 UTC (rev 4837)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/TypesBinding.java	2009-05-18 20:49:32 UTC (rev 4838)
@@ -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", null, "error", element);
       }
     }
     
@@ -82,7 +82,7 @@
         streamSource = new UrlStreamInput(url);
         parser.importStream(streamSource, element, parse);
       } catch (Exception e) {
-        parse.addProblem("couldn't open url "+urlText, e);
+        parse.addProblem("couldn't open url "+urlText, e, "error", 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, null, "error", element);
           }
         } else {
-          parse.addProblem("id-type is required in a persistable type");
+          parse.addProblem("id-type is required in a persistable type", null, "error", 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"), null, "error", element);
         }
       } else {
-        parse.addProblem("no matcher specified in "+XmlUtil.toString(element));
+        parse.addProblem("no matcher specified in "+XmlUtil.toString(element), null, "error", 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, null, "error", 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"), null, "error", element);
         }
       } 
     }
@@ -189,10 +189,10 @@
       try {
         variableClass = ReflectUtil.loadClass(classLoader, variableClassName);
       } catch (Exception e) {
-        parse.addProblem("couldn't instantiate variable-class "+variableClassName, e);
+        parse.addProblem("couldn't instantiate variable-class "+variableClassName, e, "error", element);
       }
     } 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), null, "error", 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-05-18 20:36:04 UTC (rev 4837)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/xml/BindingParser.java	2009-05-18 20:49:32 UTC (rev 4838)
@@ -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), null, "error", bindingElement);
       }
       
       if (binding!=null) {

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/xml/Parse.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/xml/Parse.java	2009-05-18 20:36:04 UTC (rev 4837)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/xml/Parse.java	2009-05-18 20:49:32 UTC (rev 4838)
@@ -146,7 +146,7 @@
       return new InputSource(inputStream);
     }
     
-    addProblem("no source specified to parse");
+    addProblem("no source specified to parse", null, "error", null);
     return 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-05-18 20:36:04 UTC (rev 4837)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/xml/Parser.java	2009-05-18 20:49:32 UTC (rev 4838)
@@ -300,7 +300,7 @@
     try {
       parse.documentBuilder = documentBuilderFactory.newDocumentBuilder();
     } catch (Exception e) {
-      parse.addProblem("couldn't get new document builder", e);
+      parse.addProblem("couldn't get new document builder", e, "error", null);
       return null;
     }
     parse.documentBuilder.setErrorHandler(parse);
@@ -376,7 +376,7 @@
       }
       
     } catch (Exception e) {
-      importingParse.addProblem("couldn't import "+importedStreamInput, e);
+      importingParse.addProblem("couldn't import "+importedStreamInput, e, "error", null);
     }
   }
 
@@ -395,7 +395,7 @@
 
         } catch (Exception e) {
           e.printStackTrace();
-          parse.addProblem("couldn't interpret the dom model: "+e.getMessage(), e);
+          parse.addProblem("couldn't interpret the dom model: "+e.getMessage(), e, "error", null);
         }
       }
       
@@ -404,7 +404,7 @@
         try {
           parse.inputStream.close();
         } catch (Exception e) {
-          parse.addProblem("couldn't close input stream", e);
+          parse.addProblem("couldn't close input stream", e, "error", null);
         }
       }
     }
@@ -451,7 +451,7 @@
       xmlReader.parse(inputSource);
 
     } catch (Exception e) {
-      parse.addProblem("couldn't parse xml document", e);
+      parse.addProblem("couldn't parse xml document", e, "error", null);
     }
 
     return document;
@@ -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"), null, "error", 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()), null, "error", argElement);
         } else {
           Descriptor descriptor = (Descriptor) parseElement(descriptorElement, parse, category);
           argDescriptor.setDescriptor(descriptor);

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/xml/ProblemList.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/xml/ProblemList.java	2009-05-18 20:36:04 UTC (rev 4837)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/xml/ProblemList.java	2009-05-18 20:49:32 UTC (rev 4838)
@@ -66,26 +66,26 @@
   // problem constructor methods with default values //////////////////////////
 
   /** add a problem with {@link ProblemImpl#TYPE_ERROR the default severity}.*/
-  public void addProblem(String msg) {
-    addProblem(msg, null, ProblemImpl.TYPE_ERROR, null);
-  }
+//  public void addProblem(String msg) {
+//    addProblem(msg, null, ProblemImpl.TYPE_ERROR, null);
+//  }
 
   /** add a problem with an exception cause and 
    * {@link ProblemImpl#TYPE_ERROR the default severity}.*/
-  public void addProblem(String msg, Exception e) {
-    addProblem(msg, e, ProblemImpl.TYPE_ERROR, null);
-  }
+//  public void addProblem(String msg, Exception e) {
+//    addProblem(msg, e, ProblemImpl.TYPE_ERROR, null);
+//  }
 
   /** add a problem with {@link ProblemImpl#TYPE_ERROR the default severity}.*/
-  public void addProblem(String msg, Element element) {
-    addProblem(msg, null, ProblemImpl.TYPE_ERROR, element);
-  }
+//  public void addProblem(String msg, Element element) {
+//    addProblem(msg, null, ProblemImpl.TYPE_ERROR, element);
+//  }
 
   /** add a problem with an exception cause and 
    * {@link ProblemImpl#TYPE_ERROR the default severity}.*/
-  public void addProblem(String msg, Exception e, Element element) {
-    addProblem(msg, e, ProblemImpl.TYPE_ERROR, element);
-  }
+//  public void addProblem(String msg, Exception e, Element element) {
+//    addProblem(msg, e, ProblemImpl.TYPE_ERROR, element);
+//  }
 
   // problem mgmt methods /////////////////////////////////////////////////////
 




More information about the jbpm-commits mailing list