public static JaxbStringObjectPairArray convertMapToJaxbStringObjectPairArray( Map<String, Object> map ) { JaxbStringObjectPairArray arrayMap = new JaxbStringObjectPairArray(); if( map == null || map.isEmpty() ) { return arrayMap; } List<JaxbStringObjectPair> items = arrayMap.getItems(); for( Entry<String, Object> entry : map.entrySet() ) { JaxbStringObjectPair pair = new JaxbStringObjectPair(); pair.setKey(entry.getKey()); pair.setValue(entry.getValue()); items.add(pair); } return arrayMap; }
/** * Create an instance of {@link JaxbStringObjectPairArray } * */ public JaxbStringObjectPairArray createJaxbStringObjectPairArray() { return new JaxbStringObjectPairArray(); }
void internalAddPossiblyNullObject( Object inputObject, List<Object> objectList, Map<Object, Object> seenObjectsMap ) { if( inputObject != null ) { if( seenObjectsMap.put(inputObject, PRESENT) != null ) { return; } if( inputObject instanceof List ) { for( Object obj : (List<?>)inputObject ) { internalAddPossiblyNullObject(obj, objectList, seenObjectsMap); } } else if( inputObject instanceof JaxbStringObjectPairArray ) { for( JaxbStringObjectPair stringObjectPair : ((JaxbStringObjectPairArray) inputObject).getItems() ) { if( stringObjectPair != null ) { internalAddPossiblyNullObject(stringObjectPair.getValue(), objectList, seenObjectsMap); } } } else if( inputObject instanceof StringKeyObjectValueMap ) { for( Object obj : ((StringKeyObjectValueMap) inputObject).values() ) { internalAddPossiblyNullObject(obj, objectList, seenObjectsMap); } } else { objectList.add(inputObject); } } }
/** * Create an instance of {@link JaxbStringObjectPairArray } * */ public JaxbStringObjectPairArray createJaxbStringObjectPairArray() { return new JaxbStringObjectPairArray(); }
@Test public void utf8Test() throws Exception { String testStr = "あばばば"; StartProcessCommand cmd = new StartProcessCommand(); JaxbStringObjectPairArray params = new JaxbStringObjectPairArray(); cmd.setParameter(params); JaxbStringObjectPair pair = new JaxbStringObjectPair(); params.getItems().add(pair); pair.setKey("myVar"); pair.setValue(testStr); StartProcessCommand copy = testRoundTrip(cmd); String copyStr = (String) copy.getParameter().getItems().iterator().next().getValue(); System.out.println( testStr + "/" + copyStr ); assertEquals("UTF-8 characters not correctly encoded", testStr, copyStr); } }
spCmd.setProcessId("org.map.set.process"); Map<String, Object> origParams = new HashMap<String, Object>(paramArr.length); JaxbStringObjectPairArray jaxbParams = new JaxbStringObjectPairArray(); spCmd.setParameter(jaxbParams); for( int i = 0; i < paramArr.length; ++i ) { jaxbParams.getItems().add(new JaxbStringObjectPair(paramArr[i][0].toString(), paramArr[i][1])); origParams.put(paramArr[i][0].toString(), paramArr[i][1]);
JaxbStringObjectPair inputObjectPair = new JaxbStringObjectPair("one", inputObject); JaxbStringObjectPair inputObjectNullPair = new JaxbStringObjectPair("two", null); JaxbStringObjectPairArray inputObjectArray = new JaxbStringObjectPairArray(); inputObjectArray.getItems().add(null); inputObjectArray.getItems().add(inputObjectPair); inputObjectArray.getItems().add(inputObjectNullPair); objectList = new ArrayList<Object>(); taskServiceClient.addPossiblyNullObject(inputObjectArray, objectList);
@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)); }