@Override public long setDocumentContentFromUser( long taskId, String userId, byte [] content ) { AddContentFromUserCommand cmd = new AddContentFromUserCommand(taskId, userId); cmd.setDocumentContentBytes(content); return executor.execute(cmd); }
@Override public long addOutputContentFromUser( long taskId, String userId, Map<String, Object> params ) { AddContentFromUserCommand cmd = new AddContentFromUserCommand(taskId, userId); cmd.setOutputContentMap(params); return executor.execute(cmd); }
@Test public void contentCommandTest() throws Exception { addClassesToSerializationContext(AddContentFromUserCommand.class); AddContentFromUserCommand cmd = new AddContentFromUserCommand(23l, "user"); cmd.getOutputContentMap().put("one", "two"); cmd.getOutputContentMap().put("thr", new Integer(4)); AddContentFromUserCommand copyCmd = testRoundTrip(cmd); assertEquals( "task id", cmd.getTaskId(), copyCmd.getTaskId()); assertEquals( "user id", cmd.getUserId(), copyCmd.getUserId()); for( Entry<String, Object> entry : cmd.getOutputContentMap().entrySet() ) { String key = entry.getKey(); Object copyVal = copyCmd.getOutputContentMap().get(key); assertEquals( "entry: " + key, entry.getValue(), copyVal ); } } }
public Long execute( Context cntxt ) { TaskContext context = (TaskContext) cntxt; doCallbackUserOperation(userId, context, true); groupIds = doUserGroupCallbackOperation(userId, null, context); context.set("local:groups", groupIds); if( outputContentMap != null ) { return context.getTaskInstanceService().addOutputContentFromUser(taskId, userId, outputContentMap); } else if( documentContentBytes != null ) { // TODO! // return context.getTaskInstanceService().setDocumentContentFromUser(taskId, userId, documentContentBytes); } return -1l; }
@Test public void addContentFromUserCmdTest() throws Exception { AddContentFromUserCommand cmd = new AddContentFromUserCommand(); cmd.setTaskId(23l); cmd.setUserId("user"); String key = "key"; Object val = "val"; cmd.setOutputContentMap(new JaxbStringObjectPairArray()); cmd.getOutputContentMap().getItems().add(new JaxbStringObjectPair(key, val)); String xmlStr = ClientJaxbSerializationProvider.newInstance().serialize(cmd); // @formatter:off org.jbpm.services.task.commands.AddContentFromUserCommand serverCmd = (org.jbpm.services.task.commands.AddContentFromUserCommand) ServerJaxbSerializationProvider.newInstance().deserialize(xmlStr); // @formatter:on assertEquals("cmd map key-val", val, serverCmd.getOutputContentMap().get(key)); }