Search in sources :

Example 6 with QueryEvent

use of org.apache.cayenne.configuration.event.QueryEvent in project cayenne by apache.

the class SelectPropertiesPanel method setQueryProperty.

void setQueryProperty(String property, String value) {
    QueryDescriptor query = getQuery();
    if (query != null) {
        try {
            Object old = query.getProperty(property);
            if (Util.nullSafeEquals(value, old)) {
                return;
            }
            query.setProperty(property, value);
            mediator.fireQueryEvent(new QueryEvent(this, query));
        } catch (Exception ex) {
            logObj.warn("Error setting property: " + property, ex);
        }
    }
}
Also used : QueryDescriptor(org.apache.cayenne.map.QueryDescriptor) QueryEvent(org.apache.cayenne.configuration.event.QueryEvent) ValidationException(org.apache.cayenne.validation.ValidationException)

Example 7 with QueryEvent

use of org.apache.cayenne.configuration.event.QueryEvent in project cayenne by apache.

the class QueryType method fireQueryEvent.

/**
 * Fires events when a query was added
 */
public static void fireQueryEvent(Object src, ProjectController mediator, DataMap dataMap, QueryDescriptor query) {
    mediator.fireQueryEvent(new QueryEvent(src, query, MapEvent.ADD, dataMap));
    mediator.fireQueryDisplayEvent(new QueryDisplayEvent(src, query, dataMap, (DataChannelDescriptor) mediator.getProject().getRootNode()));
}
Also used : QueryDisplayEvent(org.apache.cayenne.modeler.event.QueryDisplayEvent) DataChannelDescriptor(org.apache.cayenne.configuration.DataChannelDescriptor) QueryEvent(org.apache.cayenne.configuration.event.QueryEvent)

Example 8 with QueryEvent

use of org.apache.cayenne.configuration.event.QueryEvent 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 9 with QueryEvent

use of org.apache.cayenne.configuration.event.QueryEvent in project cayenne by apache.

the class EjbqlQueryScriptsTab method setEJBQL.

void setEJBQL(String text) {
    EJBQLQueryDescriptor query = getQuery();
    if (query == null) {
        return;
    }
    if (text != null && text.trim().isEmpty()) {
        text = null;
    }
    // will call "verify" even if no changes have occured....
    if (!Util.nullSafeEquals(text, query.getEjbql())) {
        query.setEjbql(text);
        mediator.fireQueryEvent(new QueryEvent(this, query));
    }
}
Also used : EJBQLQueryDescriptor(org.apache.cayenne.map.EJBQLQueryDescriptor) QueryEvent(org.apache.cayenne.configuration.event.QueryEvent)

Example 10 with QueryEvent

use of org.apache.cayenne.configuration.event.QueryEvent in project cayenne by apache.

the class ProjectController method removeFromHistory.

private void removeFromHistory(EventObject e) {
    int count = controllerStateHistory.size();
    List<ControllerState> removeList = new ArrayList<>();
    for (int i = 0; i < count; i++) {
        ControllerState cs = controllerStateHistory.get(i);
        if (cs == null || cs.event == null) {
            continue;
        }
        EventObject csEvent = cs.event;
        if (e instanceof EntityEvent && csEvent instanceof EntityDisplayEvent) {
            if (((EntityEvent) e).getEntity() == ((EntityDisplayEvent) csEvent).getEntity()) {
                removeList.add(cs);
            }
        } else if (e instanceof EmbeddableEvent && csEvent instanceof EmbeddableDisplayEvent) {
            if (((EmbeddableEvent) e).getEmbeddable() == ((EmbeddableDisplayEvent) csEvent).getEmbeddable()) {
                removeList.add(cs);
            }
        } else if (e instanceof ProcedureEvent && csEvent instanceof ProcedureDisplayEvent) {
            if (((ProcedureEvent) e).getProcedure() == ((ProcedureDisplayEvent) csEvent).getProcedure()) {
                removeList.add(cs);
            }
        } else if (e instanceof QueryEvent && csEvent instanceof QueryDisplayEvent) {
            if (((QueryEvent) e).getQuery() == ((QueryDisplayEvent) csEvent).getQuery()) {
                removeList.add(cs);
            }
        } else if (e instanceof DataMapEvent && csEvent instanceof DataMapDisplayEvent) {
            if (((DataMapEvent) e).getDataMap() == ((DataMapDisplayEvent) csEvent).getDataMap()) {
                removeList.add(cs);
            }
        } else if (e instanceof DataNodeEvent && csEvent instanceof DataNodeDisplayEvent) {
            if (((DataNodeEvent) e).getDataNode() == ((DataNodeDisplayEvent) csEvent).getDataNode()) {
                removeList.add(cs);
            }
        } else if (e instanceof DomainEvent && csEvent instanceof DomainDisplayEvent) {
            if (((DomainEvent) e).getDomain() == ((DomainDisplayEvent) csEvent).getDomain()) {
                removeList.add(cs);
            }
        }
    }
    for (ControllerState o : removeList) {
        controllerStateHistory.remove(o);
    }
}
Also used : EmbeddableEvent(org.apache.cayenne.map.event.EmbeddableEvent) DomainEvent(org.apache.cayenne.configuration.event.DomainEvent) ProcedureEvent(org.apache.cayenne.configuration.event.ProcedureEvent) ArrayList(java.util.ArrayList) QueryEvent(org.apache.cayenne.configuration.event.QueryEvent) EventObject(java.util.EventObject) DataMapEvent(org.apache.cayenne.configuration.event.DataMapEvent) DataNodeEvent(org.apache.cayenne.configuration.event.DataNodeEvent) EntityEvent(org.apache.cayenne.map.event.EntityEvent)

Aggregations

QueryEvent (org.apache.cayenne.configuration.event.QueryEvent)25 QueryDescriptor (org.apache.cayenne.map.QueryDescriptor)12 ProcedureQueryDescriptor (org.apache.cayenne.map.ProcedureQueryDescriptor)4 ValidationException (org.apache.cayenne.validation.ValidationException)4 DataMap (org.apache.cayenne.map.DataMap)3 QueryDisplayEvent (org.apache.cayenne.modeler.event.QueryDisplayEvent)3 ArrayList (java.util.ArrayList)2 DataChannelDescriptor (org.apache.cayenne.configuration.DataChannelDescriptor)2 EntityEvent (org.apache.cayenne.map.event.EntityEvent)2 ProjectController (org.apache.cayenne.modeler.ProjectController)2 Ordering (org.apache.cayenne.query.Ordering)2 ActionEvent (java.awt.event.ActionEvent)1 ActionListener (java.awt.event.ActionListener)1 EventObject (java.util.EventObject)1 BadLocationException (javax.swing.text.BadLocationException)1 Document (javax.swing.text.Document)1 ConfigurationNode (org.apache.cayenne.configuration.ConfigurationNode)1 DataMapEvent (org.apache.cayenne.configuration.event.DataMapEvent)1 DataNodeEvent (org.apache.cayenne.configuration.event.DataNodeEvent)1 DomainEvent (org.apache.cayenne.configuration.event.DomainEvent)1