Search in sources :

Example 11 with Entity

use of org.apache.cayenne.map.Entity in project cayenne by apache.

the class RemoveEntityAction method performAction.

@Override
public void performAction(ActionEvent e, boolean allowAsking) {
    ConfirmRemoveDialog dialog = getConfirmDeleteDialog(allowAsking);
    Entity entity = builder.getSelectedEntity();
    if (entity == null) {
        return;
    }
    if (entity instanceof ObjEntity) {
        if (dialog.shouldDelete("ObjEntity", entity.getName())) {
            application.getUndoManager().addEdit(new RemoveUndoableEdit(entity.getDataMap(), (ObjEntity) entity));
            removeObjEntity(entity.getDataMap(), (ObjEntity) entity);
        }
    } else {
        if (dialog.shouldDelete("DbEntity", entity.getName())) {
            application.getUndoManager().addEdit(new RemoveUndoableEdit(entity.getDataMap(), (DbEntity) entity));
            removeDbEntity(entity.getDataMap(), (DbEntity) entity);
        }
    }
}
Also used : ObjEntity(org.apache.cayenne.map.ObjEntity) DbEntity(org.apache.cayenne.map.DbEntity) Entity(org.apache.cayenne.map.Entity) ObjEntity(org.apache.cayenne.map.ObjEntity) DbEntity(org.apache.cayenne.map.DbEntity) RemoveUndoableEdit(org.apache.cayenne.modeler.undo.RemoveUndoableEdit) ConfirmRemoveDialog(org.apache.cayenne.modeler.dialog.ConfirmRemoveDialog)

Example 12 with Entity

use of org.apache.cayenne.map.Entity in project cayenne by apache.

the class ShowGraphEntityAction method performAction.

@Override
public void performAction(ActionEvent e) {
    Entity entity = null;
    ProjectController mediator = getProjectController();
    if (mediator.getCurrentDbEntity() != null) {
        entity = mediator.getCurrentDbEntity();
    } else if (mediator.getCurrentObjEntity() != null) {
        entity = mediator.getCurrentObjEntity();
    }
    if (entity != null) {
        showEntity(entity);
    }
}
Also used : Entity(org.apache.cayenne.map.Entity) ProjectController(org.apache.cayenne.modeler.ProjectController)

Example 13 with Entity

use of org.apache.cayenne.map.Entity in project cayenne by apache.

the class FindAction method jumpToResult.

/**
 * Navigate to search result
 * Used also in {@link org.apache.cayenne.modeler.graph.action.EntityDisplayAction}
 */
public static void jumpToResult(FindAction.SearchResultEntry searchResultEntry) {
    EditorView editor = ((CayenneModelerFrame) Application.getInstance().getFrameController().getView()).getView();
    DataChannelDescriptor domain = (DataChannelDescriptor) Application.getInstance().getProject().getRootNode();
    if (searchResultEntry.getObject() instanceof Entity) {
        jumpToEntityResult((Entity) searchResultEntry.getObject(), editor, domain);
    } else if (searchResultEntry.getObject() instanceof QueryDescriptor) {
        jumpToQueryResult((QueryDescriptor) searchResultEntry.getObject(), editor, domain);
    } else if (searchResultEntry.getObject() instanceof Embeddable) {
        jumpToEmbeddableResult((Embeddable) searchResultEntry.getObject(), editor, domain);
    } else if (searchResultEntry.getObject() instanceof EmbeddableAttribute) {
        jumpToEmbeddableAttributeResult((EmbeddableAttribute) searchResultEntry.getObject(), editor, domain);
    } else if (searchResultEntry.getObject() instanceof Attribute || searchResultEntry.getObject() instanceof Relationship) {
        jumpToAttributeResult(searchResultEntry, editor, domain);
    }
}
Also used : ObjEntity(org.apache.cayenne.map.ObjEntity) DetectedDbEntity(org.apache.cayenne.map.DetectedDbEntity) Entity(org.apache.cayenne.map.Entity) DbEntity(org.apache.cayenne.map.DbEntity) EJBQLQueryDescriptor(org.apache.cayenne.map.EJBQLQueryDescriptor) SelectQueryDescriptor(org.apache.cayenne.map.SelectQueryDescriptor) QueryDescriptor(org.apache.cayenne.map.QueryDescriptor) ProcedureQueryDescriptor(org.apache.cayenne.map.ProcedureQueryDescriptor) DataChannelDescriptor(org.apache.cayenne.configuration.DataChannelDescriptor) DbAttribute(org.apache.cayenne.map.DbAttribute) ObjAttribute(org.apache.cayenne.map.ObjAttribute) Attribute(org.apache.cayenne.map.Attribute) EmbeddableAttribute(org.apache.cayenne.map.EmbeddableAttribute) Relationship(org.apache.cayenne.map.Relationship) DbRelationship(org.apache.cayenne.map.DbRelationship) ObjRelationship(org.apache.cayenne.map.ObjRelationship) EditorView(org.apache.cayenne.modeler.editor.EditorView) EmbeddableAttribute(org.apache.cayenne.map.EmbeddableAttribute) CayenneModelerFrame(org.apache.cayenne.modeler.CayenneModelerFrame) Embeddable(org.apache.cayenne.map.Embeddable)

