[hibernate-issues] [Hibernate-JIRA] Commented: (HV-525) tests fail on openjdk
Hardy Ferentschik (JIRA)
noreply at atlassian.com
Wed Nov 16 08:57:21 EST 2011
[ http://opensource.atlassian.com/projects/hibernate/browse/HV-525?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=44328#comment-44328 ]
Hardy Ferentschik commented on HV-525:
--------------------------------------
{quote}
no javascript support?
{quote}
First I thought so, but there actually is via Rhino. It looks like that the Java instance we are passing to the script engine to call a method on does not get bound properly into the Javscript environment.
I would think this is a bug in openjdk, but I haven't found anything definitive yet. All I found is [this|https://bugs.launchpad.net/ubuntu/+source/openjdk-6/+bug/255149] which might indicate a problem, but is not directly related.
Our code is quite simple and afaics using the API correctly:
{code}
ublic class ScriptEvaluator {
private final ScriptEngine engine;
/**
* Creates a new script executor.
*
* @param engine The engine to be wrapped.
*/
public ScriptEvaluator(ScriptEngine engine) {
this.engine = engine;
}
/**
* Makes the given object available in then engine-scoped script context and executes the given script.
* The execution of the script happens either synchronized or unsynchronized, depending on the engine's
* threading abilities.
*
* @param script The script to be executed.
* @param obj The object to be put into the context.
* @param objectAlias The name under which the given object shall be put into the context.
*
* @return The script's result.
*
* @throws ScriptException In case of any errors during script execution.
*/
public Object evaluate(String script, Object obj, String objectAlias) throws ScriptException {
if ( engineAllowsParallelAccessFromMultipleThreads() ) {
return doEvaluate( script, obj, objectAlias );
}
else {
synchronized ( engine ) {
return doEvaluate( script, obj, objectAlias );
}
}
}
private Object doEvaluate(String script, Object obj, String objectAlias) throws ScriptException {
engine.put( objectAlias, obj );
return engine.eval( script );
}
/**
* Checks, whether the given engine is thread-safe or not.
*
* @return True, if the given engine is thread-safe, false otherwise.
*/
private boolean engineAllowsParallelAccessFromMultipleThreads() {
String threadingType = (String) engine.getFactory().getParameter( "THREADING" );
return "THREAD-ISOLATED".equals( threadingType ) || "STATELESS".equals( threadingType );
}
}
{code}
> tests fail on openjdk
> ---------------------
>
> Key: HV-525
> URL: http://opensource.atlassian.com/projects/hibernate/browse/HV-525
> Project: Hibernate Validator
> Issue Type: Bug
> Components: tests
> Environment: java version "1.6.0_20"
> OpenJDK Runtime Environment (IcedTea6 1.9.8) (rhel-1.39.1.9.8.el6_1-x86_64)
> OpenJDK 64-Bit Server VM (build 19.0-b09, mixed mode)
> Linux stliu-rhel 2.6.32-131.17.1.el6.x86_64
> Reporter: Strong Liu
> Assignee: Hardy Ferentschik
>
> {noformat}
> -------------------------------------------------------
> T E S T S
> -------------------------------------------------------
> Running TestSuite
> Tests run: 429, Failures: 2, Errors: 0, Skipped: 0, Time elapsed: 4.698 sec <<< FAILURE!
> Results :
> Failed tests: scriptExpressionReferencingAnnotatedObject(org.hibernate.validator.test.constraints.impl.ScriptAssertValidatorTest): Error during execution of script "_this.startDate.before(_this.endDate)" occurred.
> scriptExpressionUsingCustomizedAlias(org.hibernate.validator.test.constraints.impl.ScriptAssertValidatorTest): Error during execution of script "_.startDate.before(_.endDate)" occurred.
> Tests run: 429, Failures: 2, Errors: 0, Skipped: 0
> {noformat}
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the hibernate-issues
mailing list