org.apache.cayenne.map.QueryDescriptor.getRoot()方法的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(5.5k)|赞(0)|评价(0)|浏览(72)

本文整理了Java中org.apache.cayenne.map.QueryDescriptor.getRoot方法的一些代码示例,展示了QueryDescriptor.getRoot的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。QueryDescriptor.getRoot方法的具体详情如下:
包路径:org.apache.cayenne.map.QueryDescriptor
类名称:QueryDescriptor
方法名:getRoot

QueryDescriptor.getRoot介绍

[英]Returns the root of this query.
[中]

代码示例

代码示例来源:origin: org.apache.cayenne.modeler/cayenne-modeler

/**
 * Returns an entity that maps to a procedure query result class.
 */
ObjEntity getEntity(QueryDescriptor query) {
  return query != null && query.getRoot() instanceof ObjEntity ? (ObjEntity) query
      .getRoot() : null;
}

代码示例来源:origin: org.apache.cayenne.modeler/cayenne-modeler

/**
   * @return whether specified's query name is 'default' i.e. Cayenne generated
   * A query's name is 'default' if it starts with 'UntitledQuery' or with root name.
   * 
   * We cannot follow user input because tab might be opened many times
   */
  boolean hasDefaultName(QueryDescriptor query) {
    String prefix = query.getRoot() == null ? "UntitledQuery" :
      CellRenderers.asString(query.getRoot()) + "Query";
    
    return name.getComponent().getText().startsWith(prefix);
  }
}

代码示例来源:origin: org.apache.cayenne/cayenne-project

Entity validateRoot(QueryDescriptor query, ValidationResult validationResult) {
  DataMap map = query.getDataMap();
  if (query.getRoot() == null && map != null) {
    addFailure(validationResult, query, "Query '%s' has no root", query.getName());
    return null;
  }
  if (query.getRoot() == map) {
    // map-level query... everything is clean
    return null;
  }
  if (map == null) {
    // maybe standalone entity, otherwise bail...
    return (query.getRoot() instanceof Entity) ? (Entity) query.getRoot() : null;
  }
  if (query.getRoot() instanceof Entity) {
    return (Entity) query.getRoot();
  }
  // can't validate Class root - it is likely not accessible from here...
  if (query.getRoot() instanceof Class<?>) {
    return null;
  }
  // resolve entity
  if (query.getRoot() instanceof String) {
    DataMap parent = query.getDataMap();
    if (parent != null) {
      return parent.getNamespace().getObjEntity((String) query.getRoot());
    }
  }
  return null;
}

代码示例来源:origin: org.apache.cayenne/cayenne-project

void validateRoot(QueryDescriptor query, ValidationResult validationResult) {
    DataMap map = query.getDataMap();
    if (query.getRoot() == null && map != null) {
      addFailure(
          validationResult,
          query,
          "SQLTemplate query '%s' has no root",
          query.getName());
    }
  }
}

代码示例来源:origin: org.apache.cayenne.modeler/cayenne-modeler

protected void initFromModel() {
  QueryDescriptor query = mediator.getCurrentQuery();
  if (query == null || !QueryDescriptor.SELECT_QUERY.equals(query.getType())) {
    processInvalidModel("Unknown query.");
    return;
  }
  if (!(query.getRoot() instanceof Entity)) {
    processInvalidModel("SelectQuery has no root set.");
    return;
  }
  this.selectQuery = (SelectQueryDescriptor) query;
  browser.setModel(createBrowserModel((Entity) selectQuery.getRoot()));
  table.setModel(createTableModel());
  // init column sizes
  table.getColumnModel().getColumn(0).setPreferredWidth(250);
  cardLayout.show(this, REAL_PANEL);
}

代码示例来源:origin: org.apache.cayenne.modeler/cayenne-modeler

/**
 * 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.PROCEDURE_QUERY.equals(query.getType())) {
    setVisible(false);
    return;
  }
  properties.setEnabled(true);
  name.setText(query.getName());
  // init root choices and title label..
  // - ProcedureQuery supports Procedure roots
  // TODO: now we only allow roots from the current map,
  // since query root is fully resolved during map loading,
  // making it impossible to reference other DataMaps.
  DataMap map = mediator.getCurrentDataMap();
  Object[] roots = map.getProcedures().toArray();
  if (roots.length > 1) {
    Arrays.sort(roots, Comparators.getDataMapChildrenComparator());
  }
  DefaultComboBoxModel model = new DefaultComboBoxModel(roots);
  model.setSelectedItem(query.getRoot());
  queryRoot.setModel(model);
  properties.initFromModel(query);
  setVisible(true);
}

代码示例来源:origin: org.apache.cayenne.modeler/cayenne-modeler

/**
 * Removes current object entity from its DataMap.
 */
public void removeObjEntity(DataMap map, ObjEntity entity) {
  ProjectController mediator = getProjectController();
  EntityEvent e = new EntityEvent(Application.getFrame(), entity, MapEvent.REMOVE);
  e.setDomain((DataChannelDescriptor) mediator.getProject().getRootNode());
  map.removeObjEntity(entity.getName(), true);
  mediator.fireObjEntityEvent(e);
  // remove queries that depend on entity
  // TODO: (Andrus, 09/09/2005) show warning dialog?
  // clone to be able to remove within iterator...
  for (QueryDescriptor query : new ArrayList<>(map.getQueryDescriptors())) {
    if (!QueryDescriptor.EJBQL_QUERY.equals(query.getType())) {
      Object root = query.getRoot();
      if (root == entity || (root instanceof String && root.toString().equals(entity.getName()))) {
        removeQuery(map, query);
      }
    }
  }
}

代码示例来源:origin: org.apache.cayenne.modeler/cayenne-modeler

void initFromModel() {
  if (!QueryDescriptor.SELECT_QUERY.equals(mediator.getCurrentQuery().getType())) {
    setVisible(false);
    return;
  }
  // if no root, reset tabs to show the first panel..
  if (mediator.getCurrentQuery().getRoot() == null) {
    lastSelectionIndex = 0;
  }
  // tab did not change - force update
  if (getSelectedIndex() == lastSelectionIndex) {
    updateTabs();
  }
  // change tab, this will update newly displayed tab...
  else {
    setSelectedIndex(lastSelectionIndex);
  }
  setVisible(true);
}

代码示例来源:origin: org.apache.cayenne.modeler/cayenne-modeler

void initFromModel() {
  if (!QueryDescriptor.SQL_TEMPLATE.equals(mediator.getCurrentQuery().getType())) {
    setVisible(false);
    return;
  }
  // if no root, reset tabs to show the first panel..
  if (mediator.getCurrentQuery().getRoot() == null) {
    lastSelectionIndex = 0;
  }
  // tab did not change - force update
  if (getSelectedIndex() == lastSelectionIndex) {
    updateTabs();
  }
  // change tab, this will update newly displayed tab...
  else {
    setSelectedIndex(lastSelectionIndex);
  }
  setVisible(true);
}

相关文章