Package com.opengamma.integration.viewer

Source Code of com.opengamma.integration.viewer.AbstractEngineViewerLauncher

/**
* 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.awt.BorderLayout;

import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.ListSelectionModel;

import org.jdesktop.application.SingleFrameApplication;
import org.jdesktop.swingx.JXTreeTable;

import com.opengamma.engine.marketdata.spec.MarketData;
import com.opengamma.engine.view.ViewDefinition;
import com.opengamma.engine.view.ViewProcessor;
import com.opengamma.engine.view.client.ViewClient;
import com.opengamma.engine.view.execution.ExecutionOptions;
import com.opengamma.id.VersionCorrection;
import com.opengamma.livedata.UserPrincipal;

/**
* Common functionality for the thick client demo shared by the LocalEngineViewerLauncher and
* RemoteEngineViewerLauncher which create a local engine or connect to a shared demo server
* respectively.
*/
public abstract class AbstractEngineViewerLauncher extends SingleFrameApplication {

  protected PortfolioTreeTableModel buildTreeTableModel() {
    final PortfolioTreeTableModel treeTableModel = new PortfolioTreeTableModel();
    return treeTableModel;
  }

  protected void startViewer(final ViewProcessor viewProcessor) {
    final UserPrincipal user = UserPrincipal.getLocalUser();
    final ViewClient viewClient = viewProcessor.createViewClient(user);
    final PortfolioTreeTableModel treeTableModel = buildTreeTableModel();
    viewClient.setResultListener(treeTableModel);
    viewClient.attachToViewProcess(viewProcessor.getConfigSource().getSingle(ViewDefinition.class, "Equity Portfolio View", VersionCorrection.LATEST).getUniqueId(),
        ExecutionOptions.infinite(MarketData.live()));

    getMainFrame().setTitle("OpenGamma Viewer");

    final JXTreeTable treeTable = new JXTreeTable(treeTableModel);
    treeTable.setName("table");
    treeTable.setRootVisible(true);
    treeTable.setFillsViewportHeight(true);
    treeTable.setAutoResizeMode(JXTreeTable.AUTO_RESIZE_ALL_COLUMNS);
    treeTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

    final JScrollPane scrollPane = new JScrollPane(treeTable);
    final JPanel panel = new JPanel(new BorderLayout());
    panel.add(scrollPane, BorderLayout.CENTER);

    final JPanel topLevelPanel = new JPanel(new BorderLayout());
    topLevelPanel.add(panel, BorderLayout.CENTER);
    show(topLevelPanel);
  }

}
TOP

Related Classes of com.opengamma.integration.viewer.AbstractEngineViewerLauncher

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.