SessionEdit.java :  » J2EE » Enhydra-Application-Framework » org » enhydra » server » Java Open Source

Java Open Source » J2EE » Enhydra Application Framework 
Enhydra Application Framework » org » enhydra » server » SessionEdit.java
package org.enhydra.server;


import org.enhydra.util.ConfigFileInterface;

import com.lutris.util.Config;
import com.lutris.util.ConfigException;
import com.lutris.util.KeywordValueException;

/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2002</p>
 * <p>Company: www.together.at</p>
 * @author tufeX tufex@uns.ns.ac.yu
 * @version 1.1
 */

public class SessionEdit {

  private String sessionLifetimeMax;
  private String sessionIdleTimeMax;
  private String sessionNoUserIdleTimeMax;
  private String idleScanInterval;
  private String randomizerIntervals[];
  private String memoryPersistence;
  private String mode;
  private String maxSessions;
  private String pageThreshold;
  private String pageTimeThreshold;
  private String pageWait;
  private String saveOnRestart;
  private String pageDir;
  private String databaseName;
  private String dBTableName;
  private String sessionHomeClass;
  private String sessionUserTableClass;

  private String sessionEncodeUrlState;
  private String sessionEncodeFirstUrl;
  //Default values

  private String sessionLifetimeMaxDefault = "0";
  private String sessionIdleTimeMaxDefault = "30";
  private String sessionNoUserIdleTimeMaxDefault = "30";
  private String idleScanIntervalDefault = "30";
  private String randomizerIntervalsDefault[] = {"301","1001","5003"};
  private String memoryPersistenceDefault = "false";
  private String modeDefault = "BASIC";
  private String maxSessionsDefault = "-1";
  private String pageThresholdDefault = "-1";
//  private String pageTimeThresholdDefault = "-1";
  private String pageWaitDefault = "60000";
  private String saveOnRestartDefault = "false";
  private String pageDirDefault = "";
  private String databaseNameDefault = "";
  private String dBTableNameDefault = "PersistentSession";
  private String sessionHomeClassDefault = "";
  private String sessionUserTableClassDefault = "";

  private String sessionEncodeUrlStateDefault = "Auto";
  private String sessionEncodeFirstUrlDefault = "false";
  

  Config config;

