Skip to content

Instantly share code, notes, and snippets.

@Vineeth-Mohan
Created May 24, 2012 12:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Vineeth-Mohan/2781160 to your computer and use it in GitHub Desktop.
Save Vineeth-Mohan/2781160 to your computer and use it in GitHub Desktop.
package com.opengamma.examples;
import java.io.StringWriter;
import java.net.URI;
import java.util.ArrayList;
import java.util.Collection;
import java.util.EnumSet;
import java.util.List;
import java.util.Map;
import javax.time.Instant;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.time.calendar.*;
import org.joda.beans.impl.flexi.FlexiBean;
import com.opengamma.engine.marketdata.spec.HistoricalMarketDataSpecification;
import com.opengamma.engine.marketdata.spec.MarketData;
import com.opengamma.engine.marketdata.spec.MarketDataSpecification;
import com.opengamma.engine.view.ViewComputationResultModel;
import com.opengamma.engine.view.ViewDefinition;
import com.opengamma.engine.view.ViewDeltaResultModel;
import com.opengamma.engine.view.client.ViewClient;
import com.opengamma.engine.view.compilation.CompiledViewDefinition;
import com.opengamma.engine.view.execution.ArbitraryViewCycleExecutionSequence;
import com.opengamma.engine.view.execution.ExecutionOptions;
import com.opengamma.engine.view.execution.ViewExecutionFlags;
import com.opengamma.engine.view.execution.ViewExecutionOptions;
import com.opengamma.engine.view.listener.AbstractViewResultListener;
import com.opengamma.livedata.UserPrincipal;
import com.opengamma.web.AbstractPerRequestWebResource;
@Path("/reports")
public class ReportsResource extends AbstractPerRequestWebResource {
@GET
public String getJSON() {
ViewDefinition equityDefenition = CustomBasicsComponentFactory._viewDefinitionRepository.getDefinition("Equity Portfolio View");
ViewClient vc = CustomBasicsComponentFactory._viewProcessor.createViewClient(new UserPrincipal("Vineeth", "127.0.0.1"));
System.out.println("Unique id is " + equityDefenition.getUniqueId());
//EnumSet<ViewExecutionFlags> flags = EnumSet.of(ViewExecutionFlags.RUN_AS_FAST_AS_POSSIBLE);
HistoricalMarketDataSpecification hd = MarketData.historical(LocalDate.of(2010, 6, 25) ,null, null);
System.out.println("DATE" + LocalDate.of(2010, 6, 25));
ViewExecutionOptions executionOptions = ExecutionOptions.singleCycle(null, hd);
vc.setResultListener(new AbstractViewResultListener() {
@Override
public UserPrincipal getUser() {
// Authentication needed
return UserPrincipal.getLocalUser();
}
@Override
public void viewDefinitionCompiled(CompiledViewDefinition compiledViewDefinition, boolean hasMarketDataPermissions) {
System.out.println("View definition compiled: {} " + compiledViewDefinition.getViewDefinition().getName());
}
@Override
public void cycleCompleted(ViewComputationResultModel fullResult, ViewDeltaResultModel deltaResult) {
System.out.println("New result arrived for view '{}'" + fullResult.getAllResults());
}
});
System.out.println("SPEC IS " + executionOptions);
vc.attachToViewProcess(equityDefenition.getUniqueId(),executionOptions);
return "{ 'message' : 'hello reports'}";
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment