/** * Copyright (C) 2012 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.web.analytics.formatting; import java.util.Map; import com.google.common.collect.Maps; import com.opengamma.engine.value.ValueSpecification; import com.opengamma.id.UniqueId; import com.opengamma.web.analytics.OtcTradeTarget; /** * Formats {@link OtcTradeTarget}s for sending to the client as JSON. */ /* package */ class OtcTradeTargetFormatter extends AbstractFormatter<OtcTradeTarget> { /** JSON key */ private static final String NAME = "name"; /** JSON key */ private static final String NODE_ID = "nodeId"; /** JSON key */ private static final String POSITION_ID = "positionId"; /** JSON key */ private static final String TRADE_ID = "tradeId"; /* package */ OtcTradeTargetFormatter() { super(OtcTradeTarget.class); } @Override public Map<String, Object> formatCell(OtcTradeTarget target, ValueSpecification valueSpec, Object inlineKey) { Map<String, Object> results = Maps.newHashMap(); results.put(NAME, target.getName()); results.put(NODE_ID, target.getNodeId().getObjectId()); results.put(POSITION_ID, target.getPositionId().getObjectId()); UniqueId tradeId = target.getTradeId(); if (tradeId != null) { results.put(TRADE_ID, tradeId.getObjectId()); } return results; } @Override public DataType getDataType() { return DataType.OTC_TRADE; } }