Groovy Error - Groovy Script not found!
Windows 8.1, Java 8
I have a piece of Grrovy Script under Development -> Manage Groovy Scripts
which works perfectly in one process but in the other it fails with the following:
depends on GubeGetGubeText is neither defined in the script nor in dependencies
The second one fails as well with the same message...
Why can my Groovy Script not be found?
thanks and regards Seán
2015-05-07 16:37:12 org.bonitasoft
SEVERE: 1 Configure z: Trace Start
2015-05-07 16:37:12 org.bonitasoft.engine.execution.work.FailureHandlingBonitaWork
SEVERE: THREAD_ID=415 | HOSTNAME=Mainframe | TENANT_ID=1 | org.bonitasoft.engine.expression.exception.SExpressionEvaluationException : "PROCESS_DEFINITION_ID=8095310048878370284 | PROCESS_NAME=Configure | PROCESS_VERSION=4.01 | PROCESS_INSTANCE_ID=18003 | ROOT_PROCESS_INSTANCE_ID=18003 | FLOW_NODE_DEFINITION_ID=-4978262154835317690 | FLOW_NODE_INSTANCE_ID=360064 | FLOW_NODE_NAME=Step1 | CONNECTOR_DEFINITION_IMPLEMENTATION_CLASS_NAME=y | CONNECTOR_INSTANCE_ID=360051 | Expression y with content = <
import org.bonitasoft.engine.api.ProcessRuntimeAPI;
import java.util.logging.Logger;
int dI = 0;
boolean debug = true;
ProcessRuntimeAPI processRuntimeAPI = apiAccessor.getProcessAPI();
String processName = processRuntimeAPI.getProcessInstance(processInstanceId).getName();
//set the name of the routine
String thisTrace = " "+processName+ " z: "
Logger logger= Logger.getLogger("org.bonitasoft");
if(debug){dI++; logger.severe(dI+thisTrace+"Trace Start");}
//TODO - Code goes in here - START
ArrayList<Object> returnList = new ArrayList<Object>();
String ptest1 = GubeGetGubeText.getGubeMessage("formStartHere.msg1");
if(debug){dI++; logger.severe(dI+thisTrace+"ptest: "+ptest1.toString());}
String ptest2 = GubeGetqwertyText.getqwertyMessage("qwerty.xyz0101OTP-005");
if(debug){dI++; logger.severe(dI+thisTrace+"ptest: "+ptest2.toString());}
//TODO - Code goes in here - END
if(debug){dI++; logger.severe(dI+thisTrace+"returnList: "+returnList.toString());}
if(debug){dI++; logger.severe(dI+thisTrace+"Trace End");}
return returnList;> depends on GubeGetGubeText is neither defined in the script nor in dependencies."
org.bonitasoft.engine.expression.exception.SExpressionEvaluationException: PROCESS_DEFINITION_ID=8095310048878370284 | PROCESS_NAME=Configure | PROCESS_VERSION=4.01 | PROCESS_INSTANCE_ID=18003 | ROOT_PROCESS_INSTANCE_ID=18003 | FLOW_NODE_DEFINITION_ID=-4978262154835317690 | FLOW_NODE_INSTANCE_ID=360064 | FLOW_NODE_NAME=Step1 | CONNECTOR_DEFINITION_IMPLEMENTATION_CLASS_NAME=y | CONNECTOR_INSTANCE_ID=360051 | Expression y with content = <
import org.bonitasoft.engine.api.ProcessRuntimeAPI;
import java.util.logging.Logger;
int dI = 0;
boolean debug = true;
ProcessRuntimeAPI processRuntimeAPI = apiAccessor.getProcessAPI();
String processName = processRuntimeAPI.getProcessInstance(processInstanceId).getName();
//set the name of the routine
String thisTrace = " "+processName+ " z: "
Logger logger= Logger.getLogger("org.bonitasoft");
if(debug){dI++; logger.severe(dI+thisTrace+"Trace Start");}
//TODO - Code goes in here - START
ArrayList<Object> returnList = new ArrayList<Object>();
String ptest1 = GubeGetGubeText.getGubeMessage("formStartHere.msg1");
if(debug){dI++; logger.severe(dI+thisTrace+"ptest: "+ptest1.toString());}
String ptest2 = GubeGetqwertyText.getqwertyMessage("qwerty.xyz0101OTP-005");
if(debug){dI++; logger.severe(dI+thisTrace+"ptest: "+ptest2.toString());}
//TODO - Code goes in here - END
if(debug){dI++; logger.severe(dI+thisTrace+"returnList: "+returnList.toString());}
if(debug){dI++; logger.severe(dI+thisTrace+"Trace End");}
return returnList;> depends on GubeGetGubeText is neither defined in the script nor in dependencies.
at org.bonitasoft.engine.expression.impl.GroovyScriptExpressionExecutorCacheStrategy.evaluate(GroovyScriptExpressionExecutorCacheStrategy.java:151)
at org.bonitasoft.engine.expression.impl.ExpressionServiceImpl.evaluate(ExpressionServiceImpl.java:86)
at org.bonitasoft.engine.core.expression.control.api.impl.ExpressionResolverServiceImpl.evaluateExpressionWithResolvedDependencies(ExpressionResolverServiceImpl.java:215)
at org.bonitasoft.engine.core.expression.control.api.impl.ExpressionResolverServiceImpl.evaluateExpressionsFlatten(ExpressionResolverServiceImpl.java:120)
at org.bonitasoft.engine.core.expression.control.api.impl.ExpressionResolverServiceImpl.evaluate(ExpressionResolverServiceImpl.java:83)
at org.bonitasoft.engine.core.connector.impl.ConnectorServiceImpl.evaluateInputParameters(ConnectorServiceImpl.java:352)
at org.bonitasoft.engine.connector.ConnectorServiceDecorator.evaluateInputParameters(ConnectorServiceDecorator.java:99)
at org.bonitasoft.engine.execution.work.ExecuteConnectorWork$EvaluateParameterAndGetConnectorInstance.call(ExecuteConnectorWork.java:198)
at org.bonitasoft.engine.execution.work.ExecuteConnectorWork$EvaluateParameterAndGetConnectorInstance.call(ExecuteConnectorWork.java:162)
at org.bonitasoft.engine.transaction.JTATransactionServiceImpl.executeInTransaction(JTATransactionServiceImpl.java:288)
at org.bonitasoft.engine.execution.work.ExecuteConnectorWork.work(ExecuteConnectorWork.java:122)
at org.bonitasoft.engine.execution.work.failurewrapping.TxInHandleFailureWrappingWork.work(TxInHandleFailureWrappingWork.java:42)
at org.bonitasoft.engine.execution.work.failurewrapping.TxInHandleFailureWrappingWork.work(TxInHandleFailureWrappingWork.java:42)
at org.bonitasoft.engine.execution.work.failurewrapping.TxInHandleFailureWrappingWork.work(TxInHandleFailureWrappingWork.java:42)
at org.bonitasoft.engine.execution.work.failurewrapping.TxInHandleFailureWrappingWork.work(TxInHandleFailureWrappingWork.java:42)
at org.bonitasoft.engine.execution.work.FailureHandlingBonitaWork.work(FailureHandlingBonitaWork.java:66)
at org.bonitasoft.engine.work.BonitaWork.run(BonitaWork.java:56)
at org.bonitasoft.engine.work.SequenceRunnableExecutor.innerRun(SequenceRunnableExecutor.java:47)
at org.bonitasoft.engine.work.BonitaRunnable.run(BonitaRunnable.java:35)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: groovy.lang.MissingPropertyException: No such property: GubeGetGubeText for class: BScript125
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:50)
at org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(PogoGetPropertySite.java:49)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty(AbstractCallSite.java:231)
at BScript125.run(BScript125.groovy:59)
at org.bonitasoft.engine.expression.impl.GroovyScriptExpressionExecutorCacheStrategy.evaluate(GroovyScriptExpressionExecutorCacheStrategy.java:145)
... 21 more
SEVERE: 1 Configure z: Trace Start
2015-05-07 16:37:12 org.bonitasoft.engine.execution.work.FailureHandlingBonitaWork
SEVERE: THREAD_ID=415 | HOSTNAME=Mainframe | TENANT_ID=1 | org.bonitasoft.engine.expression.exception.SExpressionEvaluationException : "PROCESS_DEFINITION_ID=8095310048878370284 | PROCESS_NAME=Configure | PROCESS_VERSION=4.01 | PROCESS_INSTANCE_ID=18003 | ROOT_PROCESS_INSTANCE_ID=18003 | FLOW_NODE_DEFINITION_ID=-4978262154835317690 | FLOW_NODE_INSTANCE_ID=360064 | FLOW_NODE_NAME=Step1 | CONNECTOR_DEFINITION_IMPLEMENTATION_CLASS_NAME=y | CONNECTOR_INSTANCE_ID=360051 | Expression y with content = <
import org.bonitasoft.engine.api.ProcessRuntimeAPI;
import java.util.logging.Logger;
int dI = 0;
boolean debug = true;
ProcessRuntimeAPI processRuntimeAPI = apiAccessor.getProcessAPI();
String processName = processRuntimeAPI.getProcessInstance(processInstanceId).getName();
//set the name of the routine
String thisTrace = " "+processName+ " z: "
Logger logger= Logger.getLogger("org.bonitasoft");
if(debug){dI++; logger.severe(dI+thisTrace+"Trace Start");}
//TODO - Code goes in here - START
ArrayList<Object> returnList = new ArrayList<Object>();
String ptest1 = GubeGetGubeText.getGubeMessage("formStartHere.msg1");
if(debug){dI++; logger.severe(dI+thisTrace+"ptest: "+ptest1.toString());}
String ptest2 = GubeGetqwertyText.getqwertyMessage("qwerty.xyz0101OTP-005");
if(debug){dI++; logger.severe(dI+thisTrace+"ptest: "+ptest2.toString());}
//TODO - Code goes in here - END
if(debug){dI++; logger.severe(dI+thisTrace+"returnList: "+returnList.toString());}
if(debug){dI++; logger.severe(dI+thisTrace+"Trace End");}
return returnList;> depends on GubeGetGubeText is neither defined in the script nor in dependencies."
org.bonitasoft.engine.expression.exception.SExpressionEvaluationException: PROCESS_DEFINITION_ID=8095310048878370284 | PROCESS_NAME=Configure | PROCESS_VERSION=4.01 | PROCESS_INSTANCE_ID=18003 | ROOT_PROCESS_INSTANCE_ID=18003 | FLOW_NODE_DEFINITION_ID=-4978262154835317690 | FLOW_NODE_INSTANCE_ID=360064 | FLOW_NODE_NAME=Step1 | CONNECTOR_DEFINITION_IMPLEMENTATION_CLASS_NAME=y | CONNECTOR_INSTANCE_ID=360051 | Expression y with content = <
import org.bonitasoft.engine.api.ProcessRuntimeAPI;
import java.util.logging.Logger;
int dI = 0;
boolean debug = true;
ProcessRuntimeAPI processRuntimeAPI = apiAccessor.getProcessAPI();
String processName = processRuntimeAPI.getProcessInstance(processInstanceId).getName();
//set the name of the routine
String thisTrace = " "+processName+ " z: "
Logger logger= Logger.getLogger("org.bonitasoft");
if(debug){dI++; logger.severe(dI+thisTrace+"Trace Start");}
//TODO - Code goes in here - START
ArrayList<Object> returnList = new ArrayList<Object>();
String ptest1 = GubeGetGubeText.getGubeMessage("formStartHere.msg1");
if(debug){dI++; logger.severe(dI+thisTrace+"ptest: "+ptest1.toString());}
String ptest2 = GubeGetqwertyText.getqwertyMessage("qwerty.xyz0101OTP-005");
if(debug){dI++; logger.severe(dI+thisTrace+"ptest: "+ptest2.toString());}
//TODO - Code goes in here - END
if(debug){dI++; logger.severe(dI+thisTrace+"returnList: "+returnList.toString());}
if(debug){dI++; logger.severe(dI+thisTrace+"Trace End");}
return returnList;> depends on GubeGetGubeText is neither defined in the script nor in dependencies.
at org.bonitasoft.engine.expression.impl.GroovyScriptExpressionExecutorCacheStrategy.evaluate(GroovyScriptExpressionExecutorCacheStrategy.java:151)
at org.bonitasoft.engine.expression.impl.ExpressionServiceImpl.evaluate(ExpressionServiceImpl.java:86)
at org.bonitasoft.engine.core.expression.control.api.impl.ExpressionResolverServiceImpl.evaluateExpressionWithResolvedDependencies(ExpressionResolverServiceImpl.java:215)
at org.bonitasoft.engine.core.expression.control.api.impl.ExpressionResolverServiceImpl.evaluateExpressionsFlatten(ExpressionResolverServiceImpl.java:120)
at org.bonitasoft.engine.core.expression.control.api.impl.ExpressionResolverServiceImpl.evaluate(ExpressionResolverServiceImpl.java:83)
at org.bonitasoft.engine.core.connector.impl.ConnectorServiceImpl.evaluateInputParameters(ConnectorServiceImpl.java:352)
at org.bonitasoft.engine.connector.ConnectorServiceDecorator.evaluateInputParameters(ConnectorServiceDecorator.java:99)
at org.bonitasoft.engine.execution.work.ExecuteConnectorWork$EvaluateParameterAndGetConnectorInstance.call(ExecuteConnectorWork.java:198)
at org.bonitasoft.engine.execution.work.ExecuteConnectorWork$EvaluateParameterAndGetConnectorInstance.call(ExecuteConnectorWork.java:162)
at org.bonitasoft.engine.transaction.JTATransactionServiceImpl.executeInTransaction(JTATransactionServiceImpl.java:288)
at org.bonitasoft.engine.execution.work.ExecuteConnectorWork.work(ExecuteConnectorWork.java:122)
at org.bonitasoft.engine.execution.work.failurewrapping.TxInHandleFailureWrappingWork.work(TxInHandleFailureWrappingWork.java:42)
at org.bonitasoft.engine.execution.work.failurewrapping.TxInHandleFailureWrappingWork.work(TxInHandleFailureWrappingWork.java:42)
at org.bonitasoft.engine.execution.work.failurewrapping.TxInHandleFailureWrappingWork.work(TxInHandleFailureWrappingWork.java:42)
at org.bonitasoft.engine.execution.work.failurewrapping.TxInHandleFailureWrappingWork.work(TxInHandleFailureWrappingWork.java:42)
at org.bonitasoft.engine.execution.work.FailureHandlingBonitaWork.work(FailureHandlingBonitaWork.java:66)
at org.bonitasoft.engine.work.BonitaWork.run(BonitaWork.java:56)
at org.bonitasoft.engine.work.SequenceRunnableExecutor.innerRun(SequenceRunnableExecutor.java:47)
at org.bonitasoft.engine.work.BonitaRunnable.run(BonitaRunnable.java:35)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: groovy.lang.MissingPropertyException: No such property: GubeGetGubeText for class: BScript125
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:50)
at org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(PogoGetPropertySite.java:49)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty(AbstractCallSite.java:231)
at BScript125.run(BScript125.groovy:59)
at org.bonitasoft.engine.expression.impl.GroovyScriptExpressionExecutorCacheStrategy.evaluate(GroovyScriptExpressionExecutorCacheStrategy.java:145)
... 21 more
1 answer
Hi.
In your log, you can read "Caused by: groovy.lang.MissingPropertyException: No such property: GubeGetGubeText for class: BScript125".
You call a static method :
GubeGetGubeText.getGubeMessage("formStartHere.msg1");
But you don't import the class GubeGetGubeText. I think that is the reason.
Or maybe you haven't added the jar that contains GubeGetGubeText in your dependencies.
Comments
Hi Yannick,
this is a simple Groovy script and doesn't need an import or a jar. It should be incorporated into the process automatically.
I've done this with several processes and scripts in the past and this particular one is used many times in other processes but doesn't work in this one.
This script is developed in Studio under Development-> Manage Groovy Scripts.
I've just copied the step from one process to a brand new process, run it and it works, but in the one I want it to work it doesn't - something very wrong...and rewriting the whole process will be a serious issue...
Duplicating it also doesn't seen to work...
regards