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

com.ebay.jetstream.servlet.SSLServerHost Maven / Gradle / Ivy

/*******************************************************************************
 *  Copyright © 2012-2015 eBay Software Foundation
 *  This program is dual licensed under the MIT and Apache 2.0 licenses.
 *  Please see LICENSE for more information.
 *******************************************************************************/
package com.ebay.jetstream.servlet;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.InitializingBean;

import com.ebay.jetstream.util.CommonUtils;

/**
 * Contains the properties required for hosting a ssl port/connection.
 * 
 * @author varavindan
 * 
 */
public class SSLServerHost implements InitializingBean {

  private int maxIdleTime = 10000;

  private String keyStorePath;
  private String keyStorePassword;

  /**
   * Injectable from Spring but if not present would be set to the keyStore *
   */
  private String trustStorePath;
  private String trustStorePassword;

  private final Logger LOGGER = LoggerFactory.getLogger("com.ebay.jetstream.servlet.SSLServerHost");

  public void afterPropertiesSet() throws Exception {
    if (CommonUtils.isEmptyTrimmed(getKeyStorePassword()) && CommonUtils.isEmptyTrimmed(getKeyStorePath()))
      throw new Exception("Keystore Path/Password required for hosting a SSL port !!!");

    LOGGER.warn( "Keystore Path And Password Not Empty/Nul. Keystore Path: " + getKeyStorePath());
        
    if (CommonUtils.isEmptyTrimmed(getTrustStorePath()))
      setTrustStorePath(getKeyStorePath());

    if (CommonUtils.isEmptyTrimmed(getTrustStorePassword()))
      setTrustStorePassword(getKeyStorePassword());
  }

  /**
   * @return the keyStorePassword
   */
  public String getKeyStorePassword() {
    return keyStorePassword;
  }

  /**
   * @return the keyStorePath
   */
  public String getKeyStorePath() {
    return keyStorePath;
  }

  /**
   * @return the maxIdleTime
   */
  public int getMaxIdleTime() {
    return maxIdleTime;
  }

  /**
   * @return the trustStorePassword
   */
  public String getTrustStorePassword() {
    return trustStorePassword;
  }

  /**
   * @return the trustStorePath
   */
  public String getTrustStorePath() {
    return trustStorePath;
  }

  /**
   * @param keyStorePassword
   *          the keyStorePassword to set
   */
  public void setKeyStorePassword(String keyStorePassword) {
    this.keyStorePassword = keyStorePassword;
  }

  /**
   * @param keyStorePath
   *          the keyStorePath to set
   */
  public void setKeyStorePath(String keyStorePath) {
    this.keyStorePath = keyStorePath;
  }

  /**
   * @param maxIdleTime
   *          the maxIdleTime to set
   */
  public void setMaxIdleTime(int maxIdleTime) {
    this.maxIdleTime = maxIdleTime;
  }

  /**
   * @param trustStorePassword
   *          the trustStorePassword to set
   */
  public void setTrustStorePassword(String trustStorePassword) {
    this.trustStorePassword = trustStorePassword;
  }

  /**
   * @param trustStorePath
   *          the trustStorePath to set
   */
  public void setTrustStorePath(String trustStorePath) {
    this.trustStorePath = trustStorePath;
  }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy