Package org.apache.cayenne.modeler

Examples of org.apache.cayenne.modeler.ProjectController


    /**
     * Removes current object entity from its DataMap.
     */
    protected void removeObjEntity() {
        ProjectController mediator = getProjectController();
        ObjEntity entity = mediator.getCurrentObjEntity();

        DataMap map = mediator.getCurrentDataMap();
        map.removeObjEntity(entity.getName(), true);
        mediator.fireObjEntityEvent(new EntityEvent(
                Application.getFrame(),
                entity,
                MapEvent.REMOVE));

        // remove queries that depend on entity
        // TODO: (Andrus, 09/09/2005) show warning dialog?

        // clone to be able to remove within iterator...
        Iterator it = new ArrayList(map.getQueries()).iterator();
        while (it.hasNext()) {
            AbstractQuery next = (AbstractQuery) it.next();
            Object root = next.getRoot();

            if (root == entity
                    || (root instanceof String && root
                            .toString()
                            .equals(entity.getName()))) {
                map.removeQuery(next.getName());
                mediator.fireQueryEvent(new QueryEvent(
                        Application.getFrame(),
                        next,
                        MapEvent.REMOVE));
            }
        }
View Full Code Here


            }
        }
    }

    protected void removeDataMapFromDataNode() {
        ProjectController mediator = getProjectController();
        DataNode node = mediator.getCurrentDataNode();
        DataMap map = mediator.getCurrentDataMap();
        node.removeDataMap(map.getName());

        // Force reloading of the data node in the browse view
        mediator.fireDataNodeEvent(new DataNodeEvent(Application.getFrame(), node));
    }
View Full Code Here

     * DbEntityDisplayEvent.
     *
     * @see org.apache.cayenne.modeler.util.CayenneAction#performAction(ActionEvent)
     */
    public void performAction(ActionEvent e) {
        ProjectController mediator = getProjectController();
        DbEntity entity = createEntity(mediator.getCurrentDataMap());

        mediator.fireDbEntityEvent(new EntityEvent(this, entity, MapEvent.ADD));
        EntityDisplayEvent displayEvent = new EntityDisplayEvent(this, entity, mediator
                .getCurrentDataMap(), mediator.getCurrentDataNode(), mediator
                .getCurrentDataDomain());
        mediator.fireDbEntityDisplayEvent(displayEvent);
    }
View Full Code Here

    /**
     * Returns false if cancel closing the window, true otherwise.
     */
    public boolean checkSaveOnClose() {
        ProjectController projectController = getProjectController();
        if (projectController != null && projectController.isDirty()) {
            UnsavedChangesDialog dialog = new UnsavedChangesDialog(Application.getFrame());
            dialog.show();

            if (dialog.shouldCancel()) {
                // discard changes and DO NOT close
                return false;
            }
            else if (dialog.shouldSave()) {
                // save changes and close
                ActionEvent e = new ActionEvent(
                        this,
                        ActionEvent.ACTION_PERFORMED,
                        "SaveAll");
                Application
                        .getInstance()
                        .getAction(SaveAction.getActionName())
                        .actionPerformed(e);
                if (projectController.isDirty()) {
                    // save was canceled... do not close
                    return false;
                }
            }
        }
View Full Code Here

    /**
     * Moves to the next element in the navigation history
     */
    public void performAction(ActionEvent e) {
        ProjectController mediator = getProjectController();
        EventObject newEvent = new EventObject(this);
        mediator.fireNavigationEvent(newEvent);
    }
View Full Code Here

            removeProcedureParameter();
        }
    }

    protected void removeProcedureParameter() {
        ProjectController mediator = getProjectController();
        ProcedureParameter parameter = mediator.getCurrentProcedureParameter();
        mediator.getCurrentProcedure().removeCallParameter(parameter.getName());

        ProcedureParameterEvent e = new ProcedureParameterEvent(
                Application.getFrame(),
                parameter,
                MapEvent.REMOVE);

        mediator.fireProcedureParameterEvent(e);
    }
