Openbravo Issue Tracking System - Openbravo ERP
View Issue Details
0035123Openbravo ERPA. Platformpublic2017-02-01 11:122022-02-01 08:09
vmromanos 
Triage Platform Base 
normalmajoralways
acknowledgedopen 
5
 
 
Core
No
0035123: NullPointerException in Table and Tabledir references inside a Process Definition
When a process definition has a parameter with reference Table or Tabledir, the selector does not show any value.

Actually the ComboTableDatasourceService class, checkFetchDatasourceAccess() method, throws a NPE because field variable is null.

parameters = {_componentId=isc_PickListMenu_1, inpadOrgId=E443A31992CB4635AFCAEABE7183CE85, _operationType=fetch, _selectorDefinitionId=null, _selectorFieldId=EDC9F73987504362B80CB9A4CF9CA5E7, whereAndFilterClause=, _endRow=75, _extraProperties=id, dataSourceName=ComboTableDatasourceService, fieldId=null, _selectedProperties=id, _textMatchStyle=substring, isc_metaDataPrefix=_, datePlanned=null, _sortBy=_identifier, isc_dataFormat=json, _noCount=true, Fin_Financial_Account_ID=null, _processDefinitionId=1B0BF927933A4F41A73739CB6E4A9AD0, _startRow=0, breakByDate=false, whereClauseHasBeenChecked=false, _dataSource=isc_OBRestDataSource_1, _org=E443A31992CB4635AFCAEABE7183CE85}

28548 [http-apr-8080-exec-9] ERROR org.openbravo.service.datasource.DataSourceServlet -
java.lang.NullPointerException
    at org.openbravo.service.datasource.ComboTableDatasourceService.checkFetchDatasourceAccess(ComboTableDatasourceService.java:211)
    at org.openbravo.service.datasource.DataSourceServlet.doFetch(DataSourceServlet.java:284)
    at org.openbravo.service.datasource.DataSourceServlet.doPost(DataSourceServlet.java:841)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:650)
    at org.openbravo.base.HttpBaseServlet.serviceInitialized(HttpBaseServlet.java:228)
    at org.openbravo.base.secureApp.HttpSecureAppServlet.service(HttpSecureAppServlet.java:446)
    at org.openbravo.client.kernel.BaseKernelServlet.callServiceInSuper(BaseKernelServlet.java:87)
    at org.openbravo.client.kernel.BaseKernelServlet.service(BaseKernelServlet.java:58)
    at org.openbravo.service.datasource.DataSourceServlet.service(DataSourceServlet.java:153)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.openbravo.utils.SessionExpirationFilter.doFilter(SessionExpirationFilter.java:66)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.openbravo.utils.CharsetFilter.doFilter(CharsetFilter.java:35)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.openbravo.client.kernel.KernelFilter$1.doAction(KernelFilter.java:62)
    at org.openbravo.dal.core.ThreadHandler.run(ThreadHandler.java:46)
    at org.openbravo.client.kernel.KernelFilter.doFilter(KernelFilter.java:71)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.openbravo.dal.core.DalRequestFilter$1.doAction(DalRequestFilter.java:81)
    at org.openbravo.dal.core.ThreadHandler.run(ThreadHandler.java:46)
    at org.openbravo.dal.core.DalRequestFilter.doFilter(DalRequestFilter.java:103)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
    at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2522)
    at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2511)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:745)
Create a process definition. UI Pattern = Report
Create a parameter with reference Table and Reference Search Key = FIN_Financial_Account
Create a menu entry linked to this process definition.
Open the Process Definition and try to select any value in the selector. No values are shown, and the NPE is thrown in the log.
No tags attached.
related to defect 0035132 closed inigosanchez Should not be possible define some references in a process definition 
Issue History
2017-02-01 11:12vmromanosNew Issue
2017-02-01 11:12vmromanosAssigned To => platform
2017-02-01 11:12vmromanosModules => Core
2017-02-01 11:12vmromanosTriggers an Emergency Pack => No
2017-02-01 12:59inigosanchezStatusnew => scheduled
2017-02-01 12:59inigosanchezAssigned Toplatform => inigosanchez
2017-02-01 14:28inigosanchezAssigned Toinigosanchez => platform
2017-02-01 14:28inigosanchezStatusscheduled => acknowledged
2017-02-01 14:52vmromanosRelationship addedblocks 0035130
2017-02-01 15:25inigosanchezNote Added: 0093988
2017-02-01 15:25inigosanchezTypedefect => design defect
2017-02-01 15:25inigosanchezDescription Updatedbug_revision_view_page.php?rev_id=14431#r14431
2017-02-01 16:22vmromanosRelationship deletedblocks 0035130
2017-02-01 18:54inigosanchezRelationship addedrelated to 0035132
2022-02-01 08:09alostaleAssigned Toplatform => Triage Platform Base

Notes
(0093988)
inigosanchez   
2017-02-01 15:25   
This issue is not related with DataSourceEntityAccess project.

Currently, not all references are available in Process Definition. Table and Tabledir references are not available. See limitations here: http://wiki.openbravo.com/wiki/How_to_create_a_Standard_Process_Definition#Limitations [^]

Move to Design Defect.