Search in sources :

Example 6 with QueryDescriptor

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

the class QueryType method createQuery.

/**
 * Action method that creates a query for the specified query type.
 */
public void createQuery() {
    String queryType = getSelectedQuery();
    // update query...
    QueryDescriptor query = QueryDescriptor.descriptor(queryType);
    query.setName(NameBuilder.builder(query, dataMap).name());
    query.setDataMap(dataMap);
    dataMap.addQueryDescriptor(query);
    mediator.getApplication().getUndoManager().addEdit(new CreateQueryUndoableEdit(domain, dataMap, query));
    // notify listeners
    fireQueryEvent(this, mediator, dataMap, query);
    view.dispose();
}
Also used : QueryDescriptor(org.apache.cayenne.map.QueryDescriptor) CreateQueryUndoableEdit(org.apache.cayenne.modeler.undo.CreateQueryUndoableEdit)

Example 7 with QueryDescriptor

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

the class QueryErrorMsg method displayField.

public void displayField(ProjectController mediator, JFrame frame) {
    Object object = super.validationFailure.getSource();
    DataChannelDescriptor domain = (DataChannelDescriptor) mediator.getProject().getRootNode();
    QueryDescriptor query = (QueryDescriptor) object;
    DataMap map = query.getDataMap();
    QueryDisplayEvent event = new QueryDisplayEvent(frame, query, map, domain);
    mediator.fireQueryDisplayEvent(event);
}
Also used : QueryDescriptor(org.apache.cayenne.map.QueryDescriptor) QueryDisplayEvent(org.apache.cayenne.modeler.event.QueryDisplayEvent) DataChannelDescriptor(org.apache.cayenne.configuration.DataChannelDescriptor) DataMap(org.apache.cayenne.map.DataMap)

Example 8 with QueryDescriptor

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

the class EjbqlQueryMainTab method initFromModel.

/**
 * Updates the view from the current model state. Invoked when a currently displayed
 * query is changed.
 */
void initFromModel() {
    QueryDescriptor query = mediator.getCurrentQuery();
    if (query == null || !QueryDescriptor.EJBQL_QUERY.equals(query.getType())) {
        setVisible(false);
        return;
    }
    name.setText(query.getName());
    comment.setText(getQueryComment(query));
    properties.initFromModel(query);
    setVisible(true);
}
Also used : QueryDescriptor(org.apache.cayenne.map.QueryDescriptor)

Example 9 with QueryDescriptor

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

the class EjbqlQueryMainTab method setQueryName.

/**
 * Initializes Query name from string.
 */
void setQueryName(String newName) {
    if (newName != null && newName.trim().length() == 0) {
        newName = null;
    }
    QueryDescriptor query = getQuery();
    if (query == null) {
        return;
    }
    if (Util.nullSafeEquals(newName, query.getName())) {
        return;
    }
    if (newName == null) {
        throw new ValidationException("Query name is required.");
    }
    DataMap map = mediator.getCurrentDataMap();
    if (map.getQueryDescriptor(newName) == null) {
        // completely new name, set new name for entity
        QueryEvent e = new QueryEvent(this, query, query.getName());
        ProjectUtil.setQueryName(map, query, newName);
        mediator.fireQueryEvent(e);
    } else {
        // there is a query with the same name
        throw new ValidationException("There is another query named '" + newName + "'. Use a different name.");
    }
}
Also used : QueryDescriptor(org.apache.cayenne.map.QueryDescriptor) ValidationException(org.apache.cayenne.validation.ValidationException) QueryEvent(org.apache.cayenne.configuration.event.QueryEvent) DataMap(org.apache.cayenne.map.DataMap)

Example 10 with QueryDescriptor

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

the class EjbqlQueryScriptsTab method initFromModel.

public void initFromModel() {
    QueryDescriptor query = mediator.getCurrentQuery();
    if (query == null || !QueryDescriptor.EJBQL_QUERY.equals(query.getType())) {
        setVisible(false);
        return;
    }
    scriptArea.setEnabled(true);
    displayScript();
    validateEJBQL();
    setVisible(true);
}
Also used : EJBQLQueryDescriptor(org.apache.cayenne.map.EJBQLQueryDescriptor) QueryDescriptor(org.apache.cayenne.map.QueryDescriptor)

Aggregations

QueryDescriptor (org.apache.cayenne.map.QueryDescriptor)37 DataMap (org.apache.cayenne.map.DataMap)16 QueryEvent (org.apache.cayenne.configuration.event.QueryEvent)12 ObjEntity (org.apache.cayenne.map.ObjEntity)9 DataChannelDescriptor (org.apache.cayenne.configuration.DataChannelDescriptor)8 DbEntity (org.apache.cayenne.map.DbEntity)7 Embeddable (org.apache.cayenne.map.Embeddable)6 Procedure (org.apache.cayenne.map.Procedure)6 ProcedureQueryDescriptor (org.apache.cayenne.map.ProcedureQueryDescriptor)6 SelectQueryDescriptor (org.apache.cayenne.map.SelectQueryDescriptor)6 Entity (org.apache.cayenne.map.Entity)5 DataNodeDescriptor (org.apache.cayenne.configuration.DataNodeDescriptor)4 QueryDisplayEvent (org.apache.cayenne.modeler.event.QueryDisplayEvent)4 ValidationException (org.apache.cayenne.validation.ValidationException)4 DbAttribute (org.apache.cayenne.map.DbAttribute)3 DbRelationship (org.apache.cayenne.map.DbRelationship)3 EmbeddableAttribute (org.apache.cayenne.map.EmbeddableAttribute)3 ObjAttribute (org.apache.cayenne.map.ObjAttribute)3 ObjRelationship (org.apache.cayenne.map.ObjRelationship)3 ProjectController (org.apache.cayenne.modeler.ProjectController)3