package com.bagri.tools.vvm.ui; import java.awt.GridLayout; import java.util.logging.Logger; import javax.swing.BorderFactory; import javax.swing.JPanel; import javax.swing.JTabbedPane; import com.bagri.tools.vvm.event.ApplicationEvent; import com.bagri.tools.vvm.event.EventBus; import com.bagri.tools.vvm.model.Schema; import com.bagri.tools.vvm.model.SchemaManagement; import com.bagri.tools.vvm.service.SchemaManagementService; public class SchemaPanel extends JPanel { private static final Logger LOGGER = Logger.getLogger(SchemaPanel.class.getName()); private final SchemaManagementService schemaService; private final EventBus<ApplicationEvent> eventBus; private final Schema schema; private JTabbedPane tabbedPane; //private XTable grid; public SchemaPanel(SchemaManagementService schemaService, EventBus<ApplicationEvent> eventBus, Schema schema) { super(new GridLayout(1, 1)); this.schema = schema; this.schemaService = schemaService; this.eventBus = eventBus; tabbedPane = new JTabbedPane(); tabbedPane.addTab(schema.getSchemaName() + SchemaManagement.SCHEMA_DETAILS, createSchemaInfoPanel()); tabbedPane.addTab(SchemaManagement.DOCUMENT_MANAGEMENT, createSchemaDocumentsPanel()); tabbedPane.addTab(SchemaManagement.QUERY_MANAGEMENT, createSchemaQueryPanel()); tabbedPane.addTab(SchemaManagement.SCHEMA_MONITORING, createSchemaMonitoringPanel()); add(tabbedPane); tabbedPane.setBorder(BorderFactory.createEmptyBorder()); setBorder(BorderFactory.createEmptyBorder()); } private JPanel createSchemaInfoPanel() { JPanel panel = new SchemaCapacityPanel(schema.getSchemaName(), schemaService, eventBus); return panel; } private JPanel createSchemaDocumentsPanel() { JPanel panel = new SchemaDocumentPanel(schema, schemaService, eventBus); return panel; } private JPanel createSchemaMonitoringPanel() { JPanel panel = new SchemaMonitoringPanel(schema.getSchemaName(), schemaService, eventBus); return panel; } private JPanel createSchemaQueryPanel() { JPanel panel = new SchemaQueryPanel(schema, schemaService, eventBus); return panel; } @Override public void setEnabled(boolean enabled) { super.setEnabled(enabled); // if (!enabled) { // grid.clearSelection(); // grid.getTableHeader().setEnabled(false); // grid.setEnabled(false); // for (Component c : toolBar.getComponents()) { // c.setEnabled(false); // } // toolBar.setEnabled(false); // for (Component c : tabbedPane.getComponents()) { // c.setEnabled(false); // } // tabbedPane.setEnabled(false); // } } @Override public void invalidate() { super.invalidate(); // if (!grid.isLoaded()) { // grid.reload(); // } } }