All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.sourceforge.squirrel_sql.plugins.graph.querybuilder.GraphQuerySelectPanelCtrl Maven / Gradle / Ivy

package net.sourceforge.squirrel_sql.plugins.graph.querybuilder;

import net.sourceforge.squirrel_sql.fw.util.StringManager;
import net.sourceforge.squirrel_sql.fw.util.StringManagerFactory;
import net.sourceforge.squirrel_sql.plugins.graph.ColumnInfo;
import net.sourceforge.squirrel_sql.plugins.graph.HideDockButtonHandler;
import net.sourceforge.squirrel_sql.plugins.graph.TableFrameController;
import net.sourceforge.squirrel_sql.plugins.graph.TableFramesModel;
import net.sourceforge.squirrel_sql.plugins.graph.xmlbeans.OrderStructureXmlBean;
import net.sourceforge.squirrel_sql.plugins.graph.xmlbeans.SelectStructureXmlBean;

import javax.swing.*;
import java.util.ArrayList;

public class GraphQuerySelectPanelCtrl
{
   private static final StringManager s_stringMgr = StringManagerFactory.getStringManager(GraphQuerySelectPanelCtrl.class);

   private SortedColumnsPanelCtrl _delegate;


   public GraphQuerySelectPanelCtrl(HideDockButtonHandler hideDockButtonHandler, SelectStructureXmlBean selectStructure)
   {
      _delegate = new SortedColumnsPanelCtrl(hideDockButtonHandler, new QuerySelectTableModel(selectStructure), s_stringMgr.getString("graph.GraphQueryOrderPanel.selectLabel"));
   }

   public JPanel getGraphQueryOrderPanel()
   {
      return _delegate.getSortedColumnsPanel();
   }

   public SelectStructure syncSelectCols(TableFramesModel tableFramesModel)
   {
      return new SelectStructure((SelectCol[]) _delegate.syncSortedColumns(SelectCol.class, getSelectCols(tableFramesModel)));
   }

   private ArrayList getSelectCols(TableFramesModel tableFramesModel)
   {
      ArrayList newOrderCols = new ArrayList();

      for (TableFrameController tfc : tableFramesModel.getTblCtrls())
      {
         for (ColumnInfo columnInfo : tfc.getColumnInfos())
         {
            if(columnInfo.getQueryData().isInSelectClause())
            {
               newOrderCols.add(new SelectCol(tfc.getTableInfo().getSimpleName(), columnInfo));
            }
         }
      }
      return newOrderCols;
   }



   public SelectStructureXmlBean getSelectStructure()
   {
      return new SelectStructureXmlBean((SelectCol[]) _delegate.getSortedColumns(SelectCol.class));
   }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy