Package net.sourceforge.squirrel_sql.client.update.gui.installer

Source Code of net.sourceforge.squirrel_sql.client.update.gui.installer.PreLaunchUpdateApplication

/*
* Copyright (C) 2007 Rob Manning
* manningr@users.sourceforge.net
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*/
package net.sourceforge.squirrel_sql.client.update.gui.installer;

import java.io.File;
import java.io.IOException;

import net.sourceforge.squirrel_sql.client.ApplicationArguments;
import net.sourceforge.squirrel_sql.client.SquirrelLoggerFactory;
import net.sourceforge.squirrel_sql.client.util.ApplicationFiles;
import net.sourceforge.squirrel_sql.fw.util.log.LoggerController;

import org.apache.log4j.FileAppender;
import org.apache.log4j.Layout;
import org.apache.log4j.PatternLayout;
import org.apache.log4j.PropertyConfigurator;

/**
* This is a small application that will be launched each time SQuirreL is started to quickly check to see if
* updates are available to be applied. Since this application uses Spring, it sets up the Spring context.
*/
public class PreLaunchUpdateApplication
{

  /** The helper that most work is delegated to */
  private static PreLaunchHelper helper = null;
 
  public static final String PROMPT_MODE = "prompt";
 
  public static final String RESTORE_MODE = "restore"
 
  /**
   * Entry point of the
   * @param args
   */
  public static void main(String[] args) throws IOException
  {
    ApplicationArguments.initialize(args);
    initializeLogger();
    boolean prompt = getMode(PROMPT_MODE);
    boolean restore = getMode(RESTORE_MODE);
    setupHelper();
    if (!restore) {
      helper.installUpdates(prompt);
      helper.updateLaunchScript();
      helper.copySplashImage();
    } else {
      helper.restoreFromBackup();
    }
  }
 
  // Helper methods
 
  private static void setupHelper()
  {
    PreLaunchHelperFactory preLaunchHelperFactory = new PreLaunchHelperFactoryImpl();
    helper = preLaunchHelperFactory.createPreLaunchHelper();
  }
 
  private static boolean getMode(String mode)
  {
    boolean prompt = false;
    if (Boolean.getBoolean(mode)) {
      prompt = true;
    }
    return prompt;
  }
   
  private static void initializeLogger() throws IOException
  {
    String logConfigFileName = ApplicationArguments.getInstance().getLoggingConfigFileName();
    if (logConfigFileName != null) {
      PropertyConfigurator.configure(logConfigFileName);
    } else {
      ApplicationFiles appFiles = new ApplicationFiles();
     
      String logMessagePattern = "%-4r [%t] %-5p %c %x - %m%n";
      Layout layout = new PatternLayout(logMessagePattern);
     
      File logsDir = new File(appFiles.getUserSettingsDirectory(), "logs");
      File updateLogFile = new File(logsDir, "updater.log");
     
      FileAppender appender = new FileAppender(layout, updateLogFile.getAbsolutePath());
     
      LoggerController.registerLoggerFactory(new SquirrelLoggerFactory(appender, false));
    }
  } 
 

}
TOP

Related Classes of net.sourceforge.squirrel_sql.client.update.gui.installer.PreLaunchUpdateApplication

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.