  private SessionEdit() {
  }
  /**
   * One and only constructor, fill SessionManager parameters from application
   * config file (or set default value if parameter doesn't exist).
   * @param appConfig application Config
   * @throws ConfigException
   * @throws KeywordValueException
   */
  public SessionEdit(Config appConfig) throws ConfigException, KeywordValueException {
    config = appConfig;
    String temp;
      if (config == null) throw new ConfigException("Exception in SessionEdit(), config == null");
      //SessionManager.*
      if(config.containsKey("SessionManager.Lifetime")){ // backwards compatibility
        setSessionLifetimeMax(config.getString("SessionManager.Lifetime"));  //set new parameter
        config.remove("SessionManager.Lifetime");  //remove old parameter
      }else sessionLifetimeMax = config.getString("SessionManager.SessionLifetimeMax",sessionLifetimeMaxDefault);

      if(config.containsKey("SessionManager.MaxIdleTime")){ // backwards compatibility
        setSessionIdleTimeMax(config.getString("SessionManager.MaxIdleTime"));  //set new parameter
        config.remove("SessionManager.MaxIdleTime");  //remove old parameter
      }else sessionIdleTimeMax = config.getString("SessionManager.SessionIdleTimeMax",sessionIdleTimeMaxDefault);

      if(config.containsKey("SessionManager.MaxNoUserIdleTime")){ // backwards compatibility
        setSessionNoUserIdleTimeMax(config.getString("SessionManager.MaxNoUserIdleTime"));  //set new parameter
        config.remove("SessionManager.MaxNoUserIdleTime");  //remove old parameter
      }else sessionNoUserIdleTimeMax = config.getString("SessionManager.SessionNoUserIdleTimeMax",sessionNoUserIdleTimeMaxDefault);

      idleScanInterval = config.getString("SessionManager.IdleScanInterval",idleScanIntervalDefault);

      randomizerIntervals = config.getStrings("SessionManager.RandomizerIntervals",randomizerIntervalsDefault);
      memoryPersistence = config.getString("SessionManager.MemoryPersistence",memoryPersistenceDefault);

      if(config.containsKey("SessionManager.EncodeUrlState")){ // backwards compatibility
        setSessionEncodeUrlState(config.getString("SessionManager.EncodeUrlState"));  //set new parameter
        config.remove("SessionManager.EncodeUrlState");  //remove old parameter
      }else sessionEncodeUrlState = config.getString("SessionManager.SessionEncodeUrlState",sessionEncodeUrlStateDefault);
      
      sessionEncodeFirstUrl = config.getString("SessionManager.SessionEncodeFirstUrl",sessionEncodeFirstUrlDefault);
      
      //SessionManager.SessionHome.*
      mode = config.getString("SessionManager.SessionHome.Mode",modeDefault);
      maxSessions = config.getString("SessionManager.SessionHome.MaxSessions",maxSessionsDefault);
      pageThreshold = config.getString("SessionManager.SessionHome.PageThreshold",pageThresholdDefault);
      pageTimeThreshold = config.getString("SessionManager.SessionHome.PageTimeThreshold",pageTimeThreshold);
      pageWait = config.getString("SessionManager.SessionHome.PageWait",pageWaitDefault);
      saveOnRestart = config.getString("SessionManager.SessionHome.SaveOnRestart",saveOnRestartDefault);
      pageDir = config.getString("SessionManager.SessionHome.PageDir",pageDirDefault);
      databaseName = config.getString("SessionManager.SessionHome.DatabaseName",databaseNameDefault);
      dBTableName = config.getString("SessionManager.SessionHome.DBTableName",dBTableNameDefault);


      sessionHomeClass = config.getString("SessionManager.SessionHome.Class",sessionHomeClassDefault);
      sessionUserTableClass = config.getString("SessionManager.SessionUserTable.Class",sessionUserTableClassDefault);

  }


  public String getSessionLifetimeMax() {
    return sessionLifetimeMax;
  }
  public void setSessionLifetimeMax(String lifetimeMax) throws KeywordValueException{
    this.sessionLifetimeMax = lifetimeMax;
    config.set("SessionManager.SessionLifetimeMax",lifetimeMax);
  }

  public String getSessionIdleTimeMax() {
    return sessionIdleTimeMax;
  }

  public void setSessionIdleTimeMax(String idleTimeMax) throws KeywordValueException{
    this.sessionIdleTimeMax = idleTimeMax;
    config.set("SessionManager.SessionIdleTimeMax",idleTimeMax);
  }

  public String getSessionNoUserIdleTimeMax() {
    return sessionNoUserIdleTimeMax;
  }

  public void setSessionNoUserIdleTimeMax(String noUserIdleTimeMax) throws KeywordValueException{
    this.sessionNoUserIdleTimeMax = noUserIdleTimeMax;
    config.set("SessionManager.SessionNoUserIdleTimeMax",noUserIdleTimeMax);
  }

  public String getIdleScanInterval() {
    return idleScanInterval;
  }

  public void setIdleScanInterval(String idleScanInterval) throws KeywordValueException{
    this.idleScanInterval = idleScanInterval;
    config.set("SessionManager.IdleScanInterval",idleScanInterval);
  }

  public String[] getRandomizerIntervals() {
    return randomizerIntervals;
  }

  public void setRandomizerIntervals(String[] randomizerIntervals) throws KeywordValueException{
    this.randomizerIntervals = randomizerIntervals;
    config.set("SessionManager.RandomizerIntervals",randomizerIntervals);
  }

  public String getMemoryPersistence() {
    return memoryPersistence;
  }

  public void setMemoryPersistence(String memoryPersistence) throws KeywordValueException{
    this.memoryPersistence = memoryPersistence;
    config.set("SessionManager.MemoryPersistence",memoryPersistence);
  }

