/*******************************************************************************
* Signavio Core Components
* Copyright (C) 2012 Signavio GmbH
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
******************************************************************************/
/**
*
*/
package com.signavio.platform.core.impl;
import java.io.File;
import java.io.IOException;
import java.util.HashSet;
import java.util.Properties;
import java.util.Set;
import javax.servlet.ServletContext;
import com.signavio.platform.core.PlatformProperties;
import com.signavio.platform.exceptions.InitializationException;
/**
* Read the properties from the web.xml file
* @author Bjoern Wagner
*
*/
public class FsPlatformPropertiesImpl implements PlatformProperties {
private final String serverName;
private final String platformUri;
private final String explorerUri;
private final String editorUri;
private final String libsUri;
private final String supportedBrowserEditor;
private final String rootDirectoryPath;
public FsPlatformPropertiesImpl(ServletContext context) {
supportedBrowserEditor = context.getInitParameter("supportedBrowserEditor");
Properties props = new Properties();
try {
props.load(this.getClass().getClassLoader().getResourceAsStream("configuration.properties"));
} catch (IOException e) {
throw new InitializationException(e);
}
String tempRootDirectoryPath = props.getProperty("fileSystemRootDirectory");
System.out.println("ROOT: " +tempRootDirectoryPath );
if (tempRootDirectoryPath.endsWith(File.separator)) {
rootDirectoryPath = tempRootDirectoryPath.substring(0, tempRootDirectoryPath.length()-1);
} else {
rootDirectoryPath = tempRootDirectoryPath;
}
serverName = props.getProperty("host");
platformUri = context.getContextPath() + "/p";
explorerUri = context.getContextPath() + "/explorer";
editorUri = context.getContextPath() + "/editor";
libsUri = context.getContextPath() + "/libs";
}
/* (non-Javadoc)
* @see com.signavio.platform.core.impl.PlatformProperties#getServerName()
*/
public String getServerName() {
return serverName;
}
/* (non-Javadoc)
* @see com.signavio.platform.core.impl.PlatformProperties#getPlatformUri()
*/
public String getPlatformUri() {
return platformUri;
}
/* (non-Javadoc)
* @see com.signavio.platform.core.impl.PlatformProperties#getExplorerUri()
*/
public String getExplorerUri() {
return explorerUri;
}
/* (non-Javadoc)
* @see com.signavio.platform.core.impl.PlatformProperties#getEditorUri()
*/
public String getEditorUri() {
return editorUri;
}
/* (non-Javadoc)
* @see com.signavio.platform.core.impl.PlatformProperties#getLibsUri()
*/
public String getLibsUri() {
return libsUri;
}
/* (non-Javadoc)
* @see com.signavio.platform.core.impl.PlatformProperties#getSupportedBrowserEditorRegExp()
*/
public String getSupportedBrowserEditorRegExp() {
return supportedBrowserEditor;
}
public Set<String> getAdmins() {
return new HashSet<String>(0);
}
public String getRootDirectoryPath() {
return rootDirectoryPath;
}
}