Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. /
 package org.apache.cayenne.modeler.editor;
 import java.util.List;
 import  org.apache.cayenne.query.Query;
 import  com.jgoodies.forms.builder.PanelBuilder;
 import  com.jgoodies.forms.layout.CellConstraints;
 import  com.jgoodies.forms.layout.FormLayout;

A panel that supports editing the properties a query not based on ObjEntity, but still supporting DataObjects retrieval.
 public abstract class RawQueryPropertiesPanel extends SelectPropertiesPanel {
     protected JCheckBox dataObjects;
     protected JComboBox entities;
     public RawQueryPropertiesPanel(ProjectController mediator) {
     protected void initController() {
         .addActionListener(new ActionListener() {
             public void actionPerformed(ActionEvent event) {
         .addActionListener(new ActionListener() {
             public void actionPerformed(ActionEvent event) {
                 ObjEntity entity = (ObjEntity) .getModel().getSelectedItem();
     protected PanelBuilder createPanelBuilder() {
         CellConstraints cc = new CellConstraints();
         FormLayout layout = new FormLayout(
                 "right:max(80dlu;pref), 3dlu, left:max(10dlu;pref), "
                         + "3dlu, left:max(37dlu;pref), 3dlu, fill:max(147dlu;pref)",
                 "p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p");
         PanelBuilder builder = new PanelBuilder(layout);
         builder.addSeparator("Select Properties"cc.xywh(1, 1, 7, 1));
         builder.addLabel("Result Caching:"cc.xy(1, 3));
         builder.add(cc.xywh(3, 3, 5, 1));
          = builder.addLabel("Cache Groups:"cc.xy(1, 7));
         builder.add(.getComponent(), cc.xywh(3, 7, 5, 1));
         builder.addLabel("Fetch Data Objects:"cc.xy(1, 9));
         builder.add(cc.xy(3, 9));
         builder.add(cc.xywh(5, 9, 3, 1));
         builder.addLabel("Fetch Offset, Rows:"cc.xy(1, 11));
         builder.add(.getComponent(), cc.xywh(3, 11, 3, 1));
         builder.addLabel("Fetch Limit, Rows:"cc.xy(1, 13));
         builder.add(.getComponent(), cc.xywh(3, 13, 3, 1));
        builder.addLabel("Page Size:"cc.xy(1, 15));
        builder.add(.getComponent(), cc.xywh(3, 15, 3, 1));
        return builder;
    protected void initView() {
        // create widgets
         = new JCheckBox();
         = CayenneWidgetFactory.createUndoableComboBox();
        this.setLayout(new BorderLayout());
        this.add(createPanelBuilder().getPanel(), .);

Updates the view from the current model state. Invoked when a currently displayed query is changed.
    public void initFromModel(Query query) {
        boolean fetchingDO = !query.getMetaData(
        // TODO: now we only allow ObjEntities from the current map,
        // since query root is fully resolved during map loading,
        // making it impossible to reference other DataMaps.
        DataMap map = .getCurrentDataMap();
        List objEntities = new ArrayList();
        if (objEntities.size() > 1) {
            Collections.sort(objEntities, Comparators.getDataMapChildrenComparator());
        .setEnabled(fetchingDO && isEnabled());
        DefaultComboBoxModel model = new DefaultComboBoxModel(objEntities.toArray());
    protected abstract void setEntity(ObjEntity selectedEntity);
    protected abstract ObjEntity getEntity(Query query);
    protected void setFetchingDataObjects(boolean dataObjects) {
        .setEnabled(dataObjects && isEnabled());
        if (!dataObjects) {
        setQueryProperty("fetchingDataRows"dataObjects ? . : .);
New to GrepCode? Check out our FAQ X