use of org.apache.cayenne.map.DataMap in project cayenne by apache.
the class CreateDbEntityAction method performAction.
/**
* Creates new DbEntity, adds it to the current DataMap, fires DbEntityEvent and DbEntityDisplayEvent.
*/
public void performAction(ActionEvent e) {
ProjectController mediator = getProjectController();
DataMap map = mediator.getCurrentDataMap();
DbEntity entity = new DbEntity();
entity.setName(NameBuilder.builder(entity, map).name());
createEntity(map, entity);
application.getUndoManager().addEdit(new CreateDbEntityUndoableEdit(map, entity));
}
use of org.apache.cayenne.map.DataMap in project cayenne by apache.
the class CreateProcedureAction method performAction.
public void performAction(ActionEvent e) {
ProjectController mediator = getProjectController();
DataMap map = mediator.getCurrentDataMap();
Procedure procedure = new Procedure();
procedure.setName(NameBuilder.builder(procedure, map).name());
createProcedure(map, procedure);
application.getUndoManager().addEdit(new CreateProcedureUndoableEdit(map, procedure));
}
use of org.apache.cayenne.map.DataMap in project cayenne by apache.
the class BaseGraphBuilder method buildGraph.
@Override
public void buildGraph(ProjectController mediator, DataChannelDescriptor domain, boolean doLayout) {
if (graph != null) {
// graph already built, exiting silently
return;
}
graph = new JGraph();
GraphModel model = new DefaultGraphModel();
graph.setModel(model);
setProjectController(mediator);
setDataDomain(domain);
GraphLayoutCache view = new GraphLayoutCache(model, new DefaultCellViewFactory());
graph.setGraphLayoutCache(view);
addMouseListeners();
entityCells = new HashMap<>();
createdObjects = new ArrayList<>();
relCells = new HashMap<>();
/*
* an array for entities that are not connected to anyone. We add them
* separately so that layout doesn't touch them
*/
List<DefaultGraphCell> isolatedObjects = new ArrayList<>();
/*
* 1. Add all entities
*/
for (DataMap map : domain.getDataMaps()) {
DefaultGraphCell mapCell = new DefaultGraphCell();
createdObjects.add(mapCell);
for (Entity entity : getEntities(map)) {
DefaultGraphCell cell = createEntityCell(entity);
// mapCell.add(cell);
// cell.setParent(mapCell);
List<DefaultGraphCell> array = !isIsolated(domain, entity) ? createdObjects : isolatedObjects;
array.add(cell);
// port
array.add((DefaultGraphCell) cell.getChildAt(0));
}
}
/*
* 2. Add all relationships
*/
for (DataMap map : domain.getDataMaps()) {
for (Entity entity : getEntities(map)) {
DefaultGraphCell sourceCell = entityCells.get(entity.getName());
postProcessEntity(entity, sourceCell);
}
}
view.insert(createdObjects.toArray());
setLayout(doLayout);
/*
* Adding isolated objects
*
* We're placing them so that they will take maximum space in left top
* corner. The sample order is below:
*
* 1 2 6 7... 3 5 8 ... 4 9... 10 ...
*/
addIsolatedObjects(isolatedObjects);
view.insert(isolatedObjects.toArray());
graph.getModel().addUndoableEditListener(this);
}
use of org.apache.cayenne.map.DataMap in project cayenne by apache.
the class FindAction method jumpToEmbeddableResult.
private static void jumpToEmbeddableResult(Embeddable embeddable, EditorView editor, DataChannelDescriptor domain) {
DataMap map = embeddable.getDataMap();
buildAndSelectTreePath(map, embeddable, editor);
EmbeddableDisplayEvent event = new EmbeddableDisplayEvent(editor.getProjectTreeView(), embeddable, map, domain);
event.setMainTabFocus(true);
editor.currentEmbeddableChanged(event);
}
use of org.apache.cayenne.map.DataMap in project cayenne by apache.
the class FindAction method search.
private List<SearchResultEntry> search(String searchStr) {
Pattern pattern = Pattern.compile(searchStr, Pattern.CASE_INSENSITIVE);
List<SearchResultEntry> result = new ArrayList<>();
for (DataMap dataMap : ((DataChannelDescriptor) getProjectController().getProject().getRootNode()).getDataMaps()) {
searchInQueryDescriptors(pattern, result, dataMap);
searchInEmbeddables(pattern, result, dataMap);
searchInDbEntities(pattern, result, dataMap);
searchInObjEntities(pattern, result, dataMap);
}
Collections.sort(result);
return result;
}
Aggregations