Skip to Main Content

Java Development Tools

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Oracle ADF: Dates on Groovy in Expressions for bind variables

MarleyDec 14 2015 — edited Dec 14 2015

Hello!

I'm working with jdeveloper 12.2.1.0.0

May someone help to me with Dates on Groovy in Oracle ADF expressions?

I created ViewCriteria with bind variables.

Groovy-Dates-1.png

For example I have variable firstDayOfWeek.

When I'm work with codes like this, all works fine

@VariableExpression(path="firstDayOfWeek")

def firstDayOfWeek_VariableScript_Variable()

{

return today() - 6;

}

but, when I'm trying to write something like next,

Groovy-Dates-2.png

import java.util.Date;

****

@VariableExpression(path="firstDayOfWeek")

def firstDayOfWeek_VariableScript_Variable()

{

def date = new Date();

def my_var = date.calendarDate.dayOfWeek -2;

return today() - my_var;

}

I'm recieving an exception.

<oracle.adf.view> <PartialResponseUtils> <handleError> <ADF_FACES-60096:Server Exception during PPR, #1>

javax.servlet.ServletException: JBO-25186: ���������� � ��������� "firstDayOfWeek" ������������ ����  : oracle.jbo.ExprSecurityException

  at javax.faces.webapp.FacesServlet.service(FacesServlet.java:663)

  at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:286)

  at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:260)

  at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:137)

  at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:350)

  at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25)

  at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)

  at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:194)

  at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)

  at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:105)

  at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:529)

  at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)

  at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:529)

  at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:354)

  at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:232)

  at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)

  at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)

  at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:141)

  at java.security.AccessController.doPrivileged(Native Method)

  at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)

  at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:649)

  at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:124)

  at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:232)

  at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:94)

  at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)

  at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:224)

  at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)

  at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:32)

  at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)

  at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3654)

  at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3620)

  at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:326)

  at weblogic.security.service.SecurityManager.runAsForUserCode(SecurityManager.java:196)

  at weblogic.servlet.provider.WlsSecurityProvider.runAsForUserCode(WlsSecurityProvider.java:203)

  at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:71)

  at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2423)

  at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2280)

  at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2258)

  at weblogic.servlet.internal.ServletRequestImpl.runInternal(ServletRequestImpl.java:1626)

  at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1586)

  at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:270)

  at weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:348)

  at weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:333)

  at weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:54)

  at weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41)

  at weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:617)

  at weblogic.work.ExecuteThread.execute(ExecuteThread.java:397)

  at weblogic.work.ExecuteThread.run(ExecuteThread.java:346)

