*
* @param json json object.
* @return a coordinator job bean populated with the JSON object values.
*/
public static JMSConnectionInfo createJMSConnectionInfo(JSONObject json) {
final JMSConnectionInfoWrapper jmsInfo = (JMSConnectionInfoWrapper) Proxy.newProxyInstance(
JsonToBean.class.getClassLoader(), new Class[] { JMSConnectionInfoWrapper.class },
new JsonInvocationHandler(JMS_CONNECTION_INFO, json));
return new JMSConnectionInfo() {
@Override
public String getTopicPrefix() {
return jmsInfo.getTopicPrefix();
}
@Override
public String getTopicPattern(AppType appType) {
return (String)jmsInfo.getTopicPatternProperties().get(appType.name());
}
@Override
public Properties getJNDIProperties() {
return jmsInfo.getJNDIProperties();
}
};
}