  public String getSessionEncodeUrlState(){
    return sessionEncodeUrlState;
  }

  public void setSessionEncodeUrlState(String sessionEncodeUrlState) throws KeywordValueException{
    this.sessionEncodeUrlState = sessionEncodeUrlState;
    config.set("SessionManager.SessionEncodeUrlState",sessionEncodeUrlState);
  }
  
  public String getSessionEncodeFirstUrl(){
    return sessionEncodeFirstUrl;
  }

  public void setSessionEncodeFirstUrl(String sessionEncodeFirstUrl) throws KeywordValueException{
    this.sessionEncodeFirstUrl = sessionEncodeFirstUrl;
    config.set("SessionManager.SessionEncodeFirstUrl",sessionEncodeFirstUrl);
  }

  public String getMode() {
    return mode;
  }
  
  public void setMode(String mode) throws KeywordValueException{
    this.mode = mode;
    config.set("SessionManager.SessionHome.Mode",mode);
  }

  public String getMaxSessions() {
    return maxSessions;
  }

  public void setMaxSessions(String maxSessions) throws KeywordValueException{
    this.maxSessions = maxSessions;
    config.set("SessionManager.SessionHome.MaxSessions",maxSessions);
  }

  public String getPageThreshold() {
    return pageThreshold;
  }

  public void setPageThreshold(String pageThreshold) throws KeywordValueException{
    this.pageThreshold = pageThreshold;
    config.set("SessionManager.SessionHome.PageThreshold",pageThreshold);
  }

  public String getPageTimeThreshold() {
    return pageTimeThreshold;
  }

  public void setPageTimeThreshold(String pageTimeThreshold) throws KeywordValueException{
    this.pageTimeThreshold = pageTimeThreshold;
    config.set("SessionManager.SessionHome.PageTimeThreshold",pageTimeThreshold);
  }

  public String getPageWait() {
    return pageWait;
  }

  public void setPageWait(String pageWait) throws KeywordValueException{
    this.pageWait = pageWait;
    config.set("SessionManager.SessionHome.PageWait",pageWait);
  }

  public String getSaveOnRestart() {
    return saveOnRestart;
  }

  public void setSaveOnRestart(String saveOnRestart) throws KeywordValueException{
    this.saveOnRestart = saveOnRestart;
    config.set("SessionManager.SessionHome.SaveOnRestart",saveOnRestart);
  }

  public String getPageDir() {
    return pageDir;
  }

  public void setPageDir(String pageDir) throws KeywordValueException{
    this.pageDir = pageDir;
    config.set("SessionManager.SessionHome.PageDir",pageDir);
  }

  public String getDatabaseName() {
    return databaseName;
  }

  public void setDatabaseName(String databaseName) throws KeywordValueException{
    this.databaseName = databaseName;
    config.set("SessionManager.SessionHome.DatabaseName",databaseName);
  }

  public String getDBTableName() {
    return dBTableName;
  }

  public void setDBTableName(String dBTableName) throws KeywordValueException{
    this.dBTableName = dBTableName;
    config.set("SessionManager.SessionHome.DBTableName",dBTableName);
  }

  public String getSessionHomeClass() {
    return sessionHomeClass;
  }

  public void setSessionHomeClass(String sessionHomeClass) throws KeywordValueException{
    this.sessionHomeClass = sessionHomeClass;
    config.set("SessionManager.SessionHome.Class",sessionHomeClass);
  }

  public String getSessionUserTableClass() {
    return sessionUserTableClass;
  }

  public void setSessionUserTableClass(String sessionUserTableClass) throws KeywordValueException{
    this.sessionUserTableClass = sessionUserTableClass;
    config.set("SessionManager.SessionUserTable.Class",sessionUserTableClass);
  }

  /**
   * Save state of SessionManager configuration parameters into config file.
   * @return TRUE if OK, else FALSE.
   */

  public boolean saveState(){
    try{
    ConfigFileInterface confFile = config.getConfigFile();
    confFile.write();
   }catch(Exception e){ //FIXME log Exception
      return false;
    }
    return true;
  }
}





java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.