Example 14 with Entity

use of org.apache.cayenne.map.Entity in project cayenne by apache.

the class FindAction method jumpToAttributeResult.

private static void jumpToAttributeResult(SearchResultEntry searchResultEntry, EditorView editor, DataChannelDescriptor domain) {
    DataMap map;
    Entity entity;
    if (searchResultEntry.getObject() instanceof Attribute) {
        map = ((Attribute) searchResultEntry.getObject()).getEntity().getDataMap();
        entity = ((Attribute) searchResultEntry.getObject()).getEntity();
    } else {
        map = ((Relationship) searchResultEntry.getObject()).getSourceEntity().getDataMap();
        entity = ((Relationship) searchResultEntry.getObject()).getSourceEntity();
    }
    buildAndSelectTreePath(map, entity, editor);
    if (searchResultEntry.getObject() instanceof Attribute) {
        AttributeDisplayEvent event = new AttributeDisplayEvent(editor.getProjectTreeView(), (Attribute) searchResultEntry.getObject(), entity, map, domain);
        event.setMainTabFocus(true);
        if (searchResultEntry.getObject() instanceof DbAttribute) {
            editor.getDbDetailView().currentDbAttributeChanged(event);
        } else {
            editor.getObjDetailView().currentObjAttributeChanged(event);
        }
    } else if (searchResultEntry.getObject() instanceof Relationship) {
        RelationshipDisplayEvent event = new RelationshipDisplayEvent(editor.getProjectTreeView(), (Relationship) searchResultEntry.getObject(), entity, map, domain);
        event.setMainTabFocus(true);
        if (searchResultEntry.getObject() instanceof DbRelationship) {
            editor.getDbDetailView().currentDbRelationshipChanged(event);
        } else {
            editor.getObjDetailView().currentObjRelationshipChanged(event);
        }
    }
}
Also used : ObjEntity(org.apache.cayenne.map.ObjEntity) DetectedDbEntity(org.apache.cayenne.map.DetectedDbEntity) Entity(org.apache.cayenne.map.Entity) DbEntity(org.apache.cayenne.map.DbEntity) EmbeddableAttributeDisplayEvent(org.apache.cayenne.modeler.event.EmbeddableAttributeDisplayEvent) AttributeDisplayEvent(org.apache.cayenne.modeler.event.AttributeDisplayEvent) DbAttribute(org.apache.cayenne.map.DbAttribute) ObjAttribute(org.apache.cayenne.map.ObjAttribute) Attribute(org.apache.cayenne.map.Attribute) EmbeddableAttribute(org.apache.cayenne.map.EmbeddableAttribute) Relationship(org.apache.cayenne.map.Relationship) DbRelationship(org.apache.cayenne.map.DbRelationship) ObjRelationship(org.apache.cayenne.map.ObjRelationship) DbRelationship(org.apache.cayenne.map.DbRelationship) DbAttribute(org.apache.cayenne.map.DbAttribute) DataMap(org.apache.cayenne.map.DataMap) RelationshipDisplayEvent(org.apache.cayenne.modeler.event.RelationshipDisplayEvent)

