You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2013/07/28 17:34:12 UTC
svn commit: r1507804 - in
/cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler:
action/ editor/
Author: aadamchik
Date: Sun Jul 28 15:34:11 2013
New Revision: 1507804
URL: http://svn.apache.org/r1507804
Log:
CAY-1846 Reworking of callback mapping
patch by Ilya Vasiuk
Added:
cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CopyCallbackMethodAction.java
cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CutCallbackMethodAction.java
Modified:
cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/AbstractRemoveCallbackMethodAction.java
cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/DefaultActionManager.java
cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/PasteAction.java
cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/AbstractCallbackMethodsTab.java
cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/CallbackDescriptorTableModel.java
cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/CallbackType.java
Modified: cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/AbstractRemoveCallbackMethodAction.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/AbstractRemoveCallbackMethodAction.java?rev=1507804&r1=1507803&r2=1507804&view=diff
==============================================================================
--- cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/AbstractRemoveCallbackMethodAction.java (original)
+++ cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/AbstractRemoveCallbackMethodAction.java Sun Jul 28 15:34:11 2013
@@ -57,7 +57,7 @@ public abstract class AbstractRemoveCall
*/
@Override
public String getIconName() {
- return "icon-remove-method.gif";
+ return "icon-trash.gif";
}
/**
Added: cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CopyCallbackMethodAction.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CopyCallbackMethodAction.java?rev=1507804&view=auto
==============================================================================
--- cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CopyCallbackMethodAction.java (added)
+++ cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CopyCallbackMethodAction.java Sun Jul 28 15:34:11 2013
@@ -0,0 +1,49 @@
+package org.apache.cayenne.modeler.action;
+
+import java.util.Arrays;
+
+import org.apache.cayenne.configuration.ConfigurationNode;
+import org.apache.cayenne.modeler.Application;
+import org.apache.cayenne.modeler.ProjectController;
+
+public class CopyCallbackMethodAction extends CopyAction implements MultipleObjectsAction {
+
+ private final static String ACTION_NAME = "Copy Callback Method";
+
+ /**
+ * Name of action if multiple attrs are selected
+ */
+ private final static String ACTION_NAME_MULTIPLE = "Copy Callback Methods";
+
+ public static String getActionName() {
+ return ACTION_NAME;
+ }
+
+ public String getActionName(boolean multiple) {
+ return multiple ? ACTION_NAME_MULTIPLE : ACTION_NAME;
+ }
+
+ public CopyCallbackMethodAction(Application application) {
+ super(ACTION_NAME, application);
+ }
+
+ /**
+ * Returns <code>true</code> if last object in the path contains a removable
+ * attribute.
+ */
+ @Override
+ public boolean enableForPath(ConfigurationNode object) {
+ return object != null;
+ }
+
+ @Override
+ public Object copy(ProjectController mediator) {
+ Object[] methods = getProjectController().getCurrentCallbackMethods();
+
+ if (methods != null && methods.length > 0) {
+ return Arrays.asList(methods);
+ }
+
+ return null;
+ }
+}
Added: cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CutCallbackMethodAction.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CutCallbackMethodAction.java?rev=1507804&view=auto
==============================================================================
--- cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CutCallbackMethodAction.java (added)
+++ cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CutCallbackMethodAction.java Sun Jul 28 15:34:11 2013
@@ -0,0 +1,52 @@
+package org.apache.cayenne.modeler.action;
+
+import java.awt.event.ActionEvent;
+
+import org.apache.cayenne.configuration.ConfigurationNode;
+import org.apache.cayenne.modeler.Application;
+
+public class CutCallbackMethodAction extends CutAction implements MultipleObjectsAction {
+
+ private final static String ACTION_NAME = "Cut Callback method";
+
+ /**
+ * Name of action if multiple attrs are selected
+ */
+ private final static String ACTION_NAME_MULTIPLE = "Cut Callback methods";
+
+ public static String getActionName() {
+ return ACTION_NAME;
+ }
+
+ public String getActionName(boolean multiple) {
+ return multiple ? ACTION_NAME_MULTIPLE : ACTION_NAME;
+ }
+
+ public CutCallbackMethodAction(Application application) {
+ super(ACTION_NAME, application);
+ }
+
+ /**
+ * Returns <code>true</code> if last object in the path contains a removable
+ * attribute.
+ */
+ @Override
+ public boolean enableForPath(ConfigurationNode object) {
+ return object != null;
+ }
+
+ /**
+ * Performs cutting of items
+ */
+ @Override
+ public void performAction(ActionEvent e) {
+ application
+ .getActionManager()
+ .getAction(CopyCallbackMethodAction.class)
+ .performAction(e);
+ application
+ .getActionManager()
+ .getAction(RemoveCallbackMethodAction.class)
+ .performAction(e, false);
+ }
+}
Modified: cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/DefaultActionManager.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/DefaultActionManager.java?rev=1507804&r1=1507803&r2=1507804&view=diff
==============================================================================
--- cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/DefaultActionManager.java (original)
+++ cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/DefaultActionManager.java Sun Jul 28 15:34:11 2013
@@ -116,9 +116,11 @@ public class DefaultActionManager implem
registerAction(new CutAttributeAction(application));
registerAction(new CutRelationshipAction(application));
registerAction(new CutProcedureParameterAction(application));
+ registerAction(new CutCallbackMethodAction(application));
registerAction(new CopyAction(application));
registerAction(new CopyAttributeAction(application));
registerAction(new CopyRelationshipAction(application));
+ registerAction(new CopyCallbackMethodAction(application));
registerAction(new CopyProcedureParameterAction(application));
registerAction(new PasteAction(application));
Modified: cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/PasteAction.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/PasteAction.java?rev=1507804&r1=1507803&r2=1507804&view=diff
==============================================================================
--- cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/PasteAction.java (original)
+++ cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/PasteAction.java Sun Jul 28 15:34:11 2013
@@ -41,16 +41,19 @@ import org.apache.cayenne.map.DbRelation
import org.apache.cayenne.map.Embeddable;
import org.apache.cayenne.map.EmbeddableAttribute;
import org.apache.cayenne.map.EntityResolver;
+import org.apache.cayenne.map.LifecycleEvent;
import org.apache.cayenne.map.MappingNamespace;
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.map.event.MapEvent;
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.query.QueryType;
+import org.apache.cayenne.modeler.event.CallbackMethodEvent;
import org.apache.cayenne.modeler.undo.PasteCompoundUndoableEdit;
import org.apache.cayenne.modeler.undo.PasteUndoableEdit;
import org.apache.cayenne.modeler.util.CayenneAction;
@@ -363,13 +366,16 @@ public class PasteAction extends Cayenne
}
else if (where instanceof ObjEntity) {
final ObjEntity objEntity = (ObjEntity) where;
+ final LifecycleEvent whereType = mediator.getCurrentCallbackType().getType();
// attrs and rels must be unique in entity namespace
FreeNameChecker checker = new FreeNameChecker() {
public boolean isNameFree(String name) {
return objEntity.getAttribute(name) == null
- && objEntity.getRelationship(name) == null;
+ && objEntity.getRelationship(name) == null
+ && !objEntity.getCallbackMap().getCallbackDescriptor(whereType)
+ .getCallbackMethods().contains(name);
}
};
@@ -392,6 +398,20 @@ public class PasteAction extends Cayenne
objEntity,
rel);
}
+ else if(content.getClass().equals(String.class)) {
+ String methodName = (String) content;
+ methodName = getFreeName(checker, methodName);
+
+ objEntity.getCallbackMap().getCallbackDescriptor(whereType).addCallbackMethod(methodName);
+
+ CallbackMethodEvent ce = new CallbackMethodEvent(
+ this,
+ null,
+ methodName,
+ MapEvent.ADD);
+
+ getProjectController().fireCallbackMethodEvent(ce);
+ }
}
else if (where instanceof Embeddable) {
@@ -524,7 +544,7 @@ public class PasteAction extends Cayenne
||
(currentObject instanceof ObjEntity && (content instanceof ObjAttribute
- || content instanceof ObjRelationship || isTreeLeaf(content)))
+ || content instanceof ObjRelationship || content.getClass().equals(String.class) || isTreeLeaf(content)))
||
(currentObject instanceof Embeddable && (content instanceof EmbeddableAttribute || isTreeLeaf(content)))
Modified: cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/AbstractCallbackMethodsTab.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/AbstractCallbackMethodsTab.java?rev=1507804&r1=1507803&r2=1507804&view=diff
==============================================================================
--- cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/AbstractCallbackMethodsTab.java (original)
+++ cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/AbstractCallbackMethodsTab.java Sun Jul 28 15:34:11 2013
@@ -47,14 +47,16 @@ import javax.swing.event.ListSelectionLi
import javax.swing.event.TableColumnModelEvent;
import javax.swing.event.TableColumnModelListener;
import javax.swing.table.JTableHeader;
-
import org.apache.cayenne.map.CallbackDescriptor;
import org.apache.cayenne.map.CallbackMap;
import org.apache.cayenne.map.LifecycleEvent;
import org.apache.cayenne.modeler.Application;
import org.apache.cayenne.modeler.ProjectController;
import org.apache.cayenne.modeler.action.AbstractRemoveCallbackMethodAction;
+import org.apache.cayenne.modeler.action.CopyCallbackMethodAction;
import org.apache.cayenne.modeler.action.CreateCallbackMethodAction;
+import org.apache.cayenne.modeler.action.CutCallbackMethodAction;
+import org.apache.cayenne.modeler.action.PasteAction;
import org.apache.cayenne.modeler.action.RemoveCallbackMethodAction;
import org.apache.cayenne.modeler.event.CallbackMethodEvent;
import org.apache.cayenne.modeler.event.CallbackMethodListener;
@@ -100,19 +102,27 @@ public abstract class AbstractCallbackMe
*/
protected TableColumnPreferences tablePreferences;
+ /**
+ * list of callback method types
+ */
protected CallbackType[] callbackTypes = {
- new CallbackType(LifecycleEvent.POST_ADD, "PostAdd"),
- new CallbackType(LifecycleEvent.PRE_PERSIST, "PrePersist"),
- new CallbackType(LifecycleEvent.POST_PERSIST, "PostPersist"),
- new CallbackType(LifecycleEvent.PRE_UPDATE, "PreUpdate"),
- new CallbackType(LifecycleEvent.POST_UPDATE, "PostUpdate"),
- new CallbackType(LifecycleEvent.PRE_REMOVE, "PreRemove"),
- new CallbackType(LifecycleEvent.POST_REMOVE, "PostRemove"),
- new CallbackType(LifecycleEvent.POST_LOAD, "PostLoad"),
+ new CallbackType(LifecycleEvent.POST_ADD),
+ new CallbackType(LifecycleEvent.PRE_PERSIST),
+ new CallbackType(LifecycleEvent.POST_PERSIST),
+ new CallbackType(LifecycleEvent.PRE_UPDATE),
+ new CallbackType(LifecycleEvent.POST_UPDATE),
+ new CallbackType(LifecycleEvent.PRE_REMOVE),
+ new CallbackType(LifecycleEvent.POST_REMOVE),
+ new CallbackType(LifecycleEvent.POST_LOAD),
};
-
+
+ /**
+ * list of tables
+ */
protected CayenneTable[] tables = new CayenneTable[callbackTypes.length];
+ protected JPopupMenu popupMenu;
+
/**
* constructor
*
@@ -146,6 +156,30 @@ public abstract class AbstractCallbackMe
}
/**
+ * @return copy callback method action
+ */
+ protected CopyCallbackMethodAction getCopyCallbackMethodAction() {
+ Application app = Application.getInstance();
+ return app.getActionManager().getAction(CopyCallbackMethodAction.class);
+ }
+
+ /**
+ * @return cut callback method action
+ */
+ protected CutCallbackMethodAction getCutCallbackMethodAction() {
+ Application app = Application.getInstance();
+ return app.getActionManager().getAction(CutCallbackMethodAction.class);
+ }
+
+ /**
+ * @return paste callback method action
+ */
+ protected PasteAction getPasteCallbackMethodAction() {
+ Application app = Application.getInstance();
+ return app.getActionManager().getAction(PasteAction.class);
+ }
+
+ /**
* GUI components initialization
*/
protected void init() {
@@ -153,6 +187,10 @@ public abstract class AbstractCallbackMe
toolBar = new JToolBar();
toolBar.add(getRemoveCallbackMethodAction().buildButton());
+ toolBar.addSeparator(new Dimension(10, 0));
+ toolBar.add(getCopyCallbackMethodAction().buildButton());
+ toolBar.add(getCutCallbackMethodAction().buildButton());
+ toolBar.add(getPasteCallbackMethodAction().buildButton());
add(toolBar, BorderLayout.NORTH);
@@ -160,6 +198,8 @@ public abstract class AbstractCallbackMe
auxPanel.setOpaque(false);
auxPanel.setLayout(new BorderLayout());
+ popupMenu = createPopup();
+
createTables();
add(new JScrollPane(auxPanel), BorderLayout.CENTER);
@@ -182,22 +222,27 @@ public abstract class AbstractCallbackMe
public void callbackMethodAdded(CallbackMethodEvent e) {
rebuildTables();
- selectAdded();
+ selectAdded();
}
public void callbackMethodRemoved(CallbackMethodEvent e) {
rebuildTables();
}
});
+
+ for(int i = 0; i < tables.length; i++) {
+ mediator.getApplication().getActionManager().setupCutCopyPaste(
+ tables[i],
+ CutCallbackMethodAction.class,
+ CopyCallbackMethodAction.class);
+ }
}
/**
* rebuilds table content
*/
protected void rebuildTables() {
-
-
-
+
CallbackMap callbackMap = getCallbackMap();
for(int i = 0; i < callbackTypes.length; i++) {
@@ -260,12 +305,8 @@ public abstract class AbstractCallbackMe
cayenneTable.getColumnModel().addColumnModelListener(new CallbackTableColumnModelListener(cayenneTable));
cayenneTable.getTableHeader().addMouseListener(new CallbackMouseAdapter(cayenneTable));
cayenneTable.getTableHeader().addMouseMotionListener(new CallbackMouseMotionListener(cayenneTable));
-
- // Create and install a popup
- JPopupMenu popup = new JPopupMenu();
- popup.add(getRemoveCallbackMethodAction().buildMenu());
-
- TablePopupHandler.install(cayenneTable, popup);
+
+ TablePopupHandler.install(cayenneTable, popupMenu);
addButtonAtHeader(
cayenneTable,
@@ -276,8 +317,18 @@ public abstract class AbstractCallbackMe
return cayenneTable;
}
+ private JPopupMenu createPopup() {
+ JPopupMenu popup = new JPopupMenu();
+
+ popup.add(getCopyCallbackMethodAction().buildMenu());
+ popup.add(getCutCallbackMethodAction().buildMenu());
+ popup.add(getPasteCallbackMethodAction().buildMenu());
+ popup.add(getRemoveCallbackMethodAction().buildMenu());
+
+ return popup;
+ }
+
private JPanel createTablePanel(final CayenneTable cayenneTable) {
-
JPanel panel = new JPanel();
panel.setLayout(new BorderLayout());
@@ -328,18 +379,30 @@ public abstract class AbstractCallbackMe
private void selectAdded() {
for(int i = 0; i < callbackTypes.length; i++) {
- if(callbackTypes[i] == mediator.getCurrentCallbackType()) {
+ if(callbackTypes[i] == getSelectedCallbackType()) {
if (tables[i].editCellAt(
tables[i].getRowCount() - 1,
CallbackDescriptorTableModel.METHOD_NAME)
&& tables[i].getEditorComponent() != null) {
- tables[i].getEditorComponent().requestFocus();
+ tables[i].changeSelection(tables[i].getRowCount() - 1, 0, false, false);
+ tables[i].getCellEditor().stopCellEditing();
+ return;
}
}
}
}
- protected class CallbackImportableHandler extends TransferHandler {
+
+ private void unselectAll() {
+ for(int i = 0; i < callbackTypes.length; i++) {
+ if(tables[i].getCellEditor() != null) {
+ tables[i].getCellEditor().stopCellEditing();
+ }
+ tables[i].clearSelection();
+ }
+ }
+
+ private class CallbackImportableHandler extends TransferHandler {
private CayenneTable table;
@@ -399,7 +462,7 @@ public abstract class AbstractCallbackMe
}
}
- protected class CallbackListSelectionListener implements ListSelectionListener {
+ private class CallbackListSelectionListener implements ListSelectionListener {
private CayenneTable table;
@@ -414,12 +477,14 @@ public abstract class AbstractCallbackMe
if(!((ListSelectionModel)e.getSource()).isSelectionEmpty()) {
for(int i = 0; i < tables.length; i++) {
if(!tables[i].equals(table)) {
- tables[i].getSelectionModel().removeSelectionInterval(0,tables[i].getRowCount()-1);
+ tables[i].clearSelection();
if(tables[i].getCellEditor() != null) {
tables[i].getCellEditor().stopCellEditing();
}
}
}
+
+ mediator.setCurrentCallbackType(((CallbackDescriptorTableModel)table.getCayenneModel()).getCallbackType());
}
@@ -436,24 +501,24 @@ public abstract class AbstractCallbackMe
}
}
- LifecycleEvent currentType = ((CallbackDescriptorTableModel)table.getCayenneModel()).getCallbackDescriptor().getCallbackType();
- for(CallbackType callbackType : callbackTypes) {
- if(callbackType.getType() == currentType) {
- mediator.setCurrentCallbackType(callbackType);
- break;
- }
- }
-
mediator.setCurrentCallbackMethods(methods);
getRemoveCallbackMethodAction().setEnabled(methods.length > 0);
getRemoveCallbackMethodAction().setName(
getRemoveCallbackMethodAction().getActionName(
methods.length > 1));
+ getCopyCallbackMethodAction().setEnabled(methods.length > 0);
+ getCopyCallbackMethodAction().setName(
+ getCopyCallbackMethodAction().getActionName(
+ methods.length > 1));
+ getCutCallbackMethodAction().setEnabled(methods.length > 0);
+ getCutCallbackMethodAction().setName(
+ getCutCallbackMethodAction().getActionName(
+ methods.length > 1));
}
}
}
- protected class CallbackTableColumnModelListener implements TableColumnModelListener {
+ private class CallbackTableColumnModelListener implements TableColumnModelListener {
private CayenneTable table;
@@ -497,6 +562,7 @@ public abstract class AbstractCallbackMe
this.table = table;
}
+ @Override
public void mouseReleased(MouseEvent e)
{
if(table.getColumnWidthChanged())
@@ -504,10 +570,23 @@ public abstract class AbstractCallbackMe
for(int i=0; i<tables.length; i++) {
tables[i].getColumnModel().getColumn(0).setPreferredWidth(table.getWidth());
}
+
initTablePreferences();
table.setColumnWidthChanged(false);
}
}
+
+ @Override
+ public void mousePressed(MouseEvent e)
+ {
+ if (e.isPopupTrigger() && e.getComponent() instanceof JTableHeader ) {
+
+ unselectAll();
+
+ mediator.setCurrentCallbackType(((CallbackDescriptorTableModel)table.getCayenneModel()).getCallbackType());
+ popupMenu.show(e.getComponent(), e.getX(), e.getY());
+ }
+ }
}
private class CallbackMouseMotionListener implements MouseMotionListener {
@@ -518,10 +597,10 @@ public abstract class AbstractCallbackMe
this.table = table;
}
- public void mouseMoved(MouseEvent arg0) {
+ public void mouseMoved(MouseEvent e) {
}
- public void mouseDragged(MouseEvent arg0) {
+ public void mouseDragged(MouseEvent e) {
if(table.getColumnWidthChanged())
{
tablePreferences.bind(table, null, null, null);
Modified: cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/CallbackDescriptorTableModel.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/CallbackDescriptorTableModel.java?rev=1507804&r1=1507803&r2=1507804&view=diff
==============================================================================
--- cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/CallbackDescriptorTableModel.java (original)
+++ cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/CallbackDescriptorTableModel.java Sun Jul 28 15:34:11 2013
@@ -173,6 +173,13 @@ public class CallbackDescriptorTableMode
return callbackDescriptor;
}
+ /**
+ * @return CallbackType of the model
+ */
+ public CallbackType getCallbackType() {
+ return callbackType;
+ }
+
@Override
public boolean isColumnSortable(int sortCol) {
return false;
Modified: cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/CallbackType.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/CallbackType.java?rev=1507804&r1=1507803&r2=1507804&view=diff
==============================================================================
--- cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/CallbackType.java (original)
+++ cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/CallbackType.java Sun Jul 28 15:34:11 2013
@@ -19,6 +19,8 @@
package org.apache.cayenne.modeler.editor;
import org.apache.cayenne.map.LifecycleEvent;
+import org.apache.cayenne.util.ConversionUtil;
+import org.apache.cayenne.util.NameConverter;
/**
* Entity for callback type. Contains type and type name
@@ -46,9 +48,9 @@ public class CallbackType {
* @param type type id
* @param name name
*/
- public CallbackType(LifecycleEvent type, String name) {
+ public CallbackType(LifecycleEvent type) {
this.type = type;
- this.name = name;
+ this.name = NameConverter.underscoredToJava(type.name(), true);
this.counter = 0;
}