public MetaValue createMetaValue(MetaType metaType, RequestMetadata object) {
if (object == null)
return null;
if (metaType instanceof CompositeMetaType) {
CompositeMetaType composite = (CompositeMetaType) metaType;
CompositeValueSupport request = new CompositeValueSupport(composite);
request.set(EXECUTION_ID, SimpleValueSupport.wrap(object.getExecutionId()));
request.set(SESSION_ID, SimpleValueSupport.wrap(object.getSessionId()));
request.set(START_TIME, SimpleValueSupport.wrap(object.getStartTime()));
request.set(COMMAND, SimpleValueSupport.wrap(object.getCommand()));
request.set(SOURCE_REQUEST, SimpleValueSupport.wrap(object.sourceRequest()));
request.set(NODE_ID, SimpleValueSupport.wrap(object.getNodeId()));
request.set(TRANSACTION_ID,SimpleValueSupport.wrap(object.getTransactionId()));
EnumMetaType emt = (EnumMetaType)composite.getType(STATE);
request.set(STATE, new EnumValueSupport(emt, object.getState()));
request.set(THREAD_STATE, new EnumValueSupport((EnumMetaType)composite.getType(THREAD_STATE), object.getThreadState()));
return request;
}
throw new IllegalArgumentException("Cannot convert RequestMetadata " + object); //$NON-NLS-1$
}