Hi,
I'm having trouble with using a ValueMap on an integer field backing against Postgres. Specifically sorting on that field will produce an SQL exception due to a badly formed CASE statement.
The field definition is:
<field name='type' type='integer' canSort='false'>
<validators>
<validator type="isOneOf" />
</validators>
<valueMap>
<value ID="1">Direct</value>
<value ID="101">Assigned</value>
<value ID="102">Alert</value>
<value ID="103">Message</value>
</valueMap>
</field>
And when sort is called on this field it produces this order by clause in the SQL
ORDER BY CASE notification.type WHEN '1' THEN 'Direct' WHEN '101' THEN 'Assigned' WHEN '102' THEN 'Alert' WHEN '103' THEN 'Message' ELSE notification.type END
Which breaks because the type of 'Direct' is textual while the default return notification.type is an int.
Is there a way to get this working without changing that field on the database?
Cheers,
Evan
SmartClient Version: v11.1p_2017-07-09/PowerEdition
<DataSource
ID='notification'
serverType='sql'
dataSourceVersion='1'
dbName='zizdc'
schema='dbo'
tableName='notification'
ignoreTextMatchStyleCaseSensitive='true'
allowAdvancedCriteria='true'
sequenceMode='jdbcDriver'
useAnsiJoins='true'>
<fields>
<field name='notification_id' type='uuid' primaryKey='true'
autoGenerated='true' hidden='true' ignoreTextMatchStyle='true' />
<field name='from_user_id' type='uuid' foreignKey='fm90usr.s_userid'
hidden='true' ignoreTextMatchStyle='true' joinType='outer' />
<field name='from_user_id__s_name' includeFrom='fm90usr.s_name'
includeVia='from_user_id' title = 'From' />
<field name='type' type='integer' canSort='false'>
<validators>
<validator type="isOneOf" />
</validators>
<valueMap>
<value ID="1">Direct</value>
<value ID="101">Assigned</value>
<value ID="102">Alert</value>
<value ID="103">Message</value>
</valueMap>
</field>
<field name='subject' length='256' type='text' />
<field name='message' type='text' />
<field name='issued' type='datetime' />
<field name='only_approved' type='boolean' hidden='true' />
<field name='actioned_user_ids_as_string' type='text' hidden = 'true' />
<field name='recipient_user_ids_as_string' type='text' hidden = 'true' />
<field name='_z' type='custom' customSQL='true' hidden='true' />
<field name='_customStyle' type='custom' customSQL='true' hidden='true' />
</fields>
<operationBindings>
<binding operationType="fetch" serverMethod="fetch"
customCriteriaFields='recipient_s_userid'>
<serverObject lookupStyle="spring" bean="requestFilters" />
</binding>
<binding operationType="add" serverMethod="add">
<serverObject lookupStyle="spring" bean="localOnlySupportedOperations" />
</binding>
<binding operationType="update" serverMethod="update">
<serverObject lookupStyle="spring" bean="methodNotSupportedOperations" />
</binding>
<binding operationType="remove" serverMethod="remove">
<serverObject lookupStyle="spring" bean="methodNotSupportedOperations" />
</binding>
</operationBindings>
</DataSource>
SELECT notification.notification_id, notification.from_user_id, notification.type, notification.subject, notification.message, notification.issued, notification.only_approved, notification.actioned_user_ids_as_string, notification.recipient_user_ids_as_string, a0.s_name AS from_user_id__s_name
FROM dbo.notification
LEFT OUTER JOIN dbo.fm90usr a0 ON notification.from_user_id = a0.s_userid
WHERE ((notification.recipient_user_ids_as_string LIKE '%9288723d-9fb0-4770-90d1-51c69ec10b1b%'
AND notification.recipient_user_ids_as_string IS NOT NULL)
AND NOT(notification.actioned_user_ids_as_string LIKE '%9288723d-9fb0-4770-90d1-51c69ec10b1b%'
AND notification.actioned_user_ids_as_string IS NOT NULL))
ORDER BY CASE notification.type WHEN '1' THEN 'Direct' WHEN '101' THEN 'Assigned' WHEN '102' THEN 'Alert' WHEN '103' THEN 'Message' ELSE notification.type END
OFFSET 0 LIMIT 75
unexpected exception execuring request
org.postgresql.util.PSQLException: ERROR: invalid input syntax for integer: "Direct"
Position: 747
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2270) ~[postgresql-9.4-1201-jdbc41.jar:9.4]
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1998) ~[postgresql-9.4-1201-jdbc41.jar:9.4]
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255) ~[postgresql-9.4-1201-jdbc41.jar:9.4]
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:570) ~[postgresql-9.4-1201-jdbc41.jar:9.4]
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:406) ~[postgresql-9.4-1201-jdbc41.jar:9.4]
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:286) ~[postgresql-9.4-1201-jdbc41.jar:9.4]
at org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:208) ~[commons-dbcp-1.4.jar:1.4]
at com.isomorphic.sql.SQLDataSource.executeWindowedSelect(SQLDataSource.java:2493) ~[isomorphic-sql-11.1-p20170709.jar:?]
at com.isomorphic.sql.SQLDataSource.SQLExecute(SQLDataSource.java:1750) ~[isomorphic-sql-11.1-p20170709.jar:?]
at com.isomorphic.sql.SQLDataSource.processRequest(SQLDataSource.java:434) ~[isomorphic-sql-11.1-p20170709.jar:?]
at com.isomorphic.sql.SQLDataSource.executeFetch(SQLDataSource.java:379) ~[isomorphic-sql-11.1-p20170709.jar:?]
at com.isomorphic.datasource.DataSource.execute(DataSource.java:2224) ~[isomorphic-core-rpc-11.1-p20170709.jar:?]
at com.isomorphic.application.AppBase.executeDefaultDSOperation(AppBase.java:629) ~[isomorphic-core-rpc-11.1-p20170709.jar:?]
at com.isomorphic.application.AppBase.executeAppOperation(AppBase.java:546) ~[isomorphic-core-rpc-11.1-p20170709.jar:?]
at com.isomorphic.application.AppBase.execute(AppBase.java:489) ~[isomorphic-core-rpc-11.1-p20170709.jar:?]
at com.isomorphic.datasource.DSRequest.execute(DSRequest.java:2813) ~[isomorphic-core-rpc-11.1-p20170709.jar:?]
at systems.prosolve.documentcontrol.sc.impl.SimpleDsRequestAugmentations.execute(SimpleDsRequestAugmentations.java:83) [classes/:?]
at systems.prosolve.documentcontrol.sc.impl.SimpleDsRequestAugmentations.fetch(SimpleDsRequestAugmentations.java:42) [classes/:?]
at sun.reflect.GeneratedMethodAccessor209.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_72]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_72]
at com.isomorphic.base.Reflection.adaptArgsAndInvoke(Reflection.java:873) [isomorphic-core-rpc-11.1-p20170709.jar:?]
at com.isomorphic.datasource.DataSourceDMI.execute(DataSourceDMI.java:434) [isomorphic-core-rpc-11.1-p20170709.jar:?]
at com.isomorphic.datasource.DataSourceDMI.execute(DataSourceDMI.java:64) [isomorphic-core-rpc-11.1-p20170709.jar:?]
at com.isomorphic.datasource.DSRequest.execute(DSRequest.java:2809) [isomorphic-core-rpc-11.1-p20170709.jar:?]
at com.isomorphic.servlet.IDACall.handleDSRequest(IDACall.java:230) [isomorphic-core-rpc-11.1-p20170709.jar:?]
at com.isomorphic.servlet.IDACall.processRPCTransaction(IDACall.java:187) [isomorphic-core-rpc-11.1-p20170709.jar:?]
at com.isomorphic.servlet.IDACall.processRequest(IDACall.java:152) [isomorphic-core-rpc-11.1-p20170709.jar:?]
at com.isomorphic.servlet.IDACall._processRequest(IDACall.java:119) [isomorphic-core-rpc-11.1-p20170709.jar:?]
at com.isomorphic.servlet.IDACall.doPost(IDACall.java:79) [isomorphic-core-rpc-11.1-p20170709.jar:?]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:648) [servlet-api.jar:?]
at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:176) [isomorphic-core-rpc-11.1-p20170709.jar:?]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) [servlet-api.jar:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291) [catalina.jar:8.0.30]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.30]
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) [tomcat-websocket.jar:8.0.30]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) [catalina.jar:8.0.30]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.30]
at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176) [urlrewritefilter-4.0.3.jar:4.0.3]
at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145) [urlrewritefilter-4.0.3.jar:4.0.3]
at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92) [urlrewritefilter-4.0.3.jar:4.0.3]
at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:394) [urlrewritefilter-4.0.3.jar:4.0.3]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) [catalina.jar:8.0.30]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.30]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:317) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:114) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:170) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:200) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:124) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:64) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:157) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:214) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:177) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) [spring-web-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262) [spring-web-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) [catalina.jar:8.0.30]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.30]
at systems.prosolve.ziz.pageid.RemoteIpFilter.doFilter(RemoteIpFilter.java:35) [classes/:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) [catalina.jar:8.0.30]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.30]
at systems.prosolve.ziz.pageid.PageIdFilter.doFilter(PageIdFilter.java:50) [classes/:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) [catalina.jar:8.0.30]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.30]
at org.springframework.web.multipart.support.MultipartFilter.doFilterInternal(MultipartFilter.java:122) [spring-web-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) [catalina.jar:8.0.30]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.30]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212) [catalina.jar:8.0.30]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) [catalina.jar:8.0.30]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) [catalina.jar:8.0.30]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) [catalina.jar:8.0.30]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) [catalina.jar:8.0.30]
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) [catalina.jar:8.0.30]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) [catalina.jar:8.0.30]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:521) [catalina.jar:8.0.30]
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1096) [tomcat-coyote.jar:8.0.30]
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:674) [tomcat-coyote.jar:8.0.30]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500) [tomcat-coyote.jar:8.0.30]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456) [tomcat-coyote.jar:8.0.30]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_72]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_72]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-util.jar:8.0.30]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_72]
I'm having trouble with using a ValueMap on an integer field backing against Postgres. Specifically sorting on that field will produce an SQL exception due to a badly formed CASE statement.
The field definition is:
<field name='type' type='integer' canSort='false'>
<validators>
<validator type="isOneOf" />
</validators>
<valueMap>
<value ID="1">Direct</value>
<value ID="101">Assigned</value>
<value ID="102">Alert</value>
<value ID="103">Message</value>
</valueMap>
</field>
And when sort is called on this field it produces this order by clause in the SQL
ORDER BY CASE notification.type WHEN '1' THEN 'Direct' WHEN '101' THEN 'Assigned' WHEN '102' THEN 'Alert' WHEN '103' THEN 'Message' ELSE notification.type END
Which breaks because the type of 'Direct' is textual while the default return notification.type is an int.
Is there a way to get this working without changing that field on the database?
Cheers,
Evan
SmartClient Version: v11.1p_2017-07-09/PowerEdition
<DataSource
ID='notification'
serverType='sql'
dataSourceVersion='1'
dbName='zizdc'
schema='dbo'
tableName='notification'
ignoreTextMatchStyleCaseSensitive='true'
allowAdvancedCriteria='true'
sequenceMode='jdbcDriver'
useAnsiJoins='true'>
<fields>
<field name='notification_id' type='uuid' primaryKey='true'
autoGenerated='true' hidden='true' ignoreTextMatchStyle='true' />
<field name='from_user_id' type='uuid' foreignKey='fm90usr.s_userid'
hidden='true' ignoreTextMatchStyle='true' joinType='outer' />
<field name='from_user_id__s_name' includeFrom='fm90usr.s_name'
includeVia='from_user_id' title = 'From' />
<field name='type' type='integer' canSort='false'>
<validators>
<validator type="isOneOf" />
</validators>
<valueMap>
<value ID="1">Direct</value>
<value ID="101">Assigned</value>
<value ID="102">Alert</value>
<value ID="103">Message</value>
</valueMap>
</field>
<field name='subject' length='256' type='text' />
<field name='message' type='text' />
<field name='issued' type='datetime' />
<field name='only_approved' type='boolean' hidden='true' />
<field name='actioned_user_ids_as_string' type='text' hidden = 'true' />
<field name='recipient_user_ids_as_string' type='text' hidden = 'true' />
<field name='_z' type='custom' customSQL='true' hidden='true' />
<field name='_customStyle' type='custom' customSQL='true' hidden='true' />
</fields>
<operationBindings>
<binding operationType="fetch" serverMethod="fetch"
customCriteriaFields='recipient_s_userid'>
<serverObject lookupStyle="spring" bean="requestFilters" />
</binding>
<binding operationType="add" serverMethod="add">
<serverObject lookupStyle="spring" bean="localOnlySupportedOperations" />
</binding>
<binding operationType="update" serverMethod="update">
<serverObject lookupStyle="spring" bean="methodNotSupportedOperations" />
</binding>
<binding operationType="remove" serverMethod="remove">
<serverObject lookupStyle="spring" bean="methodNotSupportedOperations" />
</binding>
</operationBindings>
</DataSource>
SELECT notification.notification_id, notification.from_user_id, notification.type, notification.subject, notification.message, notification.issued, notification.only_approved, notification.actioned_user_ids_as_string, notification.recipient_user_ids_as_string, a0.s_name AS from_user_id__s_name
FROM dbo.notification
LEFT OUTER JOIN dbo.fm90usr a0 ON notification.from_user_id = a0.s_userid
WHERE ((notification.recipient_user_ids_as_string LIKE '%9288723d-9fb0-4770-90d1-51c69ec10b1b%'
AND notification.recipient_user_ids_as_string IS NOT NULL)
AND NOT(notification.actioned_user_ids_as_string LIKE '%9288723d-9fb0-4770-90d1-51c69ec10b1b%'
AND notification.actioned_user_ids_as_string IS NOT NULL))
ORDER BY CASE notification.type WHEN '1' THEN 'Direct' WHEN '101' THEN 'Assigned' WHEN '102' THEN 'Alert' WHEN '103' THEN 'Message' ELSE notification.type END
OFFSET 0 LIMIT 75
unexpected exception execuring request
org.postgresql.util.PSQLException: ERROR: invalid input syntax for integer: "Direct"
Position: 747
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2270) ~[postgresql-9.4-1201-jdbc41.jar:9.4]
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1998) ~[postgresql-9.4-1201-jdbc41.jar:9.4]
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255) ~[postgresql-9.4-1201-jdbc41.jar:9.4]
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:570) ~[postgresql-9.4-1201-jdbc41.jar:9.4]
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:406) ~[postgresql-9.4-1201-jdbc41.jar:9.4]
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:286) ~[postgresql-9.4-1201-jdbc41.jar:9.4]
at org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:208) ~[commons-dbcp-1.4.jar:1.4]
at com.isomorphic.sql.SQLDataSource.executeWindowedSelect(SQLDataSource.java:2493) ~[isomorphic-sql-11.1-p20170709.jar:?]
at com.isomorphic.sql.SQLDataSource.SQLExecute(SQLDataSource.java:1750) ~[isomorphic-sql-11.1-p20170709.jar:?]
at com.isomorphic.sql.SQLDataSource.processRequest(SQLDataSource.java:434) ~[isomorphic-sql-11.1-p20170709.jar:?]
at com.isomorphic.sql.SQLDataSource.executeFetch(SQLDataSource.java:379) ~[isomorphic-sql-11.1-p20170709.jar:?]
at com.isomorphic.datasource.DataSource.execute(DataSource.java:2224) ~[isomorphic-core-rpc-11.1-p20170709.jar:?]
at com.isomorphic.application.AppBase.executeDefaultDSOperation(AppBase.java:629) ~[isomorphic-core-rpc-11.1-p20170709.jar:?]
at com.isomorphic.application.AppBase.executeAppOperation(AppBase.java:546) ~[isomorphic-core-rpc-11.1-p20170709.jar:?]
at com.isomorphic.application.AppBase.execute(AppBase.java:489) ~[isomorphic-core-rpc-11.1-p20170709.jar:?]
at com.isomorphic.datasource.DSRequest.execute(DSRequest.java:2813) ~[isomorphic-core-rpc-11.1-p20170709.jar:?]
at systems.prosolve.documentcontrol.sc.impl.SimpleDsRequestAugmentations.execute(SimpleDsRequestAugmentations.java:83) [classes/:?]
at systems.prosolve.documentcontrol.sc.impl.SimpleDsRequestAugmentations.fetch(SimpleDsRequestAugmentations.java:42) [classes/:?]
at sun.reflect.GeneratedMethodAccessor209.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_72]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_72]
at com.isomorphic.base.Reflection.adaptArgsAndInvoke(Reflection.java:873) [isomorphic-core-rpc-11.1-p20170709.jar:?]
at com.isomorphic.datasource.DataSourceDMI.execute(DataSourceDMI.java:434) [isomorphic-core-rpc-11.1-p20170709.jar:?]
at com.isomorphic.datasource.DataSourceDMI.execute(DataSourceDMI.java:64) [isomorphic-core-rpc-11.1-p20170709.jar:?]
at com.isomorphic.datasource.DSRequest.execute(DSRequest.java:2809) [isomorphic-core-rpc-11.1-p20170709.jar:?]
at com.isomorphic.servlet.IDACall.handleDSRequest(IDACall.java:230) [isomorphic-core-rpc-11.1-p20170709.jar:?]
at com.isomorphic.servlet.IDACall.processRPCTransaction(IDACall.java:187) [isomorphic-core-rpc-11.1-p20170709.jar:?]
at com.isomorphic.servlet.IDACall.processRequest(IDACall.java:152) [isomorphic-core-rpc-11.1-p20170709.jar:?]
at com.isomorphic.servlet.IDACall._processRequest(IDACall.java:119) [isomorphic-core-rpc-11.1-p20170709.jar:?]
at com.isomorphic.servlet.IDACall.doPost(IDACall.java:79) [isomorphic-core-rpc-11.1-p20170709.jar:?]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:648) [servlet-api.jar:?]
at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:176) [isomorphic-core-rpc-11.1-p20170709.jar:?]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) [servlet-api.jar:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291) [catalina.jar:8.0.30]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.30]
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) [tomcat-websocket.jar:8.0.30]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) [catalina.jar:8.0.30]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.30]
at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176) [urlrewritefilter-4.0.3.jar:4.0.3]
at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145) [urlrewritefilter-4.0.3.jar:4.0.3]
at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92) [urlrewritefilter-4.0.3.jar:4.0.3]
at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:394) [urlrewritefilter-4.0.3.jar:4.0.3]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) [catalina.jar:8.0.30]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.30]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:317) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:114) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:170) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:200) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:124) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:64) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:157) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:214) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:177) [spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) [spring-web-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262) [spring-web-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) [catalina.jar:8.0.30]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.30]
at systems.prosolve.ziz.pageid.RemoteIpFilter.doFilter(RemoteIpFilter.java:35) [classes/:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) [catalina.jar:8.0.30]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.30]
at systems.prosolve.ziz.pageid.PageIdFilter.doFilter(PageIdFilter.java:50) [classes/:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) [catalina.jar:8.0.30]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.30]
at org.springframework.web.multipart.support.MultipartFilter.doFilterInternal(MultipartFilter.java:122) [spring-web-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) [catalina.jar:8.0.30]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.30]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212) [catalina.jar:8.0.30]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) [catalina.jar:8.0.30]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) [catalina.jar:8.0.30]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) [catalina.jar:8.0.30]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) [catalina.jar:8.0.30]
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) [catalina.jar:8.0.30]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) [catalina.jar:8.0.30]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:521) [catalina.jar:8.0.30]
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1096) [tomcat-coyote.jar:8.0.30]
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:674) [tomcat-coyote.jar:8.0.30]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500) [tomcat-coyote.jar:8.0.30]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456) [tomcat-coyote.jar:8.0.30]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_72]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_72]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-util.jar:8.0.30]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_72]
Comment