use of org.apache.cayenne.configuration.DataNodeDescriptor in project cayenne by apache.
the class ProjectTreeView method dataMapRemoved.
public void dataMapRemoved(DataMapEvent e) {
DataMap map = e.getDataMap();
DataChannelDescriptor dataChannelDescriptor = (DataChannelDescriptor) Application.getInstance().getProject().getRootNode();
removeNode(new Object[] { dataChannelDescriptor, map });
mediator.getEntityResolver().removeDataMap(e.getDataMap());
// Clean up map from the nodes
for (DataNodeDescriptor dataNode : new ArrayList<>(dataChannelDescriptor.getNodeDescriptors())) {
removeNode(new Object[] { dataChannelDescriptor, dataNode, map });
}
}
use of org.apache.cayenne.configuration.DataNodeDescriptor in project cayenne by apache.
the class TreeDropTarget method drop.
public void drop(DropTargetDropEvent dtde) {
if (targetPath != null) {
try {
dtde.acceptDrop(dtde.getDropAction());
DefaultMutableTreeNode target = (DefaultMutableTreeNode) targetPath.getLastPathComponent();
DefaultMutableTreeNode parent = (DefaultMutableTreeNode) parentPath.getLastPathComponent();
if (target.getUserObject() instanceof DataNodeDescriptor && parent.getUserObject() instanceof DataMap) {
DataNodeDescriptor currentDataNode = (DataNodeDescriptor) target.getUserObject();
DataMap currentDataMap = (DataMap) parent.getUserObject();
LinkDataMapAction action = eventController.getApplication().getActionManager().getAction(LinkDataMapAction.class);
action.linkDataMap(currentDataMap, currentDataNode);
targetTree.makeVisible(targetPath.pathByAddingChild(target));
dtde.dropComplete(true);
}
} catch (Exception e) {
e.printStackTrace();
dtde.rejectDrop();
}
}
}
use of org.apache.cayenne.configuration.DataNodeDescriptor in project cayenne by apache.
the class CreateNodeAction method performAction.
@Override
public void performAction(ActionEvent e) {
DataNodeDescriptor node = buildDataNode();
createDataNode(node);
application.getUndoManager().addEdit(new CreateNodeUndoableEdit(application, node));
}
use of org.apache.cayenne.configuration.DataNodeDescriptor in project cayenne by apache.
the class ProjectUtil method setDataMapName.
public static void setDataMapName(DataChannelDescriptor domain, DataMap map, String newName) {
String oldName = map.getName();
// must fully relink renamed map
List<DataNodeDescriptor> nodes = new ArrayList<DataNodeDescriptor>();
for (DataNodeDescriptor node : domain.getNodeDescriptors()) if (node.getDataMapNames().contains(map.getName()))
nodes.add(node);
map.setName(newName);
for (DataNodeDescriptor node : nodes) {
node.getDataMapNames().remove(oldName);
node.getDataMapNames().add(map.getName());
}
}
use of org.apache.cayenne.configuration.DataNodeDescriptor in project cayenne by apache.
the class DataMapDisplayEventType method fireLastDisplayEvent.
@Override
public void fireLastDisplayEvent() {
DataChannelDescriptor dataChannel = (DataChannelDescriptor) controller.getProject().getRootNode();
if (!dataChannel.getName().equals(preferences.getDomain())) {
return;
}
DataNodeDescriptor dataNode = dataChannel.getNodeDescriptor(preferences.getNode());
DataMap dataMap = dataChannel.getDataMap(preferences.getDataMap());
if (dataMap == null) {
return;
}
DataMapDisplayEvent dataMapDisplayEvent = new DataMapDisplayEvent(this, dataMap, dataChannel, dataNode);
controller.fireDataMapDisplayEvent(dataMapDisplayEvent);
}
Aggregations