You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by ol...@apache.org on 2010/03/17 14:11:41 UTC
svn commit: r924267 [2/2] - in /cayenne/main/trunk/framework:
cayenne-modeler/src/main/java/org/apache/cayenne/modeler/
cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/
cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ ca...
Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/RemoveAction.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/RemoveAction.java?rev=924267&r1=924266&r2=924267&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/RemoveAction.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/RemoveAction.java Wed Mar 17 13:11:38 2010
@@ -32,6 +32,7 @@ import org.apache.cayenne.configuration.
import org.apache.cayenne.configuration.event.DataNodeEvent;
import org.apache.cayenne.configuration.event.ProcedureEvent;
import org.apache.cayenne.configuration.event.QueryEvent;
+import org.apache.cayenne.configuration.ConfigurationNode;
import org.apache.cayenne.configuration.DataChannelDescriptor;
import org.apache.cayenne.configuration.DataNodeDescriptor;
import org.apache.cayenne.map.Attribute;
@@ -53,7 +54,6 @@ import org.apache.cayenne.modeler.dialog
import org.apache.cayenne.modeler.undo.RemoveCompoundUndoableEdit;
import org.apache.cayenne.modeler.undo.RemoveUndoableEdit;
import org.apache.cayenne.modeler.util.CayenneAction;
-import org.apache.cayenne.project.ProjectPath;
import org.apache.cayenne.query.AbstractQuery;
import org.apache.cayenne.query.Query;
@@ -63,7 +63,6 @@ import org.apache.cayenne.query.Query;
*/
public class RemoveAction extends CayenneAction {
-
public static String getActionName() {
return "Remove";
}
@@ -181,11 +180,9 @@ public class RemoveAction extends Cayenn
}
else {
// Not under Data Node, remove completely
- application
- .getUndoManager()
- .addEdit(
- new RemoveUndoableEdit(application, mediator
- .getCurrentDataMap()));
+ application.getUndoManager().addEdit(
+ new RemoveUndoableEdit(application, mediator
+ .getCurrentDataMap()));
removeDataMap(mediator.getCurrentDataMap());
@@ -194,21 +191,23 @@ public class RemoveAction extends Cayenn
}
else if (mediator.getCurrentDataNode() != null) {
if (dialog.shouldDelete("data node", mediator.getCurrentDataNode().getName())) {
- application.getUndoManager().addEdit(
- new RemoveUndoableEdit(application, mediator.getCurrentDataNode()));
+ application
+ .getUndoManager()
+ .addEdit(
+ new RemoveUndoableEdit(application, mediator
+ .getCurrentDataNode()));
- removeDataNode(mediator
- .getCurrentDataNode());
+ removeDataNode(mediator.getCurrentDataNode());
}
}
else if (mediator.getCurrentPaths() != null) { // multiple deletion
if (dialog.shouldDelete("selected objects")) {
- ProjectPath[] paths = mediator.getCurrentPaths();
+ Object[] paths = mediator.getCurrentPaths();
CompoundEdit compoundEdit = new RemoveCompoundUndoableEdit();
- for (ProjectPath path : paths) {
+ for (Object path : paths) {
compoundEdit.addEdit(removeLastPathComponent(path));
}
@@ -221,9 +220,11 @@ public class RemoveAction extends Cayenn
public void removeDataMap(DataMap map) {
ProjectController mediator = getProjectController();
- DataChannelDescriptor domain = (DataChannelDescriptor)mediator.getProject().getRootNode();
+ DataChannelDescriptor domain = (DataChannelDescriptor) mediator
+ .getProject()
+ .getRootNode();
DataMapEvent e = new DataMapEvent(Application.getFrame(), map, MapEvent.REMOVE);
- e.setDomain((DataChannelDescriptor)mediator.getProject().getRootNode());
+ e.setDomain((DataChannelDescriptor) mediator.getProject().getRootNode());
domain.getDataMaps().remove(map);
mediator.fireDataMapEvent(e);
@@ -231,9 +232,11 @@ public class RemoveAction extends Cayenn
public void removeDataNode(DataNodeDescriptor node) {
ProjectController mediator = getProjectController();
- DataChannelDescriptor domain = (DataChannelDescriptor)mediator.getProject().getRootNode();
+ DataChannelDescriptor domain = (DataChannelDescriptor) mediator
+ .getProject()
+ .getRootNode();
DataNodeEvent e = new DataNodeEvent(Application.getFrame(), node, MapEvent.REMOVE);
- e.setDomain((DataChannelDescriptor)mediator.getProject().getRootNode());
+ e.setDomain((DataChannelDescriptor) mediator.getProject().getRootNode());
domain.getNodeDescriptors().remove(node);
mediator.fireDataNodeEvent(e);
@@ -246,7 +249,7 @@ public class RemoveAction extends Cayenn
ProjectController mediator = getProjectController();
EntityEvent e = new EntityEvent(Application.getFrame(), ent, MapEvent.REMOVE);
- e.setDomain((DataChannelDescriptor)mediator.getProject().getRootNode());
+ e.setDomain((DataChannelDescriptor) mediator.getProject().getRootNode());
map.removeDbEntity(ent.getName(), true);
mediator.fireDbEntityEvent(e);
@@ -259,7 +262,7 @@ public class RemoveAction extends Cayenn
ProjectController mediator = getProjectController();
QueryEvent e = new QueryEvent(Application.getFrame(), query, MapEvent.REMOVE, map);
- e.setDomain((DataChannelDescriptor)mediator.getProject().getRootNode());
+ e.setDomain((DataChannelDescriptor) mediator.getProject().getRootNode());
map.removeQuery(query.getName());
mediator.fireQueryEvent(e);
@@ -275,7 +278,7 @@ public class RemoveAction extends Cayenn
Application.getFrame(),
procedure,
MapEvent.REMOVE);
- e.setDomain((DataChannelDescriptor)mediator.getProject().getRootNode());
+ e.setDomain((DataChannelDescriptor) mediator.getProject().getRootNode());
map.removeProcedure(procedure.getName());
mediator.fireProcedureEvent(e);
@@ -288,7 +291,7 @@ public class RemoveAction extends Cayenn
ProjectController mediator = getProjectController();
EntityEvent e = new EntityEvent(Application.getFrame(), entity, MapEvent.REMOVE);
- e.setDomain((DataChannelDescriptor)mediator.getProject().getRootNode());
+ e.setDomain((DataChannelDescriptor) mediator.getProject().getRootNode());
map.removeObjEntity(entity.getName(), true);
mediator.fireObjEntityEvent(e);
@@ -301,11 +304,10 @@ public class RemoveAction extends Cayenn
if (query instanceof AbstractQuery) {
AbstractQuery next = (AbstractQuery) query;
Object root = next.getRoot();
-
+
if (root == entity
- || (root instanceof String && root
- .toString()
- .equals(entity.getName()))) {
+ || (root instanceof String && root.toString().equals(
+ entity.getName()))) {
removeQuery(map, next);
}
}
@@ -319,7 +321,7 @@ public class RemoveAction extends Cayenn
Application.getFrame(),
embeddable,
MapEvent.REMOVE);
- e.setDomain((DataChannelDescriptor)mediator.getProject().getRootNode());
+ e.setDomain((DataChannelDescriptor) mediator.getProject().getRootNode());
map.removeEmbeddable(embeddable.getClassName());
mediator.fireEmbeddableEvent(e, map);
@@ -329,7 +331,7 @@ public class RemoveAction extends Cayenn
ProjectController mediator = getProjectController();
DataNodeEvent e = new DataNodeEvent(Application.getFrame(), node);
- e.setDomain( (DataChannelDescriptor)mediator.getProject().getRootNode());
+ e.setDomain((DataChannelDescriptor) mediator.getProject().getRootNode());
node.getDataMapNames().remove(map.getName());
@@ -341,42 +343,39 @@ public class RemoveAction extends Cayenn
* Returns <code>true</code> if last object in the path contains a removable object.
*/
@Override
- public boolean enableForPath(ProjectPath path) {
- if (path == null) {
+ public boolean enableForPath(ConfigurationNode object) {
+ if (object == null) {
return false;
}
- Object lastObject = path.getObject();
-
- if (lastObject instanceof DataChannelDescriptor) {
+ if (object instanceof DataChannelDescriptor) {
return true;
}
- else
- if (lastObject instanceof DataMap) {
+ else if (object instanceof DataMap) {
return true;
}
- else if (lastObject instanceof DataNodeDescriptor) {
+ else if (object instanceof DataNodeDescriptor) {
return true;
}
- else if (lastObject instanceof Entity) {
+ else if (object instanceof Entity) {
return true;
}
- else if (lastObject instanceof Attribute) {
+ else if (object instanceof Attribute) {
return true;
}
- else if (lastObject instanceof Relationship) {
+ else if (object instanceof Relationship) {
return true;
}
- else if (lastObject instanceof Procedure) {
+ else if (object instanceof Procedure) {
return true;
}
- else if (lastObject instanceof ProcedureParameter) {
+ else if (object instanceof ProcedureParameter) {
return true;
}
- else if (lastObject instanceof Embeddable) {
+ else if (object instanceof Embeddable) {
return true;
}
- else if (lastObject instanceof EmbeddableAttribute) {
+ else if (object instanceof EmbeddableAttribute) {
return true;
}
else {
@@ -387,68 +386,50 @@ public class RemoveAction extends Cayenn
/**
* Removes an object, depending on its type
*/
- private UndoableEdit removeLastPathComponent(ProjectPath path) {
- Object lastObject = path.getObject();
+ private UndoableEdit removeLastPathComponent(Object object) {
UndoableEdit undo = null;
- if (lastObject instanceof DataMap) {
- Object parent = path.getObjectParent();
-
- if (parent instanceof DataChannelDescriptor) {
- undo = new RemoveUndoableEdit(
- application,
- (DataMap) lastObject);
-
- removeDataMap((DataMap) lastObject);
- }
- else { // if(parent instanceof DataNode)
- undo = new RemoveUndoableEdit(
- application,
- (DataNodeDescriptor) parent,
- (DataMap) lastObject);
-
- removeDataMapFromDataNode((DataNodeDescriptor) parent, (DataMap) lastObject);
- }
+ if (object instanceof DataMap) {
+ undo = new RemoveUndoableEdit(application, (DataMap) object);
+ removeDataMap((DataMap) object);
}
- else if (lastObject instanceof DataNodeDescriptor) {
- undo = new RemoveUndoableEdit(application, (DataNodeDescriptor) lastObject);
+ else if (object instanceof DataNodeDescriptor) {
+ undo = new RemoveUndoableEdit(application, (DataNodeDescriptor) object);
- removeDataNode((DataNodeDescriptor) lastObject);
+ removeDataNode((DataNodeDescriptor) object);
}
- else if (lastObject instanceof DbEntity) {
+ else if (object instanceof DbEntity) {
undo = new RemoveUndoableEdit(
- (DataMap) path.getObjectParent(),
- (DbEntity) lastObject);
+ ((DbEntity) object).getDataMap(),
+ (DbEntity) object);
- removeDbEntity((DataMap) path.getObjectParent(), (DbEntity) lastObject);
+ removeDbEntity(((DbEntity) object).getDataMap(), (DbEntity) object);
}
- else if (lastObject instanceof ObjEntity) {
+ else if (object instanceof ObjEntity) {
undo = new RemoveUndoableEdit(
- (DataMap) path.getObjectParent(),
- (ObjEntity) lastObject);
+ ((ObjEntity) object).getDataMap(),
+ (ObjEntity) object);
- removeObjEntity((DataMap) path.getObjectParent(), (ObjEntity) lastObject);
+ removeObjEntity(((ObjEntity) object).getDataMap(), (ObjEntity) object);
}
- else if (lastObject instanceof Query) {
- undo = new RemoveUndoableEdit(
- (DataMap) path.getObjectParent(),
- (Query) lastObject);
+ else if (object instanceof Query) {
+ undo = new RemoveUndoableEdit(((Query) object).getDataMap(), (Query) object);
- removeQuery((DataMap) path.getObjectParent(), (Query) lastObject);
+ removeQuery(((Query) object).getDataMap(), (Query) object);
}
- else if (lastObject instanceof Procedure) {
+ else if (object instanceof Procedure) {
undo = new RemoveUndoableEdit(
- (DataMap) path.getObjectParent(),
- (Procedure) lastObject);
+ ((Procedure) object).getDataMap(),
+ (Procedure) object);
- removeProcedure((DataMap) path.getObjectParent(), (Procedure) lastObject);
+ removeProcedure(((Procedure) object).getDataMap(), (Procedure) object);
}
- else if (lastObject instanceof Embeddable) {
+ else if (object instanceof Embeddable) {
undo = new RemoveUndoableEdit(
- (DataMap) path.getObjectParent(),
- (Embeddable) lastObject);
- removeEmbeddable((DataMap) path.getObjectParent(), (Embeddable) lastObject);
+ ((Embeddable) object).getDataMap(),
+ (Embeddable) object);
+ removeEmbeddable(((Embeddable) object).getDataMap(), (Embeddable) object);
}
return undo;
Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/RemoveAttributeAction.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/RemoveAttributeAction.java?rev=924267&r1=924266&r2=924267&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/RemoveAttributeAction.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/RemoveAttributeAction.java Wed Mar 17 13:11:38 2010
@@ -21,6 +21,7 @@ package org.apache.cayenne.modeler.actio
import java.awt.event.ActionEvent;
+import org.apache.cayenne.configuration.ConfigurationNode;
import org.apache.cayenne.configuration.DataChannelDescriptor;
import org.apache.cayenne.map.Attribute;
import org.apache.cayenne.map.DataMap;
@@ -38,7 +39,6 @@ import org.apache.cayenne.modeler.Projec
import org.apache.cayenne.modeler.dialog.ConfirmRemoveDialog;
import org.apache.cayenne.modeler.undo.RemoveAttributeUndoableEdit;
import org.apache.cayenne.modeler.util.ProjectUtil;
-import org.apache.cayenne.project.ProjectPath;
/**
* Removes currently selected attribute from either the DbEntity or ObjEntity.
@@ -72,12 +72,12 @@ public class RemoveAttributeAction exten
* attribute.
*/
@Override
- public boolean enableForPath(ProjectPath path) {
- if (path == null) {
+ public boolean enableForPath(ConfigurationNode object) {
+ if (object == null) {
return false;
}
- return path.getObject() instanceof Attribute;
+ return object instanceof Attribute;
}
@Override
@@ -137,8 +137,6 @@ public class RemoveAttributeAction exten
DbEntity entity = mediator.getCurrentDbEntity();
DbAttribute[] attribs = mediator.getCurrentDbAttributes();
- ProjectPath[] paths = getProjectController().getCurrentPaths();
-
application.getUndoManager().addEdit(
new RemoveAttributeUndoableEdit(
(DataChannelDescriptor)mediator.getProject().getRootNode(),
Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/RemoveProcedureParameterAction.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/RemoveProcedureParameterAction.java?rev=924267&r1=924266&r2=924267&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/RemoveProcedureParameterAction.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/RemoveProcedureParameterAction.java Wed Mar 17 13:11:38 2010
@@ -21,6 +21,7 @@ package org.apache.cayenne.modeler.actio
import java.awt.event.ActionEvent;
+import org.apache.cayenne.configuration.ConfigurationNode;
import org.apache.cayenne.configuration.event.ProcedureParameterEvent;
import org.apache.cayenne.map.Procedure;
import org.apache.cayenne.map.ProcedureParameter;
@@ -28,7 +29,6 @@ import org.apache.cayenne.map.event.MapE
import org.apache.cayenne.modeler.Application;
import org.apache.cayenne.modeler.ProjectController;
import org.apache.cayenne.modeler.dialog.ConfirmRemoveDialog;
-import org.apache.cayenne.project.ProjectPath;
/**
* Removes currently selected parameter from the current procedure.
@@ -60,12 +60,12 @@ public class RemoveProcedureParameterAct
* parameter.
*/
@Override
- public boolean enableForPath(ProjectPath path) {
- if (path == null) {
+ public boolean enableForPath(ConfigurationNode object) {
+ if (object == null) {
return false;
}
- return path.getObject() instanceof ProcedureParameter;
+ return object instanceof ProcedureParameter;
}
@Override
Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/RemoveRelationshipAction.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/RemoveRelationshipAction.java?rev=924267&r1=924266&r2=924267&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/RemoveRelationshipAction.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/RemoveRelationshipAction.java Wed Mar 17 13:11:38 2010
@@ -21,6 +21,7 @@ package org.apache.cayenne.modeler.actio
import java.awt.event.ActionEvent;
+import org.apache.cayenne.configuration.ConfigurationNode;
import org.apache.cayenne.map.DbEntity;
import org.apache.cayenne.map.DbRelationship;
import org.apache.cayenne.map.ObjEntity;
@@ -33,7 +34,6 @@ import org.apache.cayenne.modeler.Projec
import org.apache.cayenne.modeler.dialog.ConfirmRemoveDialog;
import org.apache.cayenne.modeler.undo.RemoveRelationshipUndoableEdit;
import org.apache.cayenne.modeler.util.ProjectUtil;
-import org.apache.cayenne.project.ProjectPath;
/**
* Removes currently selected relationship from either the DbEntity or
@@ -69,12 +69,12 @@ public class RemoveRelationshipAction ex
* relationship.
*/
@Override
- public boolean enableForPath(ProjectPath path) {
- if (path == null) {
+ public boolean enableForPath(ConfigurationNode object) {
+ if (object == null) {
return false;
}
- return path.getObject() instanceof Relationship;
+ return object instanceof Relationship;
}
@Override
Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/SaveAsAction.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/SaveAsAction.java?rev=924267&r1=924266&r2=924267&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/SaveAsAction.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/SaveAsAction.java Wed Mar 17 13:11:38 2010
@@ -30,12 +30,12 @@ import javax.swing.JOptionPane;
import javax.swing.KeyStroke;
import org.apache.cayenne.CayenneRuntimeException;
+import org.apache.cayenne.configuration.ConfigurationNode;
import org.apache.cayenne.modeler.Application;
import org.apache.cayenne.modeler.dialog.validator.ValidationDisplayHandler;
import org.apache.cayenne.modeler.dialog.validator.ValidatorDialog;
import org.apache.cayenne.modeler.util.CayenneAction;
import org.apache.cayenne.pref.RenamedPreferences;
-import org.apache.cayenne.project.ProjectPath;
import org.apache.cayenne.project2.Project;
import org.apache.cayenne.project2.ProjectSaver;
import org.apache.cayenne.project2.validation.ProjectValidator;
@@ -176,12 +176,12 @@ public class SaveAsAction extends Cayenn
* Returns <code>true</code> if path contains a Project object and the project is
* modified.
*/
- public boolean enableForPath(ProjectPath path) {
- if (path == null) {
+ public boolean enableForPath(ConfigurationNode object) {
+ if (object == null) {
return false;
}
- Project project = path.firstInstanceOf(Project.class);
+ Project project = getApplication().getProject();
return project != null && project.isModified();
}
}
Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ValidateAction.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ValidateAction.java?rev=924267&r1=924266&r2=924267&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ValidateAction.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ValidateAction.java Wed Mar 17 13:11:38 2010
@@ -28,8 +28,6 @@ import javax.swing.KeyStroke;
import org.apache.cayenne.modeler.Application;
import org.apache.cayenne.modeler.dialog.validator.ValidatorDialog;
import org.apache.cayenne.modeler.util.CayenneAction;
-import org.apache.cayenne.project.ProjectPath;
-import org.apache.cayenne.project2.Project;
import org.apache.cayenne.project2.validation.ProjectValidator;
import org.apache.cayenne.validation.ValidationResult;
@@ -73,17 +71,4 @@ public class ValidateAction extends Caye
ValidatorDialog.showValidationSuccess(Application.getFrame());
}
}
-
- /**
- * Returns <code>true</code> if path contains a Project object and the project is
- * modified.
- */
- public boolean enableForPath(ProjectPath path) {
- if (path == null) {
- return false;
- }
-
- Project project = path.firstInstanceOf(Project.class);
- return project != null;
- }
-}
+}
\ No newline at end of file
Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/EditorView.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/EditorView.java?rev=924267&r1=924266&r2=924267&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/EditorView.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/EditorView.java Wed Mar 17 13:11:38 2010
@@ -30,6 +30,7 @@ import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.JTabbedPane;
+import org.apache.cayenne.modeler.Application;
import org.apache.cayenne.modeler.ProjectController;
import org.apache.cayenne.modeler.ProjectTreeView;
import org.apache.cayenne.modeler.editor.datanode.DataNodeEditor;
@@ -86,7 +87,7 @@ public class EditorView extends JPanel i
protected Container detailPanel;
protected CardLayout detailLayout;
private ProjectTreeView treePanel;
-
+
private DbEntityTabbedView dbDetailView;
private ObjEntityTabbedView objDetailView;
private EmbeddableTabbedView embeddableView;
@@ -98,17 +99,14 @@ public class EditorView extends JPanel i
private EjbqlTabbedView ejbqlQueryView;
private JTabbedPane dataNodeView;
-
public SelectQueryTabbedView getSelectQueryView() {
return selectQueryView;
}
-
public SQLTemplateTabbedView getSqlTemplateView() {
return sqlTemplateView;
}
-
public EjbqlTabbedView getEjbqlQueryView() {
return ejbqlQueryView;
}
@@ -124,7 +122,7 @@ public class EditorView extends JPanel i
public EmbeddableTabbedView getEmbeddableView() {
return embeddableView;
}
-
+
public DbEntityTabbedView getDbDetailView() {
return dbDetailView;
}
@@ -132,15 +130,15 @@ public class EditorView extends JPanel i
public ObjEntityTabbedView getObjDetailView() {
return objDetailView;
}
-
+
public DataDomainTabbedView getDataDomainView() {
return dataDomainView;
}
-
+
public DataMapTabbedView getDataMapView() {
return dataMapView;
}
-
+
public JTabbedPane getDataNodeView() {
return dataNodeView;
}
@@ -176,7 +174,7 @@ public class EditorView extends JPanel i
DataNodeEditor nodeController = new DataNodeEditor(eventController);
detailPanel.add(nodeController.getView(), NODE_VIEW);
-
+
dataNodeView = nodeController.getTabComponent();
dataMapView = new DataMapTabbedView(eventController);
@@ -228,7 +226,9 @@ public class EditorView extends JPanel i
* Moving this to try-catch block per CAY-940. Exception will be stack-traced
*/
try {
- ComponentGeometry geometry = new ComponentGeometry(this.getClass(), "splitPane/divider");
+ ComponentGeometry geometry = new ComponentGeometry(
+ this.getClass(),
+ "splitPane/divider");
geometry
.bindIntProperty(splitPane, JSplitPane.DIVIDER_LOCATION_PROPERTY, 150);
@@ -300,7 +300,9 @@ public class EditorView extends JPanel i
}
}
- public void currentObjectsChanged(MultipleObjectsDisplayEvent e) {
+ public void currentObjectsChanged(
+ MultipleObjectsDisplayEvent e,
+ Application application) {
detailLayout.show(detailPanel, EMPTY_VIEW);
}
Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/event/DisplayEvent.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/event/DisplayEvent.java?rev=924267&r1=924266&r2=924267&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/event/DisplayEvent.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/event/DisplayEvent.java Wed Mar 17 13:11:38 2010
@@ -21,14 +21,12 @@ package org.apache.cayenne.modeler.event
import java.util.EventObject;
-import org.apache.cayenne.project.ProjectPath;
-
/**
*/
public class DisplayEvent extends EventObject {
protected boolean refired;
protected boolean changed;
- protected ProjectPath path;
+ protected Object pathObject;
/**
* Constructor for DisplayEvent.
@@ -44,26 +42,18 @@ public class DisplayEvent extends EventO
* Constructor for DisplayEvent.
* @param source
*/
- public DisplayEvent(Object source, ProjectPath path) {
+ public DisplayEvent(Object source, Object pathObject) {
super(source);
refired = false;
changed = true;
- this.path = path;
- }
-
- public ProjectPath getPath() {
- return path;
- }
-
- public void setPath(ProjectPath path) {
- this.path = path;
+ this.pathObject = pathObject;
}
/**
* Returns the last object in the path.
*/
- public Object getObject() {
- return (path != null) ? path.getObject() : null;
+ public Object getPathObject() {
+ return (pathObject != null) ? pathObject : null;
}
/**
@@ -93,7 +83,7 @@ public class DisplayEvent extends EventO
return false;
}
- Object last = getObject();
+ Object last = getPathObject();
return (last != null) ? last.getClass() == nodeClass : false;
}
}
Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/event/MultipleObjectsDisplayEvent.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/event/MultipleObjectsDisplayEvent.java?rev=924267&r1=924266&r2=924267&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/event/MultipleObjectsDisplayEvent.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/event/MultipleObjectsDisplayEvent.java Wed Mar 17 13:11:38 2010
@@ -20,23 +20,23 @@ package org.apache.cayenne.modeler.event
import java.util.EventObject;
-import org.apache.cayenne.project.ProjectPath;
+import org.apache.cayenne.configuration.ConfigurationNode;
/**
* Display event for several selected objects
*/
public class MultipleObjectsDisplayEvent extends EventObject {
- private ProjectPath[] paths;
+ private ConfigurationNode[] nodes;
- public MultipleObjectsDisplayEvent(Object src, ProjectPath[] paths) {
+ public MultipleObjectsDisplayEvent(Object src, ConfigurationNode[] objects) {
super(src);
- this.paths = paths;
+ this.nodes = (ConfigurationNode[]) objects;
}
/**
* @return all paths of this event
*/
- public ProjectPath[] getPaths() {
- return paths;
+ public ConfigurationNode[] getNodes() {
+ return nodes;
}
}
Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/event/MultipleObjectsDisplayListener.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/event/MultipleObjectsDisplayListener.java?rev=924267&r1=924266&r2=924267&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/event/MultipleObjectsDisplayListener.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/event/MultipleObjectsDisplayListener.java Wed Mar 17 13:11:38 2010
@@ -20,12 +20,15 @@ package org.apache.cayenne.modeler.event
import java.util.EventListener;
+import org.apache.cayenne.modeler.Application;
+
/**
* Listener for multiple objects selections
*/
public interface MultipleObjectsDisplayListener extends EventListener {
/**
* Invoked when a new set of objects was displayed
+ * @param application
*/
- public void currentObjectsChanged(MultipleObjectsDisplayEvent e);
+ public void currentObjectsChanged(MultipleObjectsDisplayEvent e, Application application);
}
Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/graph/action/EntityDisplayAction.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/graph/action/EntityDisplayAction.java?rev=924267&r1=924266&r2=924267&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/graph/action/EntityDisplayAction.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/graph/action/EntityDisplayAction.java Wed Mar 17 13:11:38 2010
@@ -23,6 +23,7 @@ import java.awt.event.ActionEvent;
import javax.swing.Action;
import javax.swing.Icon;
+import org.apache.cayenne.configuration.ConfigurationNode;
import org.apache.cayenne.configuration.DataChannelDescriptor;
import org.apache.cayenne.map.Entity;
import org.apache.cayenne.modeler.Application;
@@ -30,7 +31,6 @@ import org.apache.cayenne.modeler.Projec
import org.apache.cayenne.modeler.dialog.FindDialog;
import org.apache.cayenne.modeler.graph.GraphBuilder;
import org.apache.cayenne.modeler.util.CayenneAction;
-import org.apache.cayenne.project.ProjectPath;
/**
* Action that displays one of the objects in main tree,
@@ -103,7 +103,7 @@ public class EntityDisplayAction extends
}
@Override
- public boolean enableForPath(ProjectPath obj) {
+ public boolean enableForPath(ConfigurationNode object) {
return builder.getSelectedEntity() != null;
}
}
Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/graph/action/ShowGraphEntityAction.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/graph/action/ShowGraphEntityAction.java?rev=924267&r1=924266&r2=924267&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/graph/action/ShowGraphEntityAction.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/graph/action/ShowGraphEntityAction.java Wed Mar 17 13:11:38 2010
@@ -20,6 +20,7 @@ package org.apache.cayenne.modeler.graph
import java.awt.event.ActionEvent;
+import org.apache.cayenne.configuration.ConfigurationNode;
import org.apache.cayenne.configuration.DataChannelDescriptor;
import org.apache.cayenne.map.Entity;
import org.apache.cayenne.modeler.Application;
@@ -29,16 +30,16 @@ import org.apache.cayenne.modeler.editor
import org.apache.cayenne.modeler.event.DomainDisplayEvent;
import org.apache.cayenne.modeler.event.EntityDisplayEvent;
import org.apache.cayenne.modeler.util.CayenneAction;
-import org.apache.cayenne.project.ProjectPath;
/**
* Action that shows entity on the graph
*/
public class ShowGraphEntityAction extends CayenneAction {
+
public static String getActionName() {
return "ShowGraphEntity";
}
-
+
public ShowGraphEntityAction(Application application) {
super(getActionName(), application, "Show on Graph");
setEnabled(true);
@@ -48,11 +49,11 @@ public class ShowGraphEntityAction exten
public String getIconName() {
return "icon-save-as-image.png";
}
-
+
@Override
public void performAction(ActionEvent e) {
Entity entity = null;
-
+
ProjectController mediator = getProjectController();
if (mediator.getCurrentDbEntity() != null) {
entity = mediator.getCurrentDbEntity();
@@ -60,30 +61,35 @@ public class ShowGraphEntityAction exten
else if (mediator.getCurrentObjEntity() != null) {
entity = mediator.getCurrentObjEntity();
}
-
+
if (entity != null) {
showEntity(entity);
}
}
-
+
@Override
- public boolean enableForPath(ProjectPath obj) {
- return obj.getObject() instanceof Entity;
+ public boolean enableForPath(ConfigurationNode object) {
+ return object instanceof Entity;
}
-
+
void showEntity(Entity entity) {
- //we're always in same domain
- EditorView editor = ((CayenneModelerFrame) Application.getInstance()
+ // we're always in same domain
+ EditorView editor = ((CayenneModelerFrame) Application
+ .getInstance()
.getFrameController()
.getView()).getView();
-
+
editor.getProjectTreeView().getSelectionModel().setSelectionPath(
- editor.getProjectTreeView().getSelectionPath().getParentPath().getParentPath());
+ editor
+ .getProjectTreeView()
+ .getSelectionPath()
+ .getParentPath()
+ .getParentPath());
DomainDisplayEvent event = new EntityDisplayEvent(
editor.getProjectTreeView(),
entity,
entity.getDataMap(),
- (DataChannelDescriptor)getProjectController().getProject().getRootNode());
+ (DataChannelDescriptor) getProjectController().getProject().getRootNode());
getProjectController().fireDomainDisplayEvent(event);
}
}
Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/CayenneAction.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/CayenneAction.java?rev=924267&r1=924266&r2=924267&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/CayenneAction.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/CayenneAction.java Wed Mar 17 13:11:38 2010
@@ -30,10 +30,10 @@ import javax.swing.JCheckBoxMenuItem;
import javax.swing.JMenuItem;
import javax.swing.KeyStroke;
+import org.apache.cayenne.configuration.ConfigurationNode;
import org.apache.cayenne.modeler.Application;
import org.apache.cayenne.modeler.ProjectController;
import org.apache.cayenne.modeler.dialog.ErrorDebugDialog;
-import org.apache.cayenne.project.ProjectPath;
import org.apache.cayenne.project2.Project;
import org.apache.cayenne.util.Util;
@@ -143,7 +143,7 @@ public abstract class CayenneAction exte
* path" - a path on the project tree to a currently selected object. Default
* implementation simply returns <code>false</code>.
*/
- public boolean enableForPath(ProjectPath obj) {
+ public boolean enableForPath(ConfigurationNode object) {
return false;
}
Modified: cayenne/main/trunk/framework/cayenne-project-unpublished/src/main/java/org/apache/cayenne/project2/CayenneProjectModule.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-project-unpublished/src/main/java/org/apache/cayenne/project2/CayenneProjectModule.java?rev=924267&r1=924266&r2=924267&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-project-unpublished/src/main/java/org/apache/cayenne/project2/CayenneProjectModule.java (original)
+++ cayenne/main/trunk/framework/cayenne-project-unpublished/src/main/java/org/apache/cayenne/project2/CayenneProjectModule.java Wed Mar 17 13:11:38 2010
@@ -41,5 +41,6 @@ public class CayenneProjectModule implem
binder.bind(ProjectUpgrader.class).to(ProjectUpgrader_V6.class).in(
Scopes.SINGLETON);
binder.bind(ProjectValidator.class).to(DefaultProjectValidator.class).in(Scopes.SINGLETON);
+ binder.bind(ConfigurationNodeParentGetter.class).to(DefaultConfigurationNodeParentGetter.class).in(Scopes.SINGLETON);
}
}
Copied: cayenne/main/trunk/framework/cayenne-project-unpublished/src/main/java/org/apache/cayenne/project2/ConfigurationNodeParentGetter.java (from r923185, cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/event/MultipleObjectsDisplayListener.java)
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-project-unpublished/src/main/java/org/apache/cayenne/project2/ConfigurationNodeParentGetter.java?p2=cayenne/main/trunk/framework/cayenne-project-unpublished/src/main/java/org/apache/cayenne/project2/ConfigurationNodeParentGetter.java&p1=cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/event/MultipleObjectsDisplayListener.java&r1=923185&r2=924267&rev=924267&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/event/MultipleObjectsDisplayListener.java (original)
+++ cayenne/main/trunk/framework/cayenne-project-unpublished/src/main/java/org/apache/cayenne/project2/ConfigurationNodeParentGetter.java Wed Mar 17 13:11:38 2010
@@ -16,16 +16,12 @@
* specific language governing permissions and limitations
* under the License.
****************************************************************/
-package org.apache.cayenne.modeler.event;
+package org.apache.cayenne.project2;
-import java.util.EventListener;
+import org.apache.cayenne.configuration.ConfigurationNode;
+
+public interface ConfigurationNodeParentGetter {
+
+ ConfigurationNode getParent(ConfigurationNode node);
-/**
- * Listener for multiple objects selections
- */
-public interface MultipleObjectsDisplayListener extends EventListener {
- /**
- * Invoked when a new set of objects was displayed
- */
- public void currentObjectsChanged(MultipleObjectsDisplayEvent e);
}
Added: cayenne/main/trunk/framework/cayenne-project-unpublished/src/main/java/org/apache/cayenne/project2/DefaultConfigurationNodeParentGetter.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-project-unpublished/src/main/java/org/apache/cayenne/project2/DefaultConfigurationNodeParentGetter.java?rev=924267&view=auto
==============================================================================
--- cayenne/main/trunk/framework/cayenne-project-unpublished/src/main/java/org/apache/cayenne/project2/DefaultConfigurationNodeParentGetter.java (added)
+++ cayenne/main/trunk/framework/cayenne-project-unpublished/src/main/java/org/apache/cayenne/project2/DefaultConfigurationNodeParentGetter.java Wed Mar 17 13:11:38 2010
@@ -0,0 +1,117 @@
+/*****************************************************************
+ * 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.project2;
+
+import org.apache.cayenne.configuration.BaseConfigurationNodeVisitor;
+import org.apache.cayenne.configuration.ConfigurationNode;
+import org.apache.cayenne.configuration.ConfigurationNodeVisitor;
+import org.apache.cayenne.configuration.DataNodeDescriptor;
+import org.apache.cayenne.map.DataMap;
+import org.apache.cayenne.map.DbAttribute;
+import org.apache.cayenne.map.DbEntity;
+import org.apache.cayenne.map.DbRelationship;
+import org.apache.cayenne.map.Embeddable;
+import org.apache.cayenne.map.EmbeddableAttribute;
+import org.apache.cayenne.map.ObjAttribute;
+import org.apache.cayenne.map.ObjEntity;
+import org.apache.cayenne.map.ObjRelationship;
+import org.apache.cayenne.map.Procedure;
+import org.apache.cayenne.map.ProcedureParameter;
+import org.apache.cayenne.query.Query;
+
+public class DefaultConfigurationNodeParentGetter implements ConfigurationNodeParentGetter {
+
+ private ConfigurationNodeVisitor<ConfigurationNode> parentGetter;
+
+ public DefaultConfigurationNodeParentGetter() {
+ parentGetter = new ParentGetter();
+ }
+
+ public ConfigurationNode getParent(ConfigurationNode node) {
+ return node.acceptVisitor(parentGetter);
+ }
+
+ class ParentGetter extends BaseConfigurationNodeVisitor<ConfigurationNode> {
+
+ @Override
+ public ConfigurationNode visitDataMap(DataMap dataMap) {
+ return dataMap.getDataChannelDescriptor();
+ }
+
+ @Override
+ public ConfigurationNode visitDataNodeDescriptor(DataNodeDescriptor nodeDescriptor) {
+ return nodeDescriptor.getDataChannelDescriptor();
+ }
+
+ @Override
+ public ConfigurationNode visitDbAttribute(DbAttribute attribute) {
+ return (ConfigurationNode) attribute.getParent();
+ }
+
+ @Override
+ public ConfigurationNode visitDbEntity(DbEntity entity) {
+ return entity.getDataMap();
+ }
+
+ @Override
+ public ConfigurationNode visitDbRelationship(DbRelationship relationship) {
+ return (ConfigurationNode) relationship.getParent();
+ }
+
+ @Override
+ public ConfigurationNode visitEmbeddable(Embeddable embeddable) {
+ return embeddable.getDataMap();
+ }
+
+ @Override
+ public ConfigurationNode visitEmbeddableAttribute(EmbeddableAttribute attribute) {
+ return attribute.getEmbeddable();
+ }
+
+ @Override
+ public ConfigurationNode visitObjAttribute(ObjAttribute attribute) {
+ return (ConfigurationNode) attribute.getParent();
+ }
+
+ @Override
+ public ConfigurationNode visitObjEntity(ObjEntity entity) {
+ return (ConfigurationNode) entity.getParent();
+ }
+
+ @Override
+ public ConfigurationNode visitObjRelationship(ObjRelationship relationship) {
+ return (ConfigurationNode) relationship.getParent();
+ }
+
+ @Override
+ public ConfigurationNode visitProcedure(Procedure procedure) {
+ return (ConfigurationNode) procedure.getParent();
+ }
+
+ @Override
+ public ConfigurationNode visitProcedureParameter(ProcedureParameter parameter) {
+ return (ConfigurationNode) parameter.getParent();
+ }
+
+ @Override
+ public ConfigurationNode visitQuery(Query query) {
+ return query.getDataMap();
+ }
+ }
+}