You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by nt...@apache.org on 2018/11/05 14:27:11 UTC
[1/5] cayenne git commit: First implementation of revert
functionality.
Repository: cayenne
Updated Branches:
refs/heads/master 50d04b380 -> 9451c9a83
First implementation of revert functionality.
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/b9d9378a
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/b9d9378a
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/b9d9378a
Branch: refs/heads/master
Commit: b9d9378a406cc72523444567ad24859bb753ceb5
Parents: 831442c
Author: kkomyak <co...@gmail.com>
Authored: Tue Oct 30 14:29:33 2018 +0300
Committer: kkomyak <co...@gmail.com>
Committed: Tue Oct 30 17:36:44 2018 +0300
----------------------------------------------------------------------
.../reverse/dbimport/DefaultDbImportAction.java | 99 +++++++++++++++-----
.../dialog/db/load/DbLoadResultDialog.java | 12 ++-
.../dialog/db/load/ModelerDbImportAction.java | 29 +++++-
3 files changed, 113 insertions(+), 27 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cayenne/blob/b9d9378a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbimport/DefaultDbImportAction.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbimport/DefaultDbImportAction.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbimport/DefaultDbImportAction.java
index 1a54fa4..e6b6e61 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbimport/DefaultDbImportAction.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbimport/DefaultDbImportAction.java
@@ -88,6 +88,10 @@ public class DefaultDbImportAction implements DbImportAction {
private final MergerTokenFactoryProvider mergerTokenFactoryProvider;
private final DataChannelDescriptorLoader dataChannelDescriptorLoader;
private final DataChannelMetaData metaData;
+ private boolean hasChanges;
+ private FiltersConfig filters;
+ private Collection<MergerToken> tokens;
+ private DataMap loadedDataMap;
public DefaultDbImportAction(@Inject Logger logger,
@Inject ProjectSaver projectSaver,
@@ -140,13 +144,28 @@ public class DefaultDbImportAction implements DbImportAction {
@Override
public void execute(DbImportConfiguration config) throws Exception {
+ commit(config, loadDataMap(config));
+ }
+
+ protected void commit(DbImportConfiguration config, DataMap sourceDataMap) throws Exception{
+ if (hasChanges) {
+ DataMap targetDataMap = loadedDataMap;
+
+ syncDataMapProperties(targetDataMap, config);
+ applyTokens(targetDataMap, tokens, config);
+ syncProcedures(targetDataMap, sourceDataMap, filters);
+
+ saveLoaded(targetDataMap, config);
+ this.loadedDataMap = null;
+ }
+ }
+ protected DataMap loadDataMap(DbImportConfiguration config) throws Exception {
if (logger.isDebugEnabled()) {
logger.debug("DB connection: " + config.getDataSourceInfo());
logger.debug(String.valueOf(config));
}
- boolean hasChanges = false;
DataNodeDescriptor dataNodeDescriptor = config.createDataNodeDescriptor();
DataSource dataSource = dataSourceFactory.getDataSource(dataNodeDescriptor);
DbAdapter adapter = adapterFactory.createAdapter(dataNodeDescriptor, dataSource);
@@ -179,29 +198,30 @@ public class DefaultDbImportAction implements DbImportAction {
hasChanges = true;
targetDataMap = newTargetDataMap(config);
}
+ this.loadedDataMap = targetDataMap;
+ // In that moment our data map fills with sorce map
// transform source DataMap before merging
transformSourceBeforeMerge(sourceDataMap, targetDataMap, config);
MergerTokenFactory mergerTokenFactory = mergerTokenFactoryProvider.get(adapter);
DbLoaderConfiguration loaderConfig = config.getDbLoaderConfig();
- Collection<MergerToken> tokens = DataMapMerger.builder(mergerTokenFactory)
- .filters(loaderConfig.getFiltersConfig())
- .skipPKTokens(loaderConfig.isSkipPrimaryKeyLoading())
- .skipRelationshipsTokens(loaderConfig.isSkipRelationshipsLoading())
- .build()
- .createMergeTokens(targetDataMap, sourceDataMap);
+ tokens = DataMapMerger.builder(mergerTokenFactory)
+ .filters(loaderConfig.getFiltersConfig())
+ .skipPKTokens(loaderConfig.isSkipPrimaryKeyLoading())
+ .skipRelationshipsTokens(loaderConfig.isSkipRelationshipsLoading())
+ .build()
+ .createMergeTokens(targetDataMap, sourceDataMap);
tokens = log(sort(reverse(mergerTokenFactory, tokens)));
+ filters = loaderConfig.getFiltersConfig();
- hasChanges |= syncDataMapProperties(targetDataMap, config);
- hasChanges |= applyTokens(targetDataMap, tokens, config);
- hasChanges |= syncProcedures(targetDataMap, sourceDataMap, loaderConfig.getFiltersConfig());
-
- if (hasChanges) {
- saveLoaded(targetDataMap, config);
- }
+ hasChanges |= checkDataMapProperties(targetDataMap, config);
+ hasChanges |= hasTokensToImport(tokens);
+ hasChanges |= checkIncludedProcedures(sourceDataMap, filters);
+ return sourceDataMap;
}
+
private void putReverseEngineeringToConfig(ReverseEngineering reverseEngineering, DbImportConfiguration config) {
config.setSkipRelationshipsLoading(reverseEngineering.getSkipRelationshipsLoading());
config.setSkipPrimaryKeyLoading(reverseEngineering.getSkipPrimaryKeyLoading());
@@ -233,20 +253,54 @@ public class DefaultDbImportAction implements DbImportAction {
}
}
- private boolean syncDataMapProperties(DataMap targetDataMap, DbImportConfiguration config) {
+ public boolean hasTokensToImport(Collection<MergerToken> tokens) {
+
+ if (tokens.isEmpty()) {
+ logger.info("");
+ logger.info("Detected changes: No changes to import.");
+ return false;
+ }
+
+ return true;
+
+ }
+
+ private boolean checkDataMapProperties(DataMap targetDataMap, DbImportConfiguration config) {
String defaultPackage = config.getDefaultPackage();
if (defaultPackage == null || isBlank(defaultPackage)) {
return false;
}
- if (defaultPackage.equals(targetDataMap.getDefaultPackage())) {
+ if(!defaultPackage.equals(targetDataMap.getDefaultPackage())) {
return false;
}
- targetDataMap.setDefaultPackage(defaultPackage);
return true;
}
+ private boolean checkIncludedProcedures(DataMap loadedDataMap, FiltersConfig filters) {
+ Collection<Procedure> procedures = loadedDataMap.getProcedures();
+ boolean hasChanges = false;
+ for (Procedure procedure : procedures) {
+ PatternFilter proceduresFilter = filters.proceduresFilter(procedure.getCatalog(), procedure.getSchema());
+ if (proceduresFilter == null || !proceduresFilter.isIncluded(procedure.getName())) {
+ continue;
+ }
+ hasChanges = true;
+ }
+ return hasChanges;
+ }
+
+
+ private void syncDataMapProperties(DataMap targetDataMap, DbImportConfiguration config) {
+ String defaultPackage = config.getDefaultPackage();
+ if (defaultPackage == null || isBlank(defaultPackage)) {
+ return;
+ }
+
+ targetDataMap.setDefaultPackage(defaultPackage);
+ }
+
private void relationshipsSanity(DataMap executed) {
for (ObjEntity objEntity : executed.getObjEntities()) {
List<ObjRelationship> rels = new LinkedList<>(objEntity.getRelationships());
@@ -284,7 +338,6 @@ public class DefaultDbImportAction implements DbImportAction {
DataMap dataMap = mapLoader.load(configurationResource);
dataMap.setNamespace(new EntityResolver(Collections.singleton(dataMap)));
dataMap.setConfigurationSource(configurationResource);
-
return dataMap;
}
@@ -343,12 +396,11 @@ public class DefaultDbImportAction implements DbImportAction {
return tokens;
}
- private boolean applyTokens(DataMap targetDataMap, Collection<MergerToken> tokens, DbImportConfiguration config) {
+ private void applyTokens(DataMap targetDataMap, Collection<MergerToken> tokens, DbImportConfiguration config) {
if (tokens.isEmpty()) {
logger.info("");
logger.info("Detected changes: No changes to import.");
- return false;
}
final Collection<ObjEntity> loadedObjEntities = new LinkedList<>();
@@ -394,7 +446,6 @@ public class DefaultDbImportAction implements DbImportAction {
flattenManyToManyRelationships(targetDataMap, loadedObjEntities, nameGenerator);
relationshipsSanity(targetDataMap);
- return true;
}
protected void addMessageToLogs(String message, List<String> messages) {
@@ -405,11 +456,11 @@ public class DefaultDbImportAction implements DbImportAction {
messages.forEach(logger::info);
}
- protected boolean syncProcedures(DataMap targetDataMap, DataMap loadedDataMap, FiltersConfig filters) {
+
+ protected void syncProcedures(DataMap targetDataMap, DataMap loadedDataMap, FiltersConfig filters) {
Collection<Procedure> procedures = loadedDataMap.getProcedures();
List<String> messages = new LinkedList<>();
- boolean hasChanges = false;
for (Procedure procedure : procedures) {
PatternFilter proceduresFilter = filters.proceduresFilter(procedure.getCatalog(), procedure.getSchema());
if (proceduresFilter == null || !proceduresFilter.isIncluded(procedure.getName())) {
@@ -425,10 +476,8 @@ public class DefaultDbImportAction implements DbImportAction {
addMessageToLogs("Add new procedure " + procedure.getName(), messages);
}
targetDataMap.addProcedure(procedure);
- hasChanges = true;
}
logMessages(messages);
- return hasChanges;
}
/**
http://git-wip-us.apache.org/repos/asf/cayenne/blob/b9d9378a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/DbLoadResultDialog.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/DbLoadResultDialog.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/DbLoadResultDialog.java
index 9d44bf5..007a2e6 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/DbLoadResultDialog.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/DbLoadResultDialog.java
@@ -42,6 +42,7 @@ public class DbLoadResultDialog extends JDialog {
private DefaultTableModel tableModel;
private JTable table;
private JButton okButton;
+ private JButton revertButton;
private String title;
DbLoadResultDialog(String title) {
@@ -73,8 +74,8 @@ public class DbLoadResultDialog extends JDialog {
table.setRowHeight(TABLE_ROW_HIGH);
table.setRowMargin(TABLE_ROW_MARGIN);
tableModel.addColumn("");
+ revertButton = new JButton("Revert");
okButton = new JButton("OK");
- okButton.addActionListener(e -> DbLoadResultDialog.this.setVisible(false));
}
private void buildElements() {
@@ -85,6 +86,7 @@ public class DbLoadResultDialog extends JDialog {
builder.append(new JScrollPane(table, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_NEVER));
JPanel panel = new JPanel(new FlowLayout(FlowLayout.RIGHT));
+ panel.add(revertButton);
panel.add(okButton);
builder.append(panel);
this.add(builder.getPanel());
@@ -97,4 +99,12 @@ public class DbLoadResultDialog extends JDialog {
public int getTableRowCount() {
return tableModel.getRowCount();
}
+
+ public JButton getOkButton() {
+ return okButton;
+ }
+
+ public JButton getRevertButton() {
+ return revertButton;
+ }
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/b9d9378a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/ModelerDbImportAction.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/ModelerDbImportAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/ModelerDbImportAction.java
index 22924ac..be83445 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/ModelerDbImportAction.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/ModelerDbImportAction.java
@@ -19,6 +19,7 @@
package org.apache.cayenne.modeler.dialog.db.load;
+import org.apache.cayenne.CayenneRuntimeException;
import org.apache.cayenne.configuration.DataChannelDescriptorLoader;
import org.apache.cayenne.configuration.DataMapLoader;
import org.apache.cayenne.configuration.server.DataSourceFactory;
@@ -31,6 +32,7 @@ import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.project.ProjectSaver;
import org.apache.cayenne.dbsync.reverse.dbimport.DbImportConfiguration;
import org.apache.cayenne.dbsync.reverse.dbimport.DefaultDbImportAction;
+import org.apache.commons.lang3.SerializationUtils;
import org.slf4j.Logger;
import javax.swing.JDialog;
@@ -46,6 +48,10 @@ public class ModelerDbImportAction extends DefaultDbImportAction {
@Inject
private DataMap targetMap;
+ DataMap sourceDataMap;
+ DbImportConfiguration config;
+ DbImportConfiguration tmpConfig;
+
private DbLoadResultDialog resultDialog;
private boolean isNothingChanged;
@@ -61,6 +67,17 @@ public class ModelerDbImportAction extends DefaultDbImportAction {
}
@Override
+ public void execute(DbImportConfiguration config) throws Exception {
+ this.config = config;
+ this.sourceDataMap = loadDataMap(config);
+ }
+
+
+ public void commit() throws Exception {
+ commit(config, sourceDataMap);
+ }
+
+ @Override
protected Collection<MergerToken> log(List<MergerToken> tokens) {
resultDialog = new DbLoadResultDialog(DIALOG_TITLE);
logger.info("");
@@ -79,8 +96,18 @@ public class ModelerDbImportAction extends DefaultDbImportAction {
}
logger.info("");
- resultDialog.setVisible(true);
+ resultDialog.getOkButton().addActionListener(e -> {
+ try {
+ commit();
+ } catch (Exception ex) {
+ throw new CayenneRuntimeException("Nothing to commit.");
+ } finally {
+ resultDialog.setVisible(false);
+ }
+ });
+ resultDialog.getRevertButton().addActionListener(e -> resultDialog.setVisible(false));
+ resultDialog.setVisible(true);
return tokens;
}
[5/5] cayenne git commit: Cleanup
Posted by nt...@apache.org.
Cleanup
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/9451c9a8
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/9451c9a8
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/9451c9a8
Branch: refs/heads/master
Commit: 9451c9a8339971d1ba0877d1867efb1982eb37e3
Parents: dd5c8fc
Author: Nikita Timofeev <st...@gmail.com>
Authored: Mon Nov 5 17:26:58 2018 +0300
Committer: Nikita Timofeev <st...@gmail.com>
Committed: Mon Nov 5 17:26:58 2018 +0300
----------------------------------------------------------------------
.../cayenne/modeler/dialog/db/load/ModelerDbImportAction.java | 2 --
1 file changed, 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cayenne/blob/9451c9a8/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/ModelerDbImportAction.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/ModelerDbImportAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/ModelerDbImportAction.java
index be83445..0c5c729 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/ModelerDbImportAction.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/ModelerDbImportAction.java
@@ -32,7 +32,6 @@ import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.project.ProjectSaver;
import org.apache.cayenne.dbsync.reverse.dbimport.DbImportConfiguration;
import org.apache.cayenne.dbsync.reverse.dbimport.DefaultDbImportAction;
-import org.apache.commons.lang3.SerializationUtils;
import org.slf4j.Logger;
import javax.swing.JDialog;
@@ -50,7 +49,6 @@ public class ModelerDbImportAction extends DefaultDbImportAction {
DataMap sourceDataMap;
DbImportConfiguration config;
- DbImportConfiguration tmpConfig;
private DbLoadResultDialog resultDialog;
private boolean isNothingChanged;
[2/5] cayenne git commit: Prevent refresh reverse engineering tab on
data map focus.
Posted by nt...@apache.org.
Prevent refresh reverse engineering tab on data map focus.
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/62bf6c4f
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/62bf6c4f
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/62bf6c4f
Branch: refs/heads/master
Commit: 62bf6c4f914da4ef1714217ca122f82f4efbcd19
Parents: b9d9378
Author: kkomyak <co...@gmail.com>
Authored: Thu Nov 1 16:47:52 2018 +0300
Committer: kkomyak <co...@gmail.com>
Committed: Thu Nov 1 16:47:52 2018 +0300
----------------------------------------------------------------------
.../reverse/dbimport/DefaultDbImportAction.java | 3 +-
.../modeler/editor/dbimport/DbImportView.java | 50 +++++++++++++-------
2 files changed, 34 insertions(+), 19 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cayenne/blob/62bf6c4f/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbimport/DefaultDbImportAction.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbimport/DefaultDbImportAction.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbimport/DefaultDbImportAction.java
index e6b6e61..d0884cc 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbimport/DefaultDbImportAction.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbimport/DefaultDbImportAction.java
@@ -147,7 +147,7 @@ public class DefaultDbImportAction implements DbImportAction {
commit(config, loadDataMap(config));
}
- protected void commit(DbImportConfiguration config, DataMap sourceDataMap) throws Exception{
+ protected void commit(DbImportConfiguration config, DataMap sourceDataMap) throws Exception {
if (hasChanges) {
DataMap targetDataMap = loadedDataMap;
@@ -157,6 +157,7 @@ public class DefaultDbImportAction implements DbImportAction {
saveLoaded(targetDataMap, config);
this.loadedDataMap = null;
+ this.hasChanges = false;
}
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/62bf6c4f/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/DbImportView.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/DbImportView.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/DbImportView.java
index 3f0bb3b..f5e97b2 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/DbImportView.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/DbImportView.java
@@ -33,6 +33,8 @@ import org.apache.cayenne.modeler.util.CayenneAction;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JProgressBar;
+import javax.swing.event.AncestorEvent;
+import javax.swing.event.AncestorListener;
import java.awt.BorderLayout;
/**
@@ -65,25 +67,37 @@ public class DbImportView extends JPanel {
}
private void initListeners() {
- projectController.addDataMapDisplayListener(e -> {
- DataMap map = e.getDataMap();
- treePanel.getReverseEngineeringTree().stopEditing();
- if (map != null) {
- treeToolbar.unlockButtons();
- ReverseEngineering reverseEngineering = DbImportView.this.projectController.getApplication().
- getMetaData().get(map, ReverseEngineering.class);
- if (reverseEngineering == null) {
- reverseEngineering = new ReverseEngineering();
- DbImportView.this.projectController.getApplication().getMetaData().add(map, reverseEngineering);
+
+ treePanel.addAncestorListener(new AncestorListener() {
+ @Override
+ public void ancestorAdded(AncestorEvent evPent) {
+ DataMap map = projectController.getCurrentDataMap();
+ treePanel.getReverseEngineeringTree().stopEditing();
+ if (map != null) {
+ treeToolbar.unlockButtons();
+ ReverseEngineering reverseEngineering = DbImportView.this.projectController.getApplication().
+ getMetaData().get(map, ReverseEngineering.class);
+ if (reverseEngineering == null) {
+ reverseEngineering = new ReverseEngineering();
+ DbImportView.this.projectController.getApplication().getMetaData().add(map, reverseEngineering);
+ }
+ configPanel.fillCheckboxes(reverseEngineering);
+ configPanel.initializeTextFields(reverseEngineering);
+ treePanel.updateTree();
+ DbImportTreeNode root = draggableTreePanel.getSourceTree().getRootNode();
+ root.removeAllChildren();
+ draggableTreePanel.updateTree(projectController.getCurrentDataMap());
+ draggableTreePanel.getMoveButton().setEnabled(false);
+ draggableTreePanel.getMoveInvertButton().setEnabled(false);
}
- configPanel.fillCheckboxes(reverseEngineering);
- configPanel.initializeTextFields(reverseEngineering);
- treePanel.updateTree();
- DbImportTreeNode root = draggableTreePanel.getSourceTree().getRootNode();
- root.removeAllChildren();
- draggableTreePanel.updateTree(projectController.getCurrentDataMap());
- draggableTreePanel.getMoveButton().setEnabled(false);
- draggableTreePanel.getMoveInvertButton().setEnabled(false);
+ }
+
+ @Override
+ public void ancestorRemoved(AncestorEvent event) {
+ }
+
+ @Override
+ public void ancestorMoved(AncestorEvent event) {
}
});
}
[4/5] cayenne git commit: Merge PR #338
Posted by nt...@apache.org.
Merge PR #338
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/dd5c8fcc
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/dd5c8fcc
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/dd5c8fcc
Branch: refs/heads/master
Commit: dd5c8fcc37eb4ed25e2a143a37f09c6365686529
Parents: 50d04b3 ff95457
Author: Nikita Timofeev <st...@gmail.com>
Authored: Mon Nov 5 17:26:25 2018 +0300
Committer: Nikita Timofeev <st...@gmail.com>
Committed: Mon Nov 5 17:26:25 2018 +0300
----------------------------------------------------------------------
.../reverse/dbimport/DefaultDbImportAction.java | 100 ++++++++++++++-----
.../dialog/db/load/DbLoadResultDialog.java | 12 ++-
.../dialog/db/load/ModelerDbImportAction.java | 29 +++++-
.../modeler/editor/DataMapTabbedView.java | 23 ++++-
.../modeler/editor/dbimport/DbImportView.java | 48 ++++-----
5 files changed, 155 insertions(+), 57 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cayenne/blob/dd5c8fcc/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/DataMapTabbedView.java
----------------------------------------------------------------------
diff --cc modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/DataMapTabbedView.java
index b89b1c2,2cf6931..e137df5
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/DataMapTabbedView.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/DataMapTabbedView.java
@@@ -52,10 -55,23 +54,23 @@@ public class DataMapTabbedView extends
// add panels to tabs
// note that those panels that have no internal scrollable tables
// must be wrapped in a scroll pane
- JScrollPane dataMapView = new JScrollPane(new DataMapView(mediator));
- JScrollPane dbImportView = new JScrollPane(new DbImportView(mediator));
- addTab("DataMap", dataMapView);
- addTab("DB Import", dbImportView);
+ JScrollPane dataMapScrollPane = new JScrollPane(new DataMapView(mediator));
+ dbImportView1 = new DbImportView(mediator);
+ JScrollPane dbImportScrollPane = new JScrollPane(dbImportView1);
+ addTab("DataMap", dataMapScrollPane);
- addTab("DbImport", dbImportScrollPane);
++ addTab("DB Import", dbImportScrollPane);
+ addChangeListener(e -> {
+ lastSelectionIndex = getSelectedIndex();
+ updateTabs();
+ });
+ }
+
+ private void updateTabs() {
+ switch (lastSelectionIndex) {
+ case 1:
+ dbImportView1.initFromModel();
+ break;
+ }
}
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/dd5c8fcc/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/DbImportView.java
----------------------------------------------------------------------
diff --cc modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/DbImportView.java
index aacb1a4,65641fc..d74cb34
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/DbImportView.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/DbImportView.java
@@@ -207,10 -149,30 +181,32 @@@ public class DbImportView extends JPane
setReverseEngineeringTree(reverseEngineeringTree);
configPanel = new ReverseEngineeringConfigPanel(projectController);
+ configPanel.setLayout(new FlowLayout(FlowLayout.LEFT));
+ configPanel.setVisible(false);
}
+ public void initFromModel() {
+ DataMap map = projectController.getCurrentDataMap();
+ treePanel.getReverseEngineeringTree().stopEditing();
+ if (map != null) {
+ treeToolbar.unlockButtons();
+ ReverseEngineering reverseEngineering = DbImportView.this.projectController.getApplication().
+ getMetaData().get(map, ReverseEngineering.class);
+ if (reverseEngineering == null) {
+ reverseEngineering = new ReverseEngineering();
+ DbImportView.this.projectController.getApplication().getMetaData().add(map, reverseEngineering);
+ }
+ configPanel.fillCheckboxes(reverseEngineering);
+ configPanel.initializeTextFields(reverseEngineering);
+ treePanel.updateTree();
+ DbImportTreeNode root = draggableTreePanel.getSourceTree().getRootNode();
+ root.removeAllChildren();
+ draggableTreePanel.updateTree(projectController.getCurrentDataMap());
+ draggableTreePanel.getMoveButton().setEnabled(false);
+ draggableTreePanel.getMoveInvertButton().setEnabled(false);
+ }
+ }
+
public boolean isSkipRelationshipsLoading() {
return configPanel.getSkipRelationshipsLoading().isSelected();
}
[3/5] cayenne git commit: Change listener to change listener on
tabbed view.
Posted by nt...@apache.org.
Change listener to change listener on tabbed view.
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/ff95457b
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/ff95457b
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/ff95457b
Branch: refs/heads/master
Commit: ff95457be3b409f44eb52a0b225297b92c15142d
Parents: 62bf6c4
Author: kkomyak <co...@gmail.com>
Authored: Fri Nov 2 15:11:43 2018 +0300
Committer: kkomyak <co...@gmail.com>
Committed: Fri Nov 2 15:31:06 2018 +0300
----------------------------------------------------------------------
.../modeler/editor/DataMapTabbedView.java | 23 ++++++--
.../modeler/editor/dbimport/DbImportView.java | 62 +++++++-------------
2 files changed, 41 insertions(+), 44 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cayenne/blob/ff95457b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/DataMapTabbedView.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/DataMapTabbedView.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/DataMapTabbedView.java
index ed1b6f1..2cf6931 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/DataMapTabbedView.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/DataMapTabbedView.java
@@ -31,6 +31,8 @@ import org.apache.cayenne.modeler.editor.dbimport.DbImportView;
*/
public class DataMapTabbedView extends JTabbedPane {
ProjectController mediator;
+ private int lastSelectionIndex;
+ private DbImportView dbImportView1;
/**
* constructor
@@ -53,10 +55,23 @@ public class DataMapTabbedView extends JTabbedPane {
// add panels to tabs
// note that those panels that have no internal scrollable tables
// must be wrapped in a scroll pane
- JScrollPane dataMapView = new JScrollPane(new DataMapView(mediator));
- JScrollPane dbImportView = new JScrollPane(new DbImportView(mediator));
- addTab("DataMap", dataMapView);
- addTab("DbImport", dbImportView);
+ JScrollPane dataMapScrollPane = new JScrollPane(new DataMapView(mediator));
+ dbImportView1 = new DbImportView(mediator);
+ JScrollPane dbImportScrollPane = new JScrollPane(dbImportView1);
+ addTab("DataMap", dataMapScrollPane);
+ addTab("DbImport", dbImportScrollPane);
+ addChangeListener(e -> {
+ lastSelectionIndex = getSelectedIndex();
+ updateTabs();
+ });
+ }
+
+ private void updateTabs() {
+ switch (lastSelectionIndex) {
+ case 1:
+ dbImportView1.initFromModel();
+ break;
+ }
}
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/ff95457b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/DbImportView.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/DbImportView.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/DbImportView.java
index f5e97b2..65641fc 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/DbImportView.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/DbImportView.java
@@ -16,7 +16,6 @@
* specific language governing permissions and limitations
* under the License.
****************************************************************/
-
package org.apache.cayenne.modeler.editor.dbimport;
import com.jgoodies.forms.builder.DefaultFormBuilder;
@@ -33,8 +32,6 @@ import org.apache.cayenne.modeler.util.CayenneAction;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JProgressBar;
-import javax.swing.event.AncestorEvent;
-import javax.swing.event.AncestorListener;
import java.awt.BorderLayout;
/**
@@ -61,47 +58,10 @@ public class DbImportView extends JPanel {
public DbImportView(ProjectController projectController) {
this.projectController = projectController;
initFormElements();
- initListeners();
buildForm();
draggableTreePanel.getSourceTree().repaint();
}
- private void initListeners() {
-
- treePanel.addAncestorListener(new AncestorListener() {
- @Override
- public void ancestorAdded(AncestorEvent evPent) {
- DataMap map = projectController.getCurrentDataMap();
- treePanel.getReverseEngineeringTree().stopEditing();
- if (map != null) {
- treeToolbar.unlockButtons();
- ReverseEngineering reverseEngineering = DbImportView.this.projectController.getApplication().
- getMetaData().get(map, ReverseEngineering.class);
- if (reverseEngineering == null) {
- reverseEngineering = new ReverseEngineering();
- DbImportView.this.projectController.getApplication().getMetaData().add(map, reverseEngineering);
- }
- configPanel.fillCheckboxes(reverseEngineering);
- configPanel.initializeTextFields(reverseEngineering);
- treePanel.updateTree();
- DbImportTreeNode root = draggableTreePanel.getSourceTree().getRootNode();
- root.removeAllChildren();
- draggableTreePanel.updateTree(projectController.getCurrentDataMap());
- draggableTreePanel.getMoveButton().setEnabled(false);
- draggableTreePanel.getMoveInvertButton().setEnabled(false);
- }
- }
-
- @Override
- public void ancestorRemoved(AncestorEvent event) {
- }
-
- @Override
- public void ancestorMoved(AncestorEvent event) {
- }
- });
- }
-
private void buildForm() {
FormLayout buttonPanelLayout = new FormLayout(BUTTON_PANEL_LAYOUT);
DefaultFormBuilder buttonBuilder = new DefaultFormBuilder(buttonPanelLayout);
@@ -191,6 +151,28 @@ public class DbImportView extends JPanel {
configPanel = new ReverseEngineeringConfigPanel(projectController);
}
+ public void initFromModel() {
+ DataMap map = projectController.getCurrentDataMap();
+ treePanel.getReverseEngineeringTree().stopEditing();
+ if (map != null) {
+ treeToolbar.unlockButtons();
+ ReverseEngineering reverseEngineering = DbImportView.this.projectController.getApplication().
+ getMetaData().get(map, ReverseEngineering.class);
+ if (reverseEngineering == null) {
+ reverseEngineering = new ReverseEngineering();
+ DbImportView.this.projectController.getApplication().getMetaData().add(map, reverseEngineering);
+ }
+ configPanel.fillCheckboxes(reverseEngineering);
+ configPanel.initializeTextFields(reverseEngineering);
+ treePanel.updateTree();
+ DbImportTreeNode root = draggableTreePanel.getSourceTree().getRootNode();
+ root.removeAllChildren();
+ draggableTreePanel.updateTree(projectController.getCurrentDataMap());
+ draggableTreePanel.getMoveButton().setEnabled(false);
+ draggableTreePanel.getMoveInvertButton().setEnabled(false);
+ }
+ }
+
public boolean isSkipRelationshipsLoading() {
return configPanel.getSkipRelationshipsLoading().isSelected();
}