I'm sure that would work fine. I actually created a quick fix method which does 
just that (as you can see below), and it did validate correctly. The method 
returns true if validation passes, and I then only call taskInstance.end(); 
Doing it this way for now, I am then able to get around the "end" bug aswell. 
I've pasted the method below which may help people with a workaround for now.
/**
  |      * A bug workaround method to validate that all required 
  |      * variables in a task instance have been set.
  |      * @see Bug[2] at the bottom of this class.
  |      * @param taskInstance
  |      * @return boolean true if validation passes.
  |      */
  |     private boolean validateTaskInstanceVariables (TaskInstance 
taskInstance) {
  |             boolean pass = true;
  |             TaskController taskController = 
taskInstance.getTask().getTaskController();
  |             if (taskController != null) {
  |                     List variableAccesses = 
taskController.getVariableAccesses();
  |                     if (variableAccesses != null) {
  |                     String missingTaskVariables = null;
  |             Iterator it = variableAccesses.iterator();
  |             while (it.hasNext()) {
  |               VariableAccess variableAccess = (VariableAccess) it.next();
  |               String mappedName = variableAccess.getMappedName();
  |               //first check if the required variableInstances are present
  |               if ((variableAccess.isRequired()) 
  |                       && (!taskInstance.hasVariableLocally(mappedName) 
  |                                     || taskInstance.getVariable(mappedName) 
== null) 
  |                       ) {
  |                 if (missingTaskVariables==null) {
  |                   missingTaskVariables = mappedName;
  |                 } 
  |                 else {
  |                   missingTaskVariables += ", "+mappedName;
  |                 }
  |               }
  |             }
  |             // if there are missing, required parameters, set pass to false.
  |             if (missingTaskVariables != null) {
  |                     log.debug("Missing task variables: 
"+missingTaskVariables);
  |                     pass = false;
  |             }
  |                     }
  |             }
  |             return pass;
  |     }

I can try and apply the patch on my system to test if validation works, but I 
am not building from source so would take me some time to setup my environment 
and get to it.

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4084434#4084434

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4084434
_______________________________________________
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to