Example 15 with Entity

use of org.apache.cayenne.map.Entity in project cayenne by apache.

the class DbAttributePathComboBoxEditor method createTreeModelForComboBox.

@Override
protected EntityTreeModel createTreeModelForComboBox(int attributeIndexInTable) {
    ObjAttribute attribute = model.getAttribute(attributeIndexInTable).getValue();
    Entity firstEntity = null;
    if (attribute.getDbAttribute() == null) {
        if (attribute.getParent() instanceof ObjEntity) {
            DbEntity dbEnt = ((ObjEntity) attribute.getParent()).getDbEntity();
            if (dbEnt != null) {
                Collection<DbAttribute> attributes = dbEnt.getAttributes();
                Collection<DbRelationship> rel = dbEnt.getRelationships();
                if (!attributes.isEmpty()) {
                    Iterator<DbAttribute> iterator = attributes.iterator();
                    firstEntity = iterator.next().getEntity();
                } else if (!rel.isEmpty()) {
                    Iterator<DbRelationship> iterator = rel.iterator();
                    firstEntity = iterator.next().getSourceEntity();
                }
            }
        }
    } else {
        firstEntity = getFirstEntity(attribute);
    }
    if (firstEntity != null) {
        EntityTreeModel treeModel = new EntityTreeModel(firstEntity);
        treeModel.setFilter(new EntityTreeAttributeRelationshipFilter());
        return treeModel;
    }
    return null;
}
Also used : ObjEntity(org.apache.cayenne.map.ObjEntity) DbEntity(org.apache.cayenne.map.DbEntity) Entity(org.apache.cayenne.map.Entity) ObjEntity(org.apache.cayenne.map.ObjEntity) ObjAttribute(org.apache.cayenne.map.ObjAttribute) DbEntity(org.apache.cayenne.map.DbEntity) DbRelationship(org.apache.cayenne.map.DbRelationship) DbAttribute(org.apache.cayenne.map.DbAttribute) Iterator(java.util.Iterator)

Aggregations

Entity (org.apache.cayenne.map.Entity)38 DbEntity (org.apache.cayenne.map.DbEntity)24 ObjEntity (org.apache.cayenne.map.ObjEntity)23 DataMap (org.apache.cayenne.map.DataMap)10 DbRelationship (org.apache.cayenne.map.DbRelationship)9 DataChannelDescriptor (org.apache.cayenne.configuration.DataChannelDescriptor)6 DbAttribute (org.apache.cayenne.map.DbAttribute)6 Attribute (org.apache.cayenne.map.Attribute)5 ObjAttribute (org.apache.cayenne.map.ObjAttribute)5 QueryDescriptor (org.apache.cayenne.map.QueryDescriptor)5 Relationship (org.apache.cayenne.map.Relationship)5 EntityEvent (org.apache.cayenne.map.event.EntityEvent)5 EntityDisplayEvent (org.apache.cayenne.modeler.event.EntityDisplayEvent)5 Test (org.junit.Test)5 ArrayList (java.util.ArrayList)4 DataNodeDescriptor (org.apache.cayenne.configuration.DataNodeDescriptor)4 ObjRelationship (org.apache.cayenne.map.ObjRelationship)4 SelectQueryDescriptor (org.apache.cayenne.map.SelectQueryDescriptor)3 Collection (java.util.Collection)2 HashMap (java.util.HashMap)2