/* * Lokomo OneCMDB - An Open Source Software for Configuration * Management of Datacenter Resources * * Copyright (C) 2006 Lokomo Systems AB * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or (at * your option) any later version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301 USA. * * Lokomo Systems AB can be contacted via e-mail: info@lokomo.com or via * paper mail: Lokomo Systems AB, Sv�rdv�gen 27, SE-182 33 * Danderyd, Sweden. * */ package org.onecmdb.rest.graph.main; import java.awt.BorderLayout; import java.awt.Dimension; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JSplitPane; import javax.swing.JTabbedPane; import javax.swing.table.AbstractTableModel; import javax.swing.table.TableModel; import org.onecmdb.core.utils.bean.CiBean; import org.onecmdb.rest.graph.events.CEvents; import org.onecmdb.rest.graph.events.Event; import org.onecmdb.rest.graph.events.EventDispatcher; import org.onecmdb.rest.graph.events.IEventListener; import org.onecmdb.rest.graph.model.CIModel; import org.onecmdb.rest.graph.model.prefuse.TemplateModelControl; import org.onecmdb.rest.graph.panels.TemplateReferencePanel; import prefuse.Visualization; import prefuse.data.Node; import prefuse.data.Tuple; import prefuse.data.event.TupleSetListener; import prefuse.data.tuple.TupleSet; public class MainTemplateReferenceBrowser extends JPanel implements IEventListener { private JTabbedPane graphTab; private MainInstanceBrowser instanceGraph; private JTabbedPane tp; private TemplateModelControl model; private String alias; private String root; public MainTemplateReferenceBrowser(String root, String alias) { model = TemplateModelControl.get(root); this.alias = alias; this.root = root; initUI(); EventDispatcher.addEventListener(this); } public void initUI() { graphTab = new JTabbedPane(); //graphTab.setTabPlacement(JTabbedPane.BOTTOM); TemplateReferencePanel refPanel = new TemplateReferencePanel(model); Dimension minimumSize = new Dimension(200, 200); refPanel.setMinimumSize(minimumSize); instanceGraph = new MainInstanceBrowser(this.root); instanceGraph.setInstanceTemplate(alias, null); graphTab.addTab("Template References", refPanel); graphTab.addTab("Instances of " + alias, instanceGraph); //graphTab.addTab("All References", allRefPanel); setLayout(new BorderLayout()); add(graphTab, BorderLayout.CENTER); refPanel.setSelectedAlias(alias); } public void onEvent(Event e) { switch(e.getType()) { case(CEvents.RELATION_ITEM_SELECTED): { String alias = (String) e.getData(); graphTab.setTitleAt(1, "Instances of " + alias); instanceGraph.setInstanceTemplate(alias, null); } break; } } }