Package de.sosd.mediaserver.service

Source Code of de.sosd.mediaserver.service.MediaserverConfiguration

package de.sosd.mediaserver.service;

import java.net.MalformedURLException;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import de.sosd.mediaserver.bean.WebappLocationBean;
import de.sosd.mediaserver.dao.SystemDao;
import de.sosd.mediaserver.domain.db.SystemDomain;

@Service
public class MediaserverConfiguration {

  private final static Log logger = LogFactory.getLog(MediaserverConfiguration.class);
 
  @Autowired
  private SystemDao systemDao;
 
  private String protocol = "HTTP";
  private String address = "localhost";
  private int port = 8080;
  private String webappName = "mediaserver";
 
  private String usn = null;

  public String getServerName() {
    final SystemDomain systemProperties = this.systemDao.getSystem(getUSN());
    return systemProperties.getName();
  }

  public String getUSN() {
    return usn;
  }

  /**
   * @return the webappName
   */
  private String getWebappName() {
    return this.webappName;
  }

  /**
   * @return the port
   */
  private int getPort() {
    return this.port;
  }

  /**
   * @param port the port to set
   */
  @Transactional
  public void updateWebappConfiguration(final String protocol,final  String address,final  int port,final  String webappName) {
    this.port = port;
    this.webappName = webappName;
    this.address = address;
    this.protocol = protocol;
    SystemDomain system = systemDao.getSystem(getUSN());
    system.setHostname(getAddress());
    system.setPort(getPort());
    system.setWebappName(getWebappName());
    system.setProtocol(getProtocol());
   
    systemDao.store(system);
  }
 
  /**
   * @param port the port to set
   */
  public void loacWebappConfiguration() {
    SystemDomain system = systemDao.getSystem(getUSN());
    this.address  = system.getHostname();
    this.port = system.getPort();
    this.webappName = system.getWebappName();
    this.protocol = system.getProtocol();
  }

  public String getMPlayerPath() {
    final SystemDomain systemProperties = this.systemDao.getSystem(getUSN());
    return systemProperties.getMplayerPath();
  }

  public String getPreviews() {
    final SystemDomain systemProperties = this.systemDao.getSystem(getUSN());
    return systemProperties.getPreviewCache();
  }

  public WebappLocationBean getWebappLocation(final String protocol,final  String address,final  int port,final  String webappName) {
    try {
      return new WebappLocationBean(protocol, address, port, webappName);
    } catch (MalformedURLException e) {
      return getDefaultWebappLocation();
    }
  }

  private WebappLocationBean getDefaultWebappLocation() {
    try {
      return new WebappLocationBean(getProtocol(), getAddress(), getPort(), getWebappName());
    } catch (MalformedURLException e) {
      logger.error("default url is malformed : " + getProtocol() + "://" + getAddress() + ":" + getPort() + "/" + getWebappName());
    }
    return null;
  }

  public WebappLocationBean getWebappLocation(String address) {
    try {
      return new WebappLocationBean(getProtocol(), address, getPort(), getWebappName());
    } catch (MalformedURLException e) {
      logger.error("default url is malformed : " + getProtocol() + "://" + address + ":" + getPort() + "/" + getWebappName());
    }
    return null;

  }
 
 
  private String getAddress() {
    return address;
  }


  private String getProtocol() {
    return protocol;
  }


  public void setUSN(String usn) {
    this.usn = usn;
  }


  public boolean isSystemAvailable() {
    return getUSN() != null;
  }


  public String getHostname() {
    return getAddress();
  }






}
TOP

Related Classes of de.sosd.mediaserver.service.MediaserverConfiguration

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.