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 2017/12/07 13:07:13 UTC
[7/7] cayenne git commit: CAY-2388 unify Obj and DbEntity actions
CAY-2388 unify Obj and DbEntity actions
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/e0b9ebec
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/e0b9ebec
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/e0b9ebec
Branch: refs/heads/master
Commit: e0b9ebecc873a17baccba9f0e850dfdaddbdbfec
Parents: c98ec81
Author: Nikita Timofeev <st...@gmail.com>
Authored: Thu Dec 7 16:05:13 2017 +0300
Committer: Nikita Timofeev <st...@gmail.com>
Committed: Thu Dec 7 16:05:13 2017 +0300
----------------------------------------------------------------------
.../modeler/action/BaseViewEntityAction.java | 41 +++++++----------
.../action/DbEntityCounterpartAction.java | 47 ++++----------------
.../action/ObjEntityCounterpartAction.java | 22 +++------
.../action/ObjEntityToSuperEntityAction.java | 7 ++-
.../undo/BaseRemovePropertyUndoableEdit.java | 5 +--
5 files changed, 38 insertions(+), 84 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cayenne/blob/e0b9ebec/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/BaseViewEntityAction.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/BaseViewEntityAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/BaseViewEntityAction.java
index be4f26b..091c6dc 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/BaseViewEntityAction.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/BaseViewEntityAction.java
@@ -24,7 +24,6 @@ import org.apache.cayenne.map.DbEntity;
import org.apache.cayenne.map.Entity;
import org.apache.cayenne.map.ObjEntity;
import org.apache.cayenne.modeler.Application;
-import org.apache.cayenne.modeler.ProjectController;
import org.apache.cayenne.modeler.event.EntityDisplayEvent;
import org.apache.cayenne.modeler.util.CayenneAction;
@@ -34,9 +33,7 @@ import java.awt.event.ActionEvent;
/**
* @since 4.0
*/
-public abstract class BaseViewEntityAction extends CayenneAction{
-
- protected ObjEntity objEntity;
+public abstract class BaseViewEntityAction extends CayenneAction {
abstract protected Entity getEntity();
@@ -53,31 +50,25 @@ public abstract class BaseViewEntityAction extends CayenneAction{
}
protected void viewEntity() {
- ProjectController mediator = getProjectController();
-
- objEntity = mediator.getCurrentObjEntity();
-
- if (objEntity == null) {
- return;
- }
-
Entity entity = getEntity();
-
if(entity != null) {
- TreePath path = DbEntityCounterpartAction.buildTreePath(entity);
- DbEntityCounterpartAction.editor().getProjectTreeView().getSelectionModel().setSelectionPath(path);
+ navigateToEntity(entity);
+ }
+ }
- EntityDisplayEvent event = new EntityDisplayEvent(
- DbEntityCounterpartAction.editor().getProjectTreeView(),
- entity,
- entity.getDataMap(),
- (DataChannelDescriptor) getProjectController().getProject().getRootNode());
+ public void navigateToEntity(Entity entity) {
+ TreePath path = buildTreePath(entity);
+ editor().getProjectTreeView().getSelectionModel().setSelectionPath(path);
- if (entity instanceof DbEntity) {
- mediator.fireDbEntityDisplayEvent(event);
- } else if (entity instanceof ObjEntity){
- mediator.fireObjEntityDisplayEvent(event);
- }
+ EntityDisplayEvent event = new EntityDisplayEvent(
+ editor().getProjectTreeView(),
+ entity,
+ entity.getDataMap(),
+ (DataChannelDescriptor) getProjectController().getProject().getRootNode());
+ if (entity instanceof DbEntity) {
+ getProjectController().fireDbEntityDisplayEvent(event);
+ } else if (entity instanceof ObjEntity){
+ getProjectController().fireObjEntityDisplayEvent(event);
}
}
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/e0b9ebec/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/DbEntityCounterpartAction.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/DbEntityCounterpartAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/DbEntityCounterpartAction.java
index adb586b..700b951 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/DbEntityCounterpartAction.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/DbEntityCounterpartAction.java
@@ -19,20 +19,14 @@
package org.apache.cayenne.modeler.action;
-import java.awt.event.ActionEvent;
import java.util.Iterator;
-import javax.swing.tree.TreePath;
-
-import org.apache.cayenne.configuration.DataChannelDescriptor;
import org.apache.cayenne.map.DbEntity;
+import org.apache.cayenne.map.Entity;
import org.apache.cayenne.map.ObjEntity;
import org.apache.cayenne.modeler.Application;
-import org.apache.cayenne.modeler.ProjectController;
-import org.apache.cayenne.modeler.event.EntityDisplayEvent;
-import org.apache.cayenne.modeler.util.CayenneAction;
-public class DbEntityCounterpartAction extends CayenneAction {
+public class DbEntityCounterpartAction extends BaseViewEntityAction {
public static String getActionName() {
return "View related ObjEntity";
@@ -46,42 +40,19 @@ public class DbEntityCounterpartAction extends CayenneAction {
return "icon-move_up.png";
}
- /**
- * @see org.apache.cayenne.modeler.util.CayenneAction#performAction(ActionEvent)
- */
- public void performAction(ActionEvent e) {
- viewCounterpartEntity();
- }
-
- protected void viewCounterpartEntity() {
- ProjectController mediator = getProjectController();
-
- DbEntity dbEntity = mediator.getCurrentDbEntity();
-
+ @Override
+ protected Entity getEntity() {
+ DbEntity dbEntity = getProjectController().getCurrentDbEntity();
if (dbEntity == null) {
- return;
+ return null;
}
-
+
Iterator<ObjEntity> it = dbEntity.getDataMap().getMappedEntities(dbEntity).iterator();
if (!it.hasNext()) {
- return;
+ return null;
}
- ObjEntity entity = it.next();
- viewCounterpartEntity(entity);
+ return it.next();
}
- public void viewCounterpartEntity(ObjEntity entity) {
- TreePath path = buildTreePath(entity);
- editor().getProjectTreeView().getSelectionModel().setSelectionPath(path);
-
- EntityDisplayEvent event = new EntityDisplayEvent(
- editor().getProjectTreeView(),
- entity,
- entity.getDataMap(),
- (DataChannelDescriptor) getProjectController().getProject().getRootNode());
- getProjectController().fireObjEntityDisplayEvent(event);
- }
-
-
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/e0b9ebec/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ObjEntityCounterpartAction.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ObjEntityCounterpartAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ObjEntityCounterpartAction.java
index ec04a22..615ff93 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ObjEntityCounterpartAction.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ObjEntityCounterpartAction.java
@@ -19,13 +19,9 @@
package org.apache.cayenne.modeler.action;
-import javax.swing.tree.TreePath;
-
-import org.apache.cayenne.configuration.DataChannelDescriptor;
-import org.apache.cayenne.map.DbEntity;
import org.apache.cayenne.map.Entity;
+import org.apache.cayenne.map.ObjEntity;
import org.apache.cayenne.modeler.Application;
-import org.apache.cayenne.modeler.event.EntityDisplayEvent;
public class ObjEntityCounterpartAction extends BaseViewEntityAction {
@@ -43,19 +39,11 @@ public class ObjEntityCounterpartAction extends BaseViewEntityAction {
@Override
protected Entity getEntity() {
+ ObjEntity objEntity = getProjectController().getCurrentObjEntity();
+ if (objEntity == null) {
+ return null;
+ }
return objEntity.getDbEntity();
}
- public void viewCounterpartObject(DbEntity entity) {
- TreePath path = buildTreePath(entity);
- editor().getProjectTreeView().getSelectionModel().setSelectionPath(path);
-
- EntityDisplayEvent event = new EntityDisplayEvent(
- editor().getProjectTreeView(),
- entity,
- entity.getDataMap(),
- (DataChannelDescriptor) getProjectController().getProject().getRootNode());
- getProjectController().fireDbEntityDisplayEvent(event);
- }
-
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/e0b9ebec/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ObjEntityToSuperEntityAction.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ObjEntityToSuperEntityAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ObjEntityToSuperEntityAction.java
index eb0b839..16550ee 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ObjEntityToSuperEntityAction.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ObjEntityToSuperEntityAction.java
@@ -20,6 +20,7 @@
package org.apache.cayenne.modeler.action;
import org.apache.cayenne.map.Entity;
+import org.apache.cayenne.map.ObjEntity;
import org.apache.cayenne.modeler.Application;
/**
@@ -37,6 +38,10 @@ public class ObjEntityToSuperEntityAction extends BaseViewEntityAction {
@Override
protected Entity getEntity() {
- return super.objEntity.getSuperEntity();
+ ObjEntity objEntity = getProjectController().getCurrentObjEntity();
+ if (objEntity == null) {
+ return null;
+ }
+ return objEntity.getSuperEntity();
}
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/e0b9ebec/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/undo/BaseRemovePropertyUndoableEdit.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/undo/BaseRemovePropertyUndoableEdit.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/undo/BaseRemovePropertyUndoableEdit.java
index 69fc0a2..30a9270 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/undo/BaseRemovePropertyUndoableEdit.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/undo/BaseRemovePropertyUndoableEdit.java
@@ -23,7 +23,6 @@ import org.apache.cayenne.configuration.DataChannelDescriptor;
import org.apache.cayenne.map.DbEntity;
import org.apache.cayenne.map.Embeddable;
import org.apache.cayenne.map.ObjEntity;
-import org.apache.cayenne.modeler.action.DbEntityCounterpartAction;
import org.apache.cayenne.modeler.action.ObjEntityCounterpartAction;
import org.apache.cayenne.modeler.event.EmbeddableDisplayEvent;
@@ -37,11 +36,11 @@ public abstract class BaseRemovePropertyUndoableEdit extends CayenneUndoableEdit
protected Embeddable embeddable;
protected void focusObjEntity(){
- actionManager.getAction(DbEntityCounterpartAction.class).viewCounterpartEntity(objEntity);
+ actionManager.getAction(ObjEntityCounterpartAction.class).navigateToEntity(objEntity);
}
protected void focusDBEntity(){
- actionManager.getAction(ObjEntityCounterpartAction.class).viewCounterpartObject(dbEntity);
+ actionManager.getAction(ObjEntityCounterpartAction.class).navigateToEntity(dbEntity);
}
protected void focusEmbeddable() {