/** * Copyright (C) 2012 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.livedata.cogda.msg; import org.fudgemsg.FudgeField; import org.fudgemsg.FudgeMsg; import org.fudgemsg.MutableFudgeMsg; import org.fudgemsg.mapping.FudgeBuilder; import org.fudgemsg.mapping.FudgeDeserializer; import org.fudgemsg.mapping.FudgeSerializer; /** * */ public class ConnectionResponseBuilder implements FudgeBuilder<ConnectionResponseMessage> { public static MutableFudgeMsg buildMessageStatic(FudgeSerializer serializer, ConnectionResponseMessage response) { MutableFudgeMsg msg = serializer.newMessage(); msg.add("MESSAGE_TYPE", CogdaMessageType.CONNECTION_RESPONSE.name()); msg.add("result", response.getResult().name()); for (String availableServer : response.getAvailableServers()) { msg.add("availableServer", availableServer); } msg.add("capabilities", response.getCapabilities()); return msg; } @Override public MutableFudgeMsg buildMessage(FudgeSerializer serializer, ConnectionResponseMessage object) { return buildMessageStatic(serializer, object); } public static ConnectionResponseMessage buildObjectStatic(FudgeDeserializer deserializer, FudgeMsg message) { ConnectionResponseMessage response = new ConnectionResponseMessage(); response.setResult(ConnectionResult.valueOf(message.getString("result"))); for (FudgeField field : message.getAllByName("availableServer")) { response.getAvailableServers().add((String) field.getValue()); } response.applyCapabilities(message.getMessage("capabilities")); return response; } @Override public ConnectionResponseMessage buildObject(FudgeDeserializer deserializer, FudgeMsg message) { return buildObjectStatic(deserializer, message); } }