Package net.sourceforge.squirrel_sql.plugins.syntax

Source Code of net.sourceforge.squirrel_sql.plugins.syntax.AutoCorrectProviderImpl

package net.sourceforge.squirrel_sql.plugins.syntax;

import java.io.File;
import java.util.Hashtable;

import net.sourceforge.squirrel_sql.fw.xml.XMLBeanReader;
import net.sourceforge.squirrel_sql.fw.xml.XMLBeanWriter;

public class AutoCorrectProviderImpl
{
   private File _pluginUserSettingsFolder;
   private AutoCorrectData _autoCorrectData;
   private Hashtable<String, String> _emptyHashtable = new Hashtable<String, String>();  

   public static final String AUTO_CORRECT_DATA_FILE_NAME = "autocorrectdata.xml";

   AutoCorrectProviderImpl(File pluginUserSettingsFolder)
   {
      _pluginUserSettingsFolder = pluginUserSettingsFolder;
   }

   public Hashtable<String, String> getAutoCorrects()
   {
      AutoCorrectData acd = getAutoCorrectData();

      if(acd.isEnableAutoCorrects())
      {
         return acd.getAutoCorrectsHash();
      }
      else
      {
         return _emptyHashtable;
      }
   }

   public AutoCorrectData getAutoCorrectData()
   {
      try
      {
         if(null == _autoCorrectData)
         {
            XMLBeanReader br = new XMLBeanReader();

            File path = new File(_pluginUserSettingsFolder.getPath() + File.separator + AUTO_CORRECT_DATA_FILE_NAME);

            if(path.exists())
            {
               br.load(_pluginUserSettingsFolder.getPath() + File.separator + AUTO_CORRECT_DATA_FILE_NAME, this.getClass().getClassLoader());
               _autoCorrectData = (AutoCorrectData) br.iterator().next();
            }
            else
            {
               _autoCorrectData = getDefaultAutoCorrectData();
            }
         }

         return _autoCorrectData;
      }
      catch (Exception e)
      {
         throw new RuntimeException(e);
      }

   }

   private AutoCorrectData getDefaultAutoCorrectData()
   {
      Hashtable<String, String> ret = new Hashtable<String, String>();
      ret.put("SLECT", "SELECT");
      ret.put("FORM", "FROM");
      ret.put("WERE", "WHERE");
      ret.put("SF", "SELECT * FROM");

      return new AutoCorrectData(ret, true);

   }

   public void setAutoCorrects(Hashtable<String, String> newAutoCorrects, boolean enableAutoCorrects)
   {
      try
      {
         _autoCorrectData = new AutoCorrectData(newAutoCorrects, enableAutoCorrects);
         XMLBeanWriter bw = new XMLBeanWriter(_autoCorrectData);
         bw.save(_pluginUserSettingsFolder.getPath() + File.separator + AUTO_CORRECT_DATA_FILE_NAME);
      }
      catch (Exception e)
      {
         throw new RuntimeException(e);
      }
   }

}
TOP

Related Classes of net.sourceforge.squirrel_sql.plugins.syntax.AutoCorrectProviderImpl

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.