use of org.apache.cayenne.modeler.undo.CreateRelationshipUndoableEdit in project cayenne by apache.
the class InferRelationshipsController method generateAction.
public void generateAction() {
ProjectController mediator = application.getFrameController().getProjectController();
InferRelationshipsUndoableEdit undoableEdit = new InferRelationshipsUndoableEdit();
for (InferredRelationship temp : selectedEntities) {
DbRelationship rel = new DbRelationship(uniqueRelName(temp.getSource(), temp.getName()));
RelationshipEvent e = new RelationshipEvent(Application.getFrame(), rel, temp.getSource(), MapEvent.ADD);
mediator.fireDbRelationshipEvent(e);
rel.setSourceEntity(temp.getSource());
rel.setTargetEntityName(temp.getTarget());
DbJoin join = new DbJoin(rel, temp.getJoinSource().getName(), temp.getJoinTarget().getName());
rel.addJoin(join);
rel.setToMany(temp.isToMany());
temp.getSource().addRelationship(rel);
undoableEdit.addEdit(new CreateRelationshipUndoableEdit(temp.getSource(), new DbRelationship[] { rel }));
}
JOptionPane.showMessageDialog(this.getView(), getSelectedEntitiesSize() + " relationships generated");
view.dispose();
}
use of org.apache.cayenne.modeler.undo.CreateRelationshipUndoableEdit in project cayenne by apache.
the class CreateRelationshipAction method performAction.
/**
* @see org.apache.cayenne.modeler.util.CayenneAction#performAction(ActionEvent)
*/
@Override
public void performAction(ActionEvent e) {
ObjEntity objEnt = getProjectController().getCurrentObjEntity();
if (objEnt != null) {
ObjRelationship rel = new ObjRelationship();
rel.setName(NameBuilder.builder(rel, objEnt).name());
createObjRelationship(objEnt, rel);
application.getUndoManager().addEdit(new CreateRelationshipUndoableEdit(objEnt, new ObjRelationship[] { rel }));
} else {
DbEntity dbEnt = getProjectController().getCurrentDbEntity();
if (dbEnt != null) {
DbRelationship rel = new DbRelationship();
rel.setName(NameBuilder.builder(rel, dbEnt).name());
createDbRelationship(dbEnt, rel);
application.getUndoManager().addEdit(new CreateRelationshipUndoableEdit(dbEnt, new DbRelationship[] { rel }));
}
}
}
Aggregations