View Full Code Here

    public void performAction(ActionEvent e) {
        createObjEntity();
    }

    protected void createObjEntity() {
        ProjectController mediator = getProjectController();

        DataMap dataMap = mediator.getCurrentDataMap();
        ObjEntity entity = (ObjEntity) NamedObjectFactory.createObject(
                ObjEntity.class,
                mediator.getCurrentDataMap());

        // init defaults
        entity.setSuperClassName(dataMap.getDefaultSuperclass());
        entity.setDeclaredLockType(dataMap.getDefaultLockType());

        DbEntity dbEntity = mediator.getCurrentDbEntity();
        if (dbEntity != null) {
            entity.setDbEntity(dbEntity);
            String baseName = NameConverter.underscoredToJava(dbEntity.getName(), true);
            String entityName = NamedObjectFactory.createName(ObjEntity.class, dbEntity
                    .getDataMap(), baseName);
            entity.setName(entityName);
        }

        String pkg = dataMap.getDefaultPackage();
        if (pkg != null) {
            if (!pkg.endsWith(".")) {
                pkg = pkg + ".";
            }

            entity.setClassName(pkg + entity.getName());
        }

        dataMap.addObjEntity(entity);

        // perform the merge
        EntityMergeSupport merger = new EntityMergeSupport(dataMap);
        merger.synchronizeWithDbEntity(entity);

        mediator.fireObjEntityEvent(new EntityEvent(this, entity, MapEvent.ADD));
        EntityDisplayEvent displayEvent = new EntityDisplayEvent(
                this,
                entity,
                dataMap,
                mediator.getCurrentDataNode(),
                mediator.getCurrentDataDomain());
        mediator.fireObjEntityDisplayEvent(displayEvent);
    }
View Full Code Here

        boolean on = defaultLockType == ObjEntity.LOCK_TYPE_OPTIMISTIC;

        boolean updateEntities = view.getEntities().isSelected();
        boolean updateAttributes = view.getAttributes().isSelected();
        boolean updateRelationships = view.getRelationships().isSelected();
        ProjectController parent = (ProjectController) getParent();

        Iterator it = dataMap.getObjEntities().iterator();
        while (it.hasNext()) {
            ObjEntity entity = (ObjEntity) it.next();

            if (updateEntities && defaultLockType != entity.getDeclaredLockType()) {
                entity.setDeclaredLockType(defaultLockType);
                parent.fireObjEntityEvent(new EntityEvent(this, entity));
            }

            if (updateAttributes) {
                Iterator attributes = entity.getAttributes().iterator();
                while (attributes.hasNext()) {

                    ObjAttribute a = (ObjAttribute) attributes.next();
                    if (a.isUsedForLocking() != on) {
                        a.setUsedForLocking(on);
                        parent.fireObjAttributeEvent(new AttributeEvent(this, a, entity));
                    }
                }
            }

            if (updateRelationships) {
                Iterator relationships = entity.getRelationships().iterator();
                while (relationships.hasNext()) {

                    ObjRelationship r = (ObjRelationship) relationships.next();
                    if (r.isUsedForLocking() != on) {
                        r.setUsedForLocking(on);
                        parent.fireObjRelationshipEvent(new RelationshipEvent(
                                this,
                                r,
                                entity));
                    }
                }
View Full Code Here

            return;
        }

        ProjectDataSource projectDS = (ProjectDataSource) getNode().getDataSource();

        ProjectController parent = (ProjectController) getParent();
        String key = parent.getDataNodePreferences().getLocalDataSource();
        if (key == null) {
            mainController.updateStatus("No Local DataSource selected for node...");
            return;
        }

        DBConnectionInfo dataSource = (DBConnectionInfo) parent
                .getApplicationPreferenceDomain()
                .getDetail(key, DBConnectionInfo.class, false);

        if (dataSource != null) {
            if (dataSource.copyTo(projectDS.getDataSourceInfo())) {
View Full Code Here

        // validate...
        if (newName == null) {
            throw new ValidationException("Empty DataNode Name");
        }

        ProjectController parent = (ProjectController) getParent();
        Configuration config = ((ApplicationProject) parent.getProject())
                .getConfiguration();

        DataNode matchingNode = null;

        Iterator it = config.getDomains().iterator();
        while (it.hasNext()) {
            DataDomain domain = (DataDomain) it.next();
            DataNode nextNode = domain.getNode(newName);

            if (nextNode == node) {
                continue;
            }

            if (nextNode != null) {
                matchingNode = nextNode;
                break;
            }
        }

        if (matchingNode != null) {
            // there is an entity with the same name
            throw new ValidationException("There is another DataNode named '"
                    + newName
                    + "'. Use a different name.");
        }

        // passed validation, set value...

        // TODO: fixme....there is a slight chance that domain is different than the one
        // cached node belongs to
        ProjectUtil.setDataNodeName(parent.getCurrentDataDomain(), node, newName);
    }
View Full Code Here

TOP

Related Classes of org.apache.cayenne.modeler.ProjectController

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.