Caused by: oracle.jbo.script.ExprScriptException: JBO-29114 ADFContext is not setup to process messages for this exception. Use the exception stack trace and error code to investigate the root cause of this exception. Root cause error code is JBO-25186. Error message parameters are {0=firstDayOfWeek, 1=, 2=oracle.jbo.ExprSecurityException}

  at oracle.jbo.script.ExprScriptException.throwException(ExprScriptException.java:260)

  at oracle.jbo.script.ExprScriptException.throwExceptionWithExprDef(ExprScriptException.java:312)

  at oracle.jbo.ExprEval.internalEvaluateGroovyScript(ExprEval.java:2007)

  at oracle.jbo.ExprEval.doEvaluate(ExprEval.java:2133)

  at oracle.jbo.ExprEval.evaluate(ExprEval.java:1764)

  at oracle.jbo.ExprEval.evaluate(ExprEval.java:1738)

  at oracle.jbo.common.VariableImpl.evaluateTransientExpression(VariableImpl.java:2198)

  at sun.reflect.GeneratedMethodAccessor523.invoke(Unknown Source)

  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

  at java.lang.reflect.Method.invoke(Method.java:497)

  at oracle.jbo.ViewCriteriaItemVariable.invoke(ViewCriteriaItemVariable.java:240)

  at com.sun.proxy.$Proxy282.evaluateTransientExpression(Unknown Source)

  at oracle.jbo.common.VariableManagerImpl.accessValue(VariableManagerImpl.java:528)

  at oracle.jbo.common.VariableValueManagerImpl.accessValue(VariableValueManagerImpl.java:135)

  at oracle.jbo.common.VariableManagerImpl.getValueRaw(VariableManagerImpl.java:537)

  at oracle.jbo.common.VariableValueManagerImpl.getVariableValueRaw(VariableValueManagerImpl.java:232)

  at oracle.jbo.server.ViewRowSetImpl.getVariableValue(ViewRowSetImpl.java:5110)

  at oracle.jbo.server.ViewObjectImpl.resetAffectedVCs(ViewObjectImpl.java:13949)

  at oracle.jbo.server.ViewObjectImpl.setRowSetForSqlGen(ViewObjectImpl.java:13902)

  at oracle.jbo.server.ViewRowSetImpl.execute(ViewRowSetImpl.java:1248)

  at oracle.jbo.server.ViewRowSetImpl.execute(ViewRowSetImpl.java:1218)

  at oracle.jbo.server.ViewRowSetImpl.executeQueryForMasters(ViewRowSetImpl.java:1693)

  at oracle.jbo.server.ViewRowSetImpl.executeQueryForMode(ViewRowSetImpl.java:1577)

  at oracle.jbo.server.ViewRowSetImpl.executeQuery(ViewRowSetImpl.java:1557)

  at oracle.jbo.server.ViewObjectImpl.executeQuery(ViewObjectImpl.java:8241)

  at ru.apm.rim.view.filters.PromoFilterBean.onPromoFilterDateChanged(PromoFilterBean.java:53)

  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

  at java.lang.reflect.Method.invoke(Method.java:497)

  at com.sun.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:181)

  at com.sun.el.parser.AstValue.invoke(AstValue.java:289)

  at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:304)

  at org.apache.myfaces.trinidadinternal.taglib.util.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:53)

  at org.apache.myfaces.trinidad.component.UIXComponentBase.broadcastToMethodBinding(UIXComponentBase.java:1987)

  at org.apache.myfaces.trinidad.component.UIXEditableValue.broadcast(UIXEditableValue.java:251)

  at org.apache.myfaces.trinidad.component.UIXComponent.broadcastInContext(UIXComponent.java:364)

  at org.apache.myfaces.trinidad.component.WrapperEvent.broadcastWrappedEvent(WrapperEvent.java:82)

  at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:168)

  at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:510)

  at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:171)

  at org.apache.myfaces.trinidad.component.UIXComponent.broadcastInContext(UIXComponent.java:364)

  at org.apache.myfaces.trinidad.component.WrapperEvent.broadcastWrappedEvent(WrapperEvent.java:82)

  at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:111)

  at org.apache.myfaces.trinidad.component.UIXComponent.broadcastInContext(UIXComponent.java:364)

  at org.apache.myfaces.trinidad.component.WrapperEvent.broadcastWrappedEvent(WrapperEvent.java:82)

  at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:168)

  at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:510)

  at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:171)

  at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:115)

  at org.apache.myfaces.trinidad.component.UIXComponent.broadcastInContext(UIXComponent.java:364)

  at oracle.adf.view.rich.event.ProxyEvent.broadcastWrappedEvent(ProxyEvent.java:72)

  at oracle.adf.view.rich.component.fragment.UIXRegion._handleProxyEvent(UIXRegion.java:933)

  at oracle.adf.view.rich.component.fragment.UIXRegion.broadcast(UIXRegion.java:117)

  at org.apache.myfaces.trinidad.component.UIXComponent.broadcastInContext(UIXComponent.java:364)

  at org.apache.myfaces.trinidad.component.WrapperEvent.broadcastWrappedEvent(WrapperEvent.java:82)

  at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:168)

  at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:510)

  at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:171)

  at org.apache.myfaces.trinidad.component.UIXComponent.broadcastInContext(UIXComponent.java:364)

  at org.apache.myfaces.trinidad.component.WrapperEvent.broadcastWrappedEvent(WrapperEvent.java:82)

  at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:111)

  at org.apache.myfaces.trinidad.component.UIXComponent.broadcastInContext(UIXComponent.java:364)

  at org.apache.myfaces.trinidad.component.WrapperEvent.broadcastWrappedEvent(WrapperEvent.java:82)

  at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:168)

  at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:510)

  at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:171)

  at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:115)

  at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:755)

  at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executeApplyValidateOrUpdate(LifecycleImpl.java:558)

  at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:354)

  at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:224)

  at javax.faces.webapp.FacesServlet.service(FacesServlet.java:650)

  ... 47 more

Caused by: oracle.jbo.ExprSecurityException: JBO-29114 ADFContext is not setup to process messages for this exception. Use the exception stack trace and error code to investigate the root cause of this exception. Root cause error code is JBO-25151. Error message parameters are {0=java.util.Date, 1=calendarDate}

  at oracle.jbo.script.InternalSecurityPolicyEnforcer.checkPropertyAccess(InternalSecurityPolicyEnforcer.java:241)

  at oracle.jbo.script.InternalSecurityPolicyEnforcer.checkProperty(InternalSecurityPolicyEnforcer.java:190)

  at oracle.jbo.script.InternalSecurityPolicyEnforcer.checkProperty(InternalSecurityPolicyEnforcer.java:179)

  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

  at java.lang.reflect.Method.invoke(Method.java:497)

  at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)

  at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:324)

  at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:43)

  at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.call(StaticMetaMethodSite.java:88)

  at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)

  at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)

  at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124)

  at ru.apm.rim.model.promo.vo.PromoStoreViewSQL.firstDayOfWeek_VariableScript_Variable(PromoStoreViewSQL.bcs:41)

  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

  at java.lang.reflect.Method.invoke(Method.java:497)

  at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)

  at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:324)

  at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1207)

  at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1016)

  at org.codehaus.groovy.runtime.InvokerHelper.invokePogoMethod(InvokerHelper.java:901)

  at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:884)

  at oracle.jbo.script.ScriptHelper.invokeMethod(ScriptHelper.java:466)

  at oracle.jbo.ExprEval.internalEvaluateGroovyScript(ExprEval.java:1976)

  ... 117 more

<oracle.adf.common> <AdfDiagnosticsJarsVersionDumpImpl> <executeDump> <Path of the jars version dump

May someone help me with right code example?

PS. I know how to do this by bean. But I want to do this with Groovy Language.

Thanks.

UPD:

In the groovy console, I'm receiving a right resutl.

Groovy-Dates-3.png

This post has been answered by kdario on Dec 14 2015
Jump to Answer
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Jan 11 2016
Added on Dec 14 2015
1 comment
869 views