[JBoss JIRA] Created: (JBPM-972) org.jbpm.graph.action.Script does not provide specific (correct) handling for bsh.TargetError
by Olga Ivanova (JIRA)
org.jbpm.graph.action.Script does not provide specific (correct) handling for bsh.TargetError
---------------------------------------------------------------------------------------------
Key: JBPM-972
URL: http://jira.jboss.com/jira/browse/JBPM-972
Project: JBoss jBPM
Issue Type: Bug
Components: Core Engine
Affects Versions: jBPM jPDL 3.2
Reporter: Olga Ivanova
Assigned To: Tom Baeyens
The recommended way of handling beanshel script TargerError is to use target exception (rethrow or printout), instead of using TargerError itself.
see (http://www.beanshell.org/manual/bshmanual.html).
The reason why this problem is reported is that when TargetError is not handled in a way it is proposed, stack trace where such error exists became inaccurate.
This happends if TargetError is a cause for some other error on which printStackTrace is called, and TargetError itself contains targer exception with it's own causes. In this case, only target exception itself is printed out, all it's cause exceptions are not printed. Unit Test is attached.
In JBPM org.jbpm.graph.action.Script , following code handles beanshell script exceptions (line 137):
} catch (EvalError e) {
log.warn("exception during evaluation of script expression", e);
// try to throw the cause of the EvalError
if (e.getCause() instanceof Exception) {
throw (Exception) e.getCause();
} else if (e.getCause() instanceof Error) {
throw (Error) e.getCause();
} else {
throw e;
}
}
Which does not work as expected, as TargerError which extends EvalError always returns null from getCause method.
Another thing is that there are two child classes of EvalError - TargetError, which should be handled specially and ParseException, where no special handling is required.
The correct way of handling these exceptions could be following:
} catch (EvalError e) {
log.warn("exception during evaluation of script expression", e);
if (e instanceof TargetError) {
TargetError te = (TargetError)e;
// try to throw the cause of the TargetError
if (te.getTarget() instanceof Exception) {
throw (Exception) te.getTarget();
} else if (te.getTarget() instanceof Error) {
throw (Error) te.getTarget();
}
}
throw e;
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
18 years, 10 months
[JBoss JIRA] Created: (JBPM-743) Optionally allow swimlanes to perform assignment for each evaluation
by Brian Greene (JIRA)
Optionally allow swimlanes to perform assignment for each evaluation
--------------------------------------------------------------------
Key: JBPM-743
URL: http://jira.jboss.com/jira/browse/JBPM-743
Project: JBoss jBPM
Issue Type: Feature Request
Components: Core Engine
Environment: All
Reporter: Brian Greene
Assigned To: Tom Baeyens
Swimlanes are a very effective way to perform assignment, and we have implemented several that are nicely reusable.
A swimlane though, isn't always (to my mind) the same actor or actors throughout the life of a process instance. In our case (and we've several use cases where this is applicable) a swimlane may represent an actor(s) that are related to a particular object or object in the process.
The problem arises when the user(s) that are related to said object change in a long-running process.
For example, a long running requisition process. The manager of the user who made the requisition may wish to have notifications as the process goes along (we have integrated email functionality in a custom extension). The most intuitive way to handle this as a process author is to use a swimlane that defines the relationship. The current jBPM TaskMgtInstance will only perform the assignment once per swimlane though, assuming that the SAME actor(s) will be used for the life of the process. Depending on what you're orchestrating, this may not be tenable.
I think at the least there ought to be a way to allow a swimlane to configure a swimlane to perform its work every time it is referenced rather than using the previously determined actor(s).
I've made a modification to jBPM to force swimlane instances to ALWAYS perform assignment, and while this fixes the issue in the short term, eventually I plan to modify either the global config for swimlanes, and better, add an attribute to the swimlane declaration that allows configurable behavior on a swimlane that will override the global default. In this way you could have the current behavior or configure the global setting to behave as I've discussed and provide an override to the current behavior on a case by case basis.
You can get this behavior using nested assignment delegations, but there are reusability issues as well as the general cleanliness of the jPDL language to consider. We think swimlanes are in many cases more intuitive, and make the process definition much more readable.
As we've discussed in internally, this seems reasonable, and seems to be required in a flexible environment supporting long running processes.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
18 years, 10 months
[JBoss JIRA] Created: (JBWEB-85) Cannot parse web.xml for jsp vehicle
by Heiko Braun (JIRA)
Cannot parse web.xml for jsp vehicle
-------------------------------------
Key: JBWEB-85
URL: http://jira.jboss.com/jira/browse/JBWEB-85
Project: JBoss Web
Issue Type: Bug
Security Level: Public (Everyone can see)
Reporter: Heiko Braun
Assigned To: Mladen Turk
The following descriptor let's the jboss web digester choke, even though it's a perfectly legal j2ee1.4 web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:ns1="http://extra-header.org"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>W2JRLR2753TestService_jsp_vehicle</display-name>
<servlet>
<servlet-name>jsp_vehicle</servlet-name>
<jsp-file>/jsp_vehicle.jsp</jsp-file>
<load-on-startup>0</load-on-startup>
</servlet>
<session-config>
<session-timeout>54</session-timeout>
</session-config>
<service-ref>
<service-ref-name>service/SimpleTest</service-ref-name>
<service-interface>javax.xml.rpc.Service</service-interface>
<wsdl-file>WEB-INF/wsdl/SimpleTest.wsdl</wsdl-file>
<jaxrpc-mapping-file>SimpleTest.xml</jaxrpc-mapping-file>
<port-component-ref>
<service-endpoint-interface>com.sun.ts.tests.jaxrpc.wsi.w2j.rpc.literal.R2753.SimpleEndpoint</service-endpoint-interface>
</port-component-ref>
<handler>
<handler-name>Handler1</handler-name>
<handler-class>com.sun.ts.tests.jaxrpc.wsi.w2j.rpc.literal.R2753.R2753Handler</handler-class>
<soap-header xmlns:soap-header_ns__="http://extra-header.org">soap-header_ns__:extra-header</soap-header>
<soap-role>extra-header-actor</soap-role>
</handler>
</service-ref>
</web-app>
The Bug occured in the JBossWS test case for CTS 1.4. However i was able to nail it down a the jboss web Digester implementation.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
18 years, 10 months
[JBoss JIRA] Created: (JBAS-4096) Cleanup the JBoss JTS implementation
by Dimitris Andreadis (JIRA)
Cleanup the JBoss JTS implementation
------------------------------------
Key: JBAS-4096
URL: http://jira.jboss.com/jira/browse/JBAS-4096
Project: JBoss Application Server
Issue Type: Task
Security Level: Public (Everyone can see)
Components: IIOP service
Reporter: Dimitris Andreadis
Assigned To: Francisco Reverbel
Fix For: JBossAS-4.2.1.CR1
Under the J2EE spec, JTS support is optional. It is preferable not to support it by default, rather than maintaining a JTS implementation inside the app server code base in addition to JBossTS JTS as we go forward. App server users requiring transactions over RMI/IIOP will need to download and drop in the JBoss JTS. Some cleanup of the app server code will be beneficial to ensure elegant failure rather than the current exceptions. We may be able to achieve this though the jboss iiop-service.xml settings?
See also JBAS-4024
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
18 years, 10 months
[JBoss JIRA] Created: (JBPM-981) Whitespace and line endings in script elements are not preserved - fix?
by Edward Staub (JIRA)
Whitespace and line endings in script elements are not preserved - fix?
-----------------------------------------------------------------------
Key: JBPM-981
URL: http://jira.jboss.com/jira/browse/JBPM-981
Project: JBoss jBPM
Issue Type: Feature Request
Components: Core Engine
Affects Versions: jBPM jPDL 3.2
Reporter: Edward Staub
Assigned To: Tom Baeyens
The current Script implementation collapses script whitespace and eliminates line-endings in scripts - even when within a !CDATA. I believe this is often bad and never good, apart from trivial optimization.
Line-ending preservation is necessary for use of // comments.
Whitespace and line-ending preservation are useful for script compiler error messages that call out a line and column position of the error.
These positions are meaningless if space has been collapsed and line-endings removed.
I happen to be experimenting with using other script languages (especially Groovy) for which line endings are meaningful. You probably don't care about that, though!
The fix is easy: in Script.read(), replace both occurrences of getTextTrim() with getText().
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
18 years, 10 months