Repository: cayenne Updated Branches: refs/heads/master aa8f88ce3 -> 86396c9f4
Adding dbImport tab to project tab Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/2ee1782c Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/2ee1782c Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/2ee1782c Branch: refs/heads/master Commit: 2ee1782cad651e355d2653030a47a4e01b6d00b7 Parents: b580bda Author: Arseni Bulatski <ancars...@gmail.com> Authored: Thu Nov 15 09:32:17 2018 +0300 Committer: Arseni Bulatski <ancars...@gmail.com> Committed: Thu Nov 15 09:32:17 2018 +0300 ---------------------------------------------------------------------- .../cayenne/modeler/editor/AdditionalTab.java | 71 +++++++++++++ .../modeler/editor/AdditionalTabController.java | 100 +++++++++++++++++++ .../apache/cayenne/modeler/editor/TabPanel.java | 59 +++++++++++ .../modeler/editor/cgen/domain/CgenPanel.java | 84 ---------------- .../modeler/editor/cgen/domain/CgenTab.java | 74 ++------------ .../editor/cgen/domain/CgenTabController.java | 100 ++----------------- 6 files changed, 245 insertions(+), 243 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cayenne/blob/2ee1782c/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/AdditionalTab.java ---------------------------------------------------------------------- diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/AdditionalTab.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/AdditionalTab.java new file mode 100644 index 0000000..3e5bafa --- /dev/null +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/AdditionalTab.java @@ -0,0 +1,71 @@ +package org.apache.cayenne.modeler.editor; + +import com.jgoodies.forms.builder.DefaultFormBuilder; +import com.jgoodies.forms.layout.FormLayout; +import org.apache.cayenne.map.DataMap; +import org.apache.cayenne.modeler.ProjectController; +import org.apache.cayenne.modeler.util.ModelerUtil; + +import javax.swing.*; +import java.awt.*; +import java.util.SortedSet; +import java.util.TreeSet; +import java.util.concurrent.ConcurrentMap; + +public class AdditionalTab extends JPanel { + + protected ProjectController projectController; + private AdditionalTabController additionalTabController; + + private JCheckBox selectAll; + private JButton generateAll; + + public AdditionalTab(ProjectController projectController, AdditionalTabController additionalTabController, String icon) { + this.projectController = projectController; + this.additionalTabController = additionalTabController; + this.selectAll = new JCheckBox(); + generateAll = new JButton("Run"); + generateAll.setEnabled(false); + generateAll.setIcon(ModelerUtil.buildIcon(icon)); + generateAll.setPreferredSize(new Dimension(120, 30)); + generateAll.addActionListener(action -> additionalTabController.runGenerators(additionalTabController.getSelectedDataMaps())); + setLayout(new BorderLayout()); + } + + public void initView() { + removeAll(); + additionalTabController.createPanels(); + FormLayout layout = new FormLayout( + "left:pref, 4dlu, 50dlu", ""); + DefaultFormBuilder builder = new DefaultFormBuilder(layout); + builder.setDefaultDialogBorder(); + ConcurrentMap<DataMap, TabPanel> panels = additionalTabController.getGeneratorsPanels(); + + if(panels.isEmpty()) { + this.add(new JLabel("There are no configs."), BorderLayout.NORTH); + return; + } + + JPanel selectAllPanel = new JPanel(new FlowLayout()); + selectAllPanel.add(new JLabel("Select All"), FlowLayout.LEFT); + selectAllPanel.add(selectAll, FlowLayout.CENTER); + builder.append(selectAllPanel); + builder.nextLine(); + + SortedSet<DataMap> keys = new TreeSet<>(panels.keySet()); + for(DataMap dataMap : keys) { + builder.append(panels.get(dataMap)); + builder.nextLine(); + } + builder.append(generateAll); + this.add(builder.getPanel(), BorderLayout.CENTER); + } + + public JCheckBox getSelectAll() { + return selectAll; + } + + public JButton getGenerateAll() { + return generateAll; + } +} http://git-wip-us.apache.org/repos/asf/cayenne/blob/2ee1782c/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/AdditionalTabController.java ---------------------------------------------------------------------- diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/AdditionalTabController.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/AdditionalTabController.java new file mode 100644 index 0000000..80d08ad --- /dev/null +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/AdditionalTabController.java @@ -0,0 +1,100 @@ +package org.apache.cayenne.modeler.editor; + +import org.apache.cayenne.configuration.DataChannelDescriptor; +import org.apache.cayenne.gen.CgenConfiguration; +import org.apache.cayenne.map.DataMap; +import org.apache.cayenne.modeler.ProjectController; +import org.apache.cayenne.modeler.dialog.ErrorDebugDialog; +import org.apache.cayenne.project.Project; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.awt.event.ItemEvent; +import java.util.Collection; +import java.util.Set; +import java.util.concurrent.ConcurrentMap; + +public abstract class AdditionalTabController { + + public static Logger logObj = LoggerFactory.getLogger(ErrorDebugDialog.class); + public ProjectController projectController; + public AdditionalTab view; + + public ConcurrentMap<DataMap, TabPanel> generatorsPanels; + public Set<DataMap> selectedDataMaps; + + public String icon; + + public abstract void runGenerators(Set<DataMap> dataMap); + + public void createPanels(){ + Collection<DataMap> dataMaps = getDataMaps(); + generatorsPanels.clear(); + for(DataMap dataMap : dataMaps) { + TabPanel cgenPanel = new TabPanel(dataMap, "icon-datamap.png"); + initListenersForPanel(cgenPanel); + generatorsPanels.put(dataMap, cgenPanel); + } + selectedDataMaps.forEach(dataMap -> { + if(generatorsPanels.get(dataMap) != null) { + TabPanel currPanel = generatorsPanels.get(dataMap); + currPanel.getCheckConfig().setSelected(true); + } + }); + } + + private void initListenersForPanel(TabPanel cgenPanel) { + cgenPanel.getCheckConfig().addItemListener(e -> { + if(e.getStateChange() == ItemEvent.SELECTED) { + selectedDataMaps.add(cgenPanel.getDataMap()); + } else if(e.getStateChange() == ItemEvent.DESELECTED) { + selectedDataMaps.remove(cgenPanel.getDataMap()); + } + setGenerateButtonDisabled(); + }); + + cgenPanel.getToConfigButton().addActionListener(action -> showConfig(cgenPanel.getDataMap())); + + view.getSelectAll().addItemListener(e -> { + if(e.getStateChange() == ItemEvent.SELECTED) { + getGeneratorsPanels().forEach((key, value) -> value.getCheckConfig().setSelected(true)); + } else if(e.getStateChange() == ItemEvent.DESELECTED) { + getGeneratorsPanels().forEach((key, value) -> value.getCheckConfig().setSelected(false)); + } + setGenerateButtonDisabled(); + }); + } + + public abstract void showConfig(DataMap dataMap); + + private void setGenerateButtonDisabled() { + if(selectedDataMaps.size() == 0) { + view.getGenerateAll().setEnabled(false); + } else { + view.getGenerateAll().setEnabled(true); + } + } + + private Collection<DataMap> getDataMaps() { + Project project = projectController.getProject(); + return ((DataChannelDescriptor) project.getRootNode()).getDataMaps(); + } + + public AdditionalTab getView() { + return view; + } + + public abstract CgenConfiguration createConfiguration(DataMap dataMap); + + public ProjectController getProjectController() { + return projectController; + } + + ConcurrentMap<DataMap, TabPanel> getGeneratorsPanels() { + return generatorsPanels; + } + + Set<DataMap> getSelectedDataMaps() { + return selectedDataMaps; + } +} http://git-wip-us.apache.org/repos/asf/cayenne/blob/2ee1782c/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/TabPanel.java ---------------------------------------------------------------------- diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/TabPanel.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/TabPanel.java new file mode 100644 index 0000000..c7f812b --- /dev/null +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/TabPanel.java @@ -0,0 +1,59 @@ +package org.apache.cayenne.modeler.editor; + +import com.jgoodies.forms.builder.DefaultFormBuilder; +import com.jgoodies.forms.layout.FormLayout; +import org.apache.cayenne.configuration.xml.DataChannelMetaData; +import org.apache.cayenne.gen.CgenConfiguration; +import org.apache.cayenne.map.DataMap; +import org.apache.cayenne.modeler.Application; +import org.apache.cayenne.modeler.util.ModelerUtil; + +import javax.swing.*; +import java.awt.*; + +public class TabPanel extends JPanel { + + private JCheckBox checkConfig; + private JLabel dataMapLabel; + private JButton toConfigButton; + private DataMap dataMap; + + public TabPanel(DataMap dataMap, String icon) { + setLayout(new BorderLayout()); + FormLayout layout = new FormLayout( + "left:pref, 4dlu, fill:50dlu, 3dlu, fill:120", ""); + DefaultFormBuilder builder = new DefaultFormBuilder(layout); + builder.setDefaultDialogBorder(); + + this.dataMap = dataMap; + this.checkConfig = new JCheckBox(); + this.dataMapLabel = new JLabel(dataMap.getName()); + DataChannelMetaData metaData = Application.getInstance().getMetaData(); + this.toConfigButton = new JButton(); + if(metaData.get(dataMap, CgenConfiguration.class) != null) { + this.toConfigButton.setText("Edit Config"); + } else { + this.toConfigButton.setText("Create Config"); + } + this.toConfigButton.setIcon(ModelerUtil.buildIcon(icon)); + + builder.append(checkConfig, dataMapLabel, toConfigButton); + this.add(builder.getPanel(), BorderLayout.CENTER); + } + + public JCheckBox getCheckConfig() { + return checkConfig; + } + + public JButton getToConfigButton() { + return toConfigButton; + } + + public JLabel getDataMapLabel() { + return dataMapLabel; + } + + public DataMap getDataMap() { + return dataMap; + } +} http://git-wip-us.apache.org/repos/asf/cayenne/blob/2ee1782c/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/domain/CgenPanel.java ---------------------------------------------------------------------- diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/domain/CgenPanel.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/domain/CgenPanel.java deleted file mode 100644 index e8e6596..0000000 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/domain/CgenPanel.java +++ /dev/null @@ -1,84 +0,0 @@ -/***************************************************************** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - ****************************************************************/ - -package org.apache.cayenne.modeler.editor.cgen.domain; - -import com.jgoodies.forms.builder.DefaultFormBuilder; -import com.jgoodies.forms.layout.FormLayout; -import org.apache.cayenne.configuration.xml.DataChannelMetaData; -import org.apache.cayenne.gen.CgenConfiguration; -import org.apache.cayenne.map.DataMap; -import org.apache.cayenne.modeler.Application; -import org.apache.cayenne.modeler.util.ModelerUtil; - -import javax.swing.JButton; -import javax.swing.JCheckBox; -import javax.swing.JLabel; -import javax.swing.JPanel; -import java.awt.BorderLayout; - -/** - * @since 4.1 - */ -public class CgenPanel extends JPanel { - - private JCheckBox checkConfig; - private JLabel dataMapLabel; - private JButton toConfigButton; - private DataMap dataMap; - - public CgenPanel(DataMap dataMap) { - setLayout(new BorderLayout()); - FormLayout layout = new FormLayout( - "left:pref, 4dlu, fill:50dlu, 3dlu, fill:120", ""); - DefaultFormBuilder builder = new DefaultFormBuilder(layout); - builder.setDefaultDialogBorder(); - - this.dataMap = dataMap; - this.checkConfig = new JCheckBox(); - this.dataMapLabel = new JLabel(dataMap.getName()); - DataChannelMetaData metaData = Application.getInstance().getMetaData(); - this.toConfigButton = new JButton(); - if(metaData.get(dataMap, CgenConfiguration.class) != null) { - this.toConfigButton.setText("Edit Config"); - } else { - this.toConfigButton.setText("Create Config"); - } - this.toConfigButton.setIcon(ModelerUtil.buildIcon("icon-datamap.png")); - - builder.append(checkConfig, dataMapLabel, toConfigButton); - this.add(builder.getPanel(), BorderLayout.CENTER); - } - - public JCheckBox getCheckConfig() { - return checkConfig; - } - - public JButton getToConfigButton() { - return toConfigButton; - } - - public JLabel getDataMapLabel() { - return dataMapLabel; - } - - public DataMap getDataMap() { - return dataMap; - } -} http://git-wip-us.apache.org/repos/asf/cayenne/blob/2ee1782c/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/domain/CgenTab.java ---------------------------------------------------------------------- diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/domain/CgenTab.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/domain/CgenTab.java index 5d7c88a..9a6b0aa 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/domain/CgenTab.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/domain/CgenTab.java @@ -19,74 +19,19 @@ package org.apache.cayenne.modeler.editor.cgen.domain; -import com.jgoodies.forms.builder.DefaultFormBuilder; -import com.jgoodies.forms.layout.FormLayout; -import org.apache.cayenne.map.DataMap; import org.apache.cayenne.modeler.ProjectController; -import org.apache.cayenne.modeler.util.ModelerUtil; +import org.apache.cayenne.modeler.editor.AdditionalTab; +import org.apache.cayenne.modeler.editor.AdditionalTabController; -import javax.swing.JButton; -import javax.swing.JCheckBox; -import javax.swing.JLabel; -import javax.swing.JOptionPane; -import javax.swing.JPanel; -import java.awt.BorderLayout; -import java.awt.Dimension; -import java.awt.FlowLayout; -import java.util.SortedSet; -import java.util.TreeSet; -import java.util.concurrent.ConcurrentMap; +import javax.swing.*; /** * @since 4.1 */ -public class CgenTab extends JPanel { +public class CgenTab extends AdditionalTab { - protected ProjectController projectController; - private CgenTabController cgenTabController; - - private JCheckBox selectAll; - private JButton generateAll; - - public CgenTab(ProjectController projectController, CgenTabController cgenTabController) { - this.projectController = projectController; - this.cgenTabController = cgenTabController; - this.selectAll = new JCheckBox(); - generateAll = new JButton("Generate"); - generateAll.setEnabled(false); - generateAll.setIcon(ModelerUtil.buildIcon("icon-gen_java.png")); - generateAll.setPreferredSize(new Dimension(120, 30)); - generateAll.addActionListener(action -> cgenTabController.runGenerators(cgenTabController.getSelectedDataMaps())); - setLayout(new BorderLayout()); - } - - public void initView() { - removeAll(); - cgenTabController.createPanels(); - FormLayout layout = new FormLayout( - "left:pref, 4dlu, 50dlu", ""); - DefaultFormBuilder builder = new DefaultFormBuilder(layout); - builder.setDefaultDialogBorder(); - ConcurrentMap<DataMap, CgenPanel> panels = cgenTabController.getGeneratorsPanels(); - - if(panels.isEmpty()) { - this.add(new JLabel("There are no cgen configs."), BorderLayout.NORTH); - return; - } - - JPanel selectAllPanel = new JPanel(new FlowLayout()); - selectAllPanel.add(new JLabel("Select All"), FlowLayout.LEFT); - selectAllPanel.add(selectAll, FlowLayout.CENTER); - builder.append(selectAllPanel); - builder.nextLine(); - - SortedSet<DataMap> keys = new TreeSet<>(panels.keySet()); - for(DataMap dataMap : keys) { - builder.append(panels.get(dataMap)); - builder.nextLine(); - } - builder.append(generateAll); - this.add(builder.getPanel(), BorderLayout.CENTER); + public CgenTab(ProjectController projectController, AdditionalTabController additionalTabController) { + super(projectController, additionalTabController, "icon-gen_java.png"); } void showSuccessMessage() { @@ -107,11 +52,4 @@ public class CgenTab extends JPanel { "Nothing to generate - "); } - public JCheckBox getSelectAll() { - return selectAll; - } - - public JButton getGenerateAll() { - return generateAll; - } } http://git-wip-us.apache.org/repos/asf/cayenne/blob/2ee1782c/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/domain/CgenTabController.java ---------------------------------------------------------------------- diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/domain/CgenTabController.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/domain/CgenTabController.java index f9549ec..59f29b0 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/domain/CgenTabController.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/domain/CgenTabController.java @@ -19,7 +19,6 @@ package org.apache.cayenne.modeler.editor.cgen.domain; -import org.apache.cayenne.configuration.DataChannelDescriptor; import org.apache.cayenne.configuration.xml.DataChannelMetaData; import org.apache.cayenne.gen.CgenConfiguration; import org.apache.cayenne.gen.ClassGenerationAction; @@ -27,39 +26,25 @@ import org.apache.cayenne.gen.ClientClassGenerationAction; import org.apache.cayenne.map.DataMap; import org.apache.cayenne.modeler.Application; import org.apache.cayenne.modeler.ProjectController; -import org.apache.cayenne.modeler.dialog.ErrorDebugDialog; import org.apache.cayenne.modeler.dialog.pref.GeneralPreferences; +import org.apache.cayenne.modeler.editor.AdditionalTabController; import org.apache.cayenne.modeler.event.DataMapDisplayEvent; import org.apache.cayenne.modeler.util.ModelerUtil; -import org.apache.cayenne.project.Project; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import javax.swing.JOptionPane; -import java.awt.event.ItemEvent; +import javax.swing.*; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; -import java.util.Collection; import java.util.HashSet; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.ConcurrentMap; import java.util.prefs.Preferences; /** * @since 4.1 */ -public class CgenTabController { - - private static Logger logObj = LoggerFactory.getLogger(ErrorDebugDialog.class); - - private ProjectController projectController; - private CgenTab view; - - private ConcurrentMap<DataMap, CgenPanel> generatorsPanels; - private Set<DataMap> selectedDataMaps; +public class CgenTabController extends AdditionalTabController { public CgenTabController(ProjectController projectController) { this.projectController = projectController; @@ -68,65 +53,10 @@ public class CgenTabController { this.selectedDataMaps = new HashSet<>(); } - void createPanels() { - Collection<DataMap> dataMaps = getDataMaps(); - generatorsPanels.clear(); - for(DataMap dataMap : dataMaps) { - CgenPanel cgenPanel = new CgenPanel(dataMap); - initListenersForPanel(cgenPanel); - generatorsPanels.put(dataMap, cgenPanel); - } - selectedDataMaps.forEach(dataMap -> { - if(generatorsPanels.get(dataMap) != null) { - CgenPanel currPanel = generatorsPanels.get(dataMap); - currPanel.getCheckConfig().setSelected(true); - } - }); - } - - private void initListenersForPanel(CgenPanel cgenPanel) { - cgenPanel.getCheckConfig().addItemListener(e -> { - if(e.getStateChange() == ItemEvent.SELECTED) { - selectedDataMaps.add(cgenPanel.getDataMap()); - } else if(e.getStateChange() == ItemEvent.DESELECTED) { - selectedDataMaps.remove(cgenPanel.getDataMap()); - } - setGenerateButtonDisabled(); - }); - - cgenPanel.getToConfigButton().addActionListener(action -> showConfig(cgenPanel.getDataMap())); - - view.getSelectAll().addItemListener(e -> { - if(e.getStateChange() == ItemEvent.SELECTED) { - getGeneratorsPanels().forEach((key, value) -> value.getCheckConfig().setSelected(true)); - } else if(e.getStateChange() == ItemEvent.DESELECTED) { - getGeneratorsPanels().forEach((key, value) -> value.getCheckConfig().setSelected(false)); - } - setGenerateButtonDisabled(); - }); - } - - private void setGenerateButtonDisabled() { - if(selectedDataMaps.size() == 0) { - view.getGenerateAll().setEnabled(false); - } else { - view.getGenerateAll().setEnabled(true); - } - } - - private Collection<DataMap> getDataMaps() { - Project project = projectController.getProject(); - return ((DataChannelDescriptor) project.getRootNode()).getDataMaps(); - } - - public CgenTab getView() { - return view; - } - - void runGenerators(Set<DataMap> dataMaps) { + public void runGenerators(Set<DataMap> dataMaps) { DataChannelMetaData metaData = Application.getInstance().getMetaData(); if(dataMaps.isEmpty()) { - view.showEmptyMessage(); + ((CgenTab)view).showEmptyMessage(); return; } boolean generationFail = false; @@ -143,15 +73,15 @@ public class CgenTabController { } catch (Exception e) { logObj.error("Error generating classes", e); generationFail = true; - view.showErrorMessage(e.getMessage()); + ((CgenTab)view).showErrorMessage(e.getMessage()); } } if(!generationFail) { - view.showSuccessMessage(); + ((CgenTab)view).showSuccessMessage(); } } - private CgenConfiguration createConfiguration(DataMap dataMap) { + public CgenConfiguration createConfiguration(DataMap dataMap) { CgenConfiguration cgenConfiguration = new CgenConfiguration(); Application.getInstance().getInjector().injectMembers(cgenConfiguration); cgenConfiguration.setDataMap(dataMap); @@ -190,21 +120,9 @@ public class CgenTabController { return cgenConfiguration; } - private void showConfig(DataMap dataMap) { + public void showConfig(DataMap dataMap) { if (dataMap != null) { projectController.fireDataMapDisplayEvent(new DataMapDisplayEvent(this.getView(), dataMap, dataMap.getDataChannelDescriptor())); } } - - public ProjectController getProjectController() { - return projectController; - } - - ConcurrentMap<DataMap, CgenPanel> getGeneratorsPanels() { - return generatorsPanels; - } - - public Set<DataMap> getSelectedDataMaps() { - return selectedDataMaps; - } }