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

net.sourceforge.squirrel_sql.plugins.hibernate.viewobjects.ResultsController Maven / Gradle / Ivy

package net.sourceforge.squirrel_sql.plugins.hibernate.viewobjects;

import net.sourceforge.squirrel_sql.client.session.ISession;
import net.sourceforge.squirrel_sql.fw.gui.MultipleLineLabel;
import net.sourceforge.squirrel_sql.fw.util.StringManager;
import net.sourceforge.squirrel_sql.fw.util.StringManagerFactory;
import net.sourceforge.squirrel_sql.plugins.hibernate.mapping.MappedClassInfo;

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

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


   private JPanel _pnlResults;
   private Class _persistenCollectionClass;
   private ArrayList _allMappedClassInfos;
   private ISession _session;

   private MultipleLineLabel _lblClear;

   public ResultsController(JPanel pnlResults, String hqlQuery, Class persistenCollectionClass, ArrayList allMappedClassInfos, ISession session)
   {
      _pnlResults = pnlResults;
      _persistenCollectionClass = persistenCollectionClass;
      _allMappedClassInfos = allMappedClassInfos;
      _session = session;

      _lblClear = createClearLabel(hqlQuery);

      clear();
   }

   private MultipleLineLabel createClearLabel(String hqlQuery)
   {
      MultipleLineLabel ret = new MultipleLineLabel(s_stringMgr.getString("ResultsController.resultDescription", hqlQuery));
      return ret;
   }

   public void typeChanged(Object type)
   {
      if(type instanceof RootType)
      {
         new RootResultController((RootType)type, _pnlResults, _persistenCollectionClass, _allMappedClassInfos);
      }
      else if(type instanceof TupelType)
      {
         new TupelResultController((TupelType) type, _pnlResults, _persistenCollectionClass, _allMappedClassInfos);
      }
      else if(type instanceof SingleType)
      {
         new SingleResultController((SingleType) type, _pnlResults, _session);
      }
      else if(type instanceof PersistentCollectionType)
      {
         PersistentCollectionType persistentCollectionType = (PersistentCollectionType) type;
         new SingleResultController(persistentCollectionType.getSingleType(), _pnlResults, _session);
      }
   }

   public void clear()
   {
      _pnlResults.removeAll();
      _pnlResults.add(new JScrollPane(_lblClear));

      _lblClear.scrollRectToVisible(new Rectangle(0,0,1,1));

      _pnlResults.repaint();

   }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy