/** * Copyright (C) 2009 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.integration.viewer; import java.net.URI; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import javax.ws.rs.core.UriBuilder; import org.apache.activemq.ActiveMQConnectionFactory; import com.opengamma.component.ComponentInfo; import com.opengamma.component.ComponentServer; import com.opengamma.component.factory.ComponentInfoAttributes; import com.opengamma.component.rest.RemoteComponentServer; import com.opengamma.engine.view.ViewProcessor; import com.opengamma.financial.view.rest.RemoteViewProcessor; import com.opengamma.master.config.ConfigMaster; import com.opengamma.master.config.impl.RemoteConfigMaster; import com.opengamma.util.jms.JmsConnector; import com.opengamma.util.jms.JmsConnectorFactoryBean; /** * Provides access to a ViewProcessor by starting an engine. * @deprecated Doesn't works correctly in cases where the engine or JMS is remote. Use RemoteEngineTestUtils instead. */ @Deprecated public final class DemoViewProcessor { /** * The remote server. */ private final ComponentServer _componentServer; /** * The remote server. */ private final ScheduledExecutorService _scheduler = Executors.newSingleThreadScheduledExecutor(); /** * Connects to a localhost server. */ public DemoViewProcessor() { this(URI.create("http://localhost:8080/jax")); } /** * Connects to a server. * * @param uri the URI to connect to,not null */ public DemoViewProcessor(URI uri) { RemoteComponentServer server = new RemoteComponentServer(uri); _componentServer = server.getComponentServer(); } public ViewProcessor getViewProcessor() { ComponentInfo info = _componentServer.getComponentInfo(ViewProcessor.class, "main"); URI jmsBrokerUri = URI.create(info.getAttribute(ComponentInfoAttributes.JMS_BROKER_URI)); ActiveMQConnectionFactory cf = new ActiveMQConnectionFactory(jmsBrokerUri); JmsConnectorFactoryBean factory = new JmsConnectorFactoryBean(); factory.setName(getClass().getSimpleName()); factory.setConnectionFactory(cf); factory.setClientBrokerUri(jmsBrokerUri); JmsConnector jmsConnector = factory.getObjectCreating(); URI uri = UriBuilder.fromUri(info.getUri()).build(); return new RemoteViewProcessor(uri, jmsConnector, _scheduler); } public ConfigMaster getConfigMaster() { ComponentInfo info = _componentServer.getComponentInfo(ConfigMaster.class, "main"); return new RemoteConfigMaster(info.getUri()); } }