Update comment, query not mapped?

I’m trying to update a comment but get a exception.

    List<HistoricProcessInstance> all = historyService.createHistoricProcessInstanceQuery().list();
    for (HistoricProcessInstance inst : all) {
        managementService.executeCommand(new Command<Object>() {

            @Override
            public Object execute(CommandContext commandContext) {
                List<Comment> comments = commandContext.getCommentEntityManager().findCommentsByProcessInstanceId(inst.getId());
                for (Comment comm : comments) {
                    CommentEntity entity = (CommentEntity) comm;
                    String message = entity.getFullMessage();
                    message = message.replace("xxx", "yyy");
                    String eventMessage = message.replaceAll("\\s+", " ");
                    if (eventMessage.length() > 163) {
                        eventMessage = eventMessage.substring(0, 160) + "...";
                    }
                    entity.setMessage(eventMessage);
                    entity.setFullMessage(message);
                    commandContext.getDbSqlSession().update(entity);
                }
                return null;// doesn't care about return value
            }
        });
    }

The exception is:

org.apache.ibatis.exceptions.PersistenceException:

Error updating database. Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for updateComment

Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for updateComment

at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) ~[mybatis-3.3.0.jar:3.3.0]
at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:172) ~[mybatis-3.3.0.jar:3.3.0]
at org.activiti.engine.impl.db.DbSqlSession.flushUpdates(DbSqlSession.java:879) ~[flowable-engine-5.22.0.jar:5.22.0]
at org.activiti.engine.impl.db.DbSqlSession.flush(DbSqlSession.java:620) ~[flowable-engine-5.22.0.jar:5.22.0]
at org.activiti.engine.impl.interceptor.CommandContext.flushSessions(CommandContext.java:212) ~[flowable-engine-5.22.0.jar:5.22.0]
at org.activiti.engine.impl.interceptor.CommandContext.close(CommandContext.java:138) ~[flowable-engine-5.22.0.jar:5.22.0]
at org.activiti.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:66) [flowable-engine-5.22.0.jar:5.22.0]
at org.activiti.spring.SpringTransactionInterceptor$1.doInTransaction(SpringTransactionInterceptor.java:47) [flowable-spring-5.22.0.jar:5.22.0]
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:133) [spring-tx-4.3.3.RELEASE.jar:4.3.3.RELEASE]
at org.activiti.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:45) [flowable-spring-5.22.0.jar:5.22.0]
at org.activiti.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:31) [flowable-engine-5.22.0.jar:5.22.0]
at org.activiti.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:40) [flowable-engine-5.22.0.jar:5.22.0]
at org.activiti.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:35) [flowable-engine-5.22.0.jar:5.22.0]
at org.activiti.engine.impl.ManagementServiceImpl.executeCommand(ManagementServiceImpl.java:108) [flowable-engine-5.22.0.jar:5.22.0]
at com.kernelogic.herculesoa.maintenance.MigrateCommentContentForIP.execute(MigrateCommentContentForIP.java:35) [classes/:na]
at com.kernelogic.herculesoa.maintenance.MaintenanceRunner.run(MaintenanceRunner.java:72) [classes/:na]
at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:800) [spring-boot-1.4.1.RELEASE.jar:1.4.1.RELEASE]
at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:784) [spring-boot-1.4.1.RELEASE.jar:1.4.1.RELEASE]
at org.springframework.boot.SpringApplication.afterRefresh(SpringApplication.java:771) [spring-boot-1.4.1.RELEASE.jar:1.4.1.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:316) [spring-boot-1.4.1.RELEASE.jar:1.4.1.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1186) [spring-boot-1.4.1.RELEASE.jar:1.4.1.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1175) [spring-boot-1.4.1.RELEASE.jar:1.4.1.RELEASE]
at com.kernelogic.herculesoa.HerculesoaBackendApplication.main(HerculesoaBackendApplication.java:37) [classes/:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_112]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_112]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_112]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_112]
at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) [spring-boot-devtools-1.4.1.RELEASE.jar:1.4.1.RELEASE]

Hi,

There’s no service interface to update a comment right now. It would make sense to be able to update a comment, could you create a Github issue for this?

Best regards,

Tijs