public TCComponent createCom(TCSession session,String itemTypeName,String itemID,String name,String revisionID,Map<String,String> revisionMap) {
IBOCreateDefinition createDefinition = BOCreateDefinitionFactory.getInstance().getCreateDefinition(session,itemTypeName);
CreateInstanceInput createInstanceInput = new CreateInstanceInput(createDefinition);
createInstanceInput.add("item_id", itemID);
createInstanceInput.add("object_name", name);
IBOCreateDefinition createDefinitionRev = BOCreateDefinitionFactory.getInstance().getCreateDefinition(session,itemTypeName+"Revision");
CreateInstanceInput createInstanceInputRev = new CreateInstanceInput(createDefinitionRev);
if(revisionMap == null){
revisionMap=new HashMap<String,String>();
}
for(Entry<String,String> entry:revisionMap.entrySet()){
String p=entry.getKey();
String v=entry.getValue();
createInstanceInputRev.add(p, v);
}
createInstanceInputRev.add("item_revision_id", revisionID);
ArrayList iputList = new ArrayList();
iputList.add(createInstanceInput);
ArrayList list = new ArrayList(0);
list.addAll(iputList);
createInstanceInput.addSecondaryCreateInput(createDefinition.REVISION, createInstanceInputRev);
TCComponent obj = null;
List comps = null;
try {
comps = SOAGenericCreateHelper.create(session,
createDefinition, list);
obj = (TCComponent) comps.get(0);
} catch (TCException e) {
e.printStackTrace();
}
return obj;
}