org.opencms.main
Class CmsSystemInfo

java.lang.Object
  extended by org.opencms.main.CmsSystemInfo

public class CmsSystemInfo
extends Object

Provides access to system wide "read only" information.

Regarding the naming conventions used, this comes straight from the Servlet Spec v2.4:

SRV.3.1 Introduction to the ServletContext Interface
[...] A ServletContext is rooted at a known path within a web server. For example a servlet context could be located at http://www.mycorp.com/catalog. All requests that begin with the /catalog request path, known as the context path, are routed to the web application associated with the ServletContext.

Since:
6.0.0

Field Summary
static String CONFIG_FOLDER_PROPERTY
          Name of the config folder property provides as Java VM parameter -Dopencms.config=.
static String FILE_PERSISTENCE
          Relative path to persistence.xml file.
static String FILE_PROPERTIES
          The name of the opencms.properties file.
static String FILE_TLD
          The name of the opencms.tld file.
static String FOLDER_CONFIG_DEFAULT
          Path to the default "config" folder relative to the "WEB-INF" directory of the application.
static String FOLDER_MODULES
          The name of the module folder in the package path.
static String FOLDER_PACKAGES
          Path to the "packages" folder relative to the "WEB-INF" directory of the application.
static String FOLDER_WEBINF
          Path to the "WEB-INF" folder relative to the directory of the application.
 
Constructor Summary
CmsSystemInfo()
          Creates a new system info container.
 
Method Summary
 String getAbsoluteRfsPathRelativeToWebApplication(String path)
          Returns an absolute path (to a directory or a file in the "real" file system) from a path relative to the web application folder of OpenCms.
 String getAbsoluteRfsPathRelativeToWebInf(String path)
          Returns an absolute path (to a directory or a file in the "real" file system) from a path relative to the "WEB-INF" folder of the OpenCms web application.
 String getConfigFolder()
          Gets the path of the opencms config folder.
 String getConfigurationFileRfsPath()
          Returns the absolute path to the "opencms.properties" configuration file (in the "real" file system).
 String getContextPath()
          Returns the web application context path, e.g.
 String getDefaultEncoding()
          Return the OpenCms default character encoding.
 String getDefaultWebApplicationName()
          Returns the default web application name (usually "ROOT").
 int getHistoryVersions()
          Returns the maximum number of versions that are kept per file in the VFS version history.
 int getHistoryVersionsAfterDeletion()
          Returns the number of versions in the VFS version history that should be kept after a resource is deleted.
 CmsHttpAuthenticationSettings getHttpAuthenticationSettings()
          Returns the HTTP authentication settings.
 String getLogFileRfsPath()
          Returns the filename of the log file (in the "real" file system).
 CmsMailSettings getMailSettings()
          Returns the settings for the internal OpenCms email service.
 String getNotificationProject()
          Returns the project in which time stamps for the content notification are read.
 int getNotificationTime()
          Returns the duration after which responsible resource owners will be notified about out-dated content (in days).
 String getOpenCmsContext()
          Returns the OpenCms request context, e.g.
 String getPackagesRfsPath()
          Returns the absolute path to the "packages" folder (in the "real" file system).
 String getPersistenceFileRfsPath()
          Returns the absolute path to the "persistence.xml" file (in the "real" file system).
 long getRuntime()
          Returns the time this OpenCms instance is running in milliseconds.
 String getServerName()
          Returns the OpenCms server name, e.g.
 CmsServletContainerSettings getServletContainerSettings()
          Returns the servlet container specific settings.
 String getServletPath()
          Returns the OpenCms servlet path, e.g.
 long getStartupTime()
          Returns the time this OpenCms instance was started in milliseconds.
 String getVersion()
          Returns the identifier "OpenCms/" plus the OpenCms version number.
 String getVersionNumber()
          Returns the version number of this OpenCms system, for example 8.0.0.
 String getWebApplicationName()
          Returns the OpenCms web application name, e.g.
 String getWebApplicationRfsPath()
          Returns the OpenCms web application folder in the servlet container.
 String getWebInfRfsPath()
          Returns the OpenCms web application "WEB-INF" directory path.
protected  void init(CmsServletContainerSettings settings)
          Sets the OpenCms web application "WEB-INF" directory path (in the "real" file system).
 boolean isHistoryEnabled()
          Returns if the VFS version history is enabled.
protected  void setDefaultEncoding(String encoding)
          Sets the default encoding, called after the configuration files have been read.
protected  void setHttpAuthenticationSettings(CmsHttpAuthenticationSettings httpAuthenticationSettings)
          Sets the HTTP authentication settings.
protected  void setMailSettings(CmsMailSettings mailSettings)
          Sets the settings for the internal OpenCms email service.
 void setNotificationProject(String notificationProject)
          Sets the project in which time stamps for the content notification are read.
 void setNotificationTime(int notificationTime)
          Sets the duration after which responsible resource owners will be notified about out-dated content (in days).
protected  void setServerName(String serverName)
          Sets the server name.
 void setVersionHistorySettings(boolean historyEnabled, int historyVersions, int historyVersionsAfterDeletion)
          VFS version history settings are set here.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CONFIG_FOLDER_PROPERTY

public static final String CONFIG_FOLDER_PROPERTY
Name of the config folder property provides as Java VM parameter -Dopencms.config=.

See Also:
Constant Field Values

FILE_PROPERTIES

public static final String FILE_PROPERTIES
The name of the opencms.properties file.

See Also:
Constant Field Values

FILE_TLD

public static final String FILE_TLD
The name of the opencms.tld file.

See Also:
Constant Field Values

FOLDER_CONFIG_DEFAULT

public static final String FOLDER_CONFIG_DEFAULT
Path to the default "config" folder relative to the "WEB-INF" directory of the application.


FOLDER_MODULES

public static final String FOLDER_MODULES
The name of the module folder in the package path.


FOLDER_PACKAGES

public static final String FOLDER_PACKAGES
Path to the "packages" folder relative to the "WEB-INF" directory of the application.


FOLDER_WEBINF

public static final String FOLDER_WEBINF
Path to the "WEB-INF" folder relative to the directory of the application.


FILE_PERSISTENCE

public static final String FILE_PERSISTENCE
Relative path to persistence.xml file.

Constructor Detail

CmsSystemInfo

public CmsSystemInfo()
Creates a new system info container.

Method Detail

getConfigFolder

public String getConfigFolder()
Gets the path of the opencms config folder.

Per default this is the "/WEB-INF/config/ folder. If configured with the "-Dopencms.config=..." java startup parameter, OpenCms can access an external config folder outside its webapplication.

Returns:
complete rfs path to the config folder.

getAbsoluteRfsPathRelativeToWebApplication

public String getAbsoluteRfsPathRelativeToWebApplication(String path)
Returns an absolute path (to a directory or a file in the "real" file system) from a path relative to the web application folder of OpenCms.

If the provided path is already absolute, then it is returned unchanged. If the provided path is a folder, the result will always end with a folder separator.

Parameters:
path - the path (relative) to generate an absolute path from
Returns:
an absolute path (to a directory or a file) from a path relative to the web application folder of OpenCms

getAbsoluteRfsPathRelativeToWebInf

public String getAbsoluteRfsPathRelativeToWebInf(String path)
Returns an absolute path (to a directory or a file in the "real" file system) from a path relative to the "WEB-INF" folder of the OpenCms web application.

If the provided path is already absolute, then it is returned unchanged.

Parameters:
path - the path (relative) to generate an absolute path from
Returns:
an absolute path (to a directory or a file) from a path relative to the "WEB-INF" folder

getConfigurationFileRfsPath

public String getConfigurationFileRfsPath()
Returns the absolute path to the "opencms.properties" configuration file (in the "real" file system).

Returns:
the absolute path to the "opencms.properties" configuration file

getPersistenceFileRfsPath

public String getPersistenceFileRfsPath()
Returns the absolute path to the "persistence.xml" file (in the "real" file system).

Returns:
the absolute path to the "persistence.xml" configuration file

getContextPath

public String getContextPath()
Returns the web application context path, e.g. "" (empty String) if the web application is the default web application (usually "ROOT"), or "/opencms" if the web application is called "opencms".

From the Java Servlet Specification v2.4:
Context Path: The path prefix associated with the ServletContext that this servlet is a part of. If this context is the "default" context rooted at the base of the web server's URL name space, this path will be an empty string. Otherwise, if the context is not rooted at the root of the server's name space, the path starts with a "/" character but does not end with a "/" character.

Returns:
the web application context path
See Also:
getWebApplicationName(), getServletPath(), getOpenCmsContext()

getDefaultEncoding

public String getDefaultEncoding()
Return the OpenCms default character encoding.

The default is set in the opencms-system.xml file. If this is not set in opencms-system.xml the default is "UTF-8".

Returns:
the default encoding, e.g. "UTF-8" or "ISO-8859-1"

getDefaultWebApplicationName

public String getDefaultWebApplicationName()
Returns the default web application name (usually "ROOT").

Returns:
the default web application name

getHistoryVersions

public int getHistoryVersions()
Returns the maximum number of versions that are kept per file in the VFS version history.

If the version history is disabled, this setting has no effect.

Returns:
the maximum number of versions that are kept per file
See Also:
isHistoryEnabled()

getHistoryVersionsAfterDeletion

public int getHistoryVersionsAfterDeletion()
Returns the number of versions in the VFS version history that should be kept after a resource is deleted.

Returns:
the number versions in the VFS version history for deleted resources

getHttpAuthenticationSettings

public CmsHttpAuthenticationSettings getHttpAuthenticationSettings()
Returns the HTTP authentication settings.

Returns:
the HTTP authentication settings

getLogFileRfsPath

public String getLogFileRfsPath()
Returns the filename of the log file (in the "real" file system).

If the method returns null, this means that the log file is not managed by OpenCms.

Returns:
the filename of the log file (in the "real" file system)

getMailSettings

public CmsMailSettings getMailSettings()
Returns the settings for the internal OpenCms email service.

Returns:
the settings for the internal OpenCms email service

getNotificationProject

public String getNotificationProject()
Returns the project in which time stamps for the content notification are read.

Returns:
the project in which time stamps for the content notification are read

getNotificationTime

public int getNotificationTime()
Returns the duration after which responsible resource owners will be notified about out-dated content (in days).

Returns:
the duration after which responsible resource owners will be notified about out-dated content

getOpenCmsContext

public String getOpenCmsContext()
Returns the OpenCms request context, e.g. "/opencms/opencms".

The OpenCms context will always start with a "/" and never have a trailing "/". The OpenCms context is identical to getContexPath() + getServletPath().

Returns:
the OpenCms request context, e.g. "/opencms/opencms"
See Also:
getContextPath(), getServletPath()

getPackagesRfsPath

public String getPackagesRfsPath()
Returns the absolute path to the "packages" folder (in the "real" file system).

Returns:
the absolute path to the "packages" folder

getRuntime

public long getRuntime()
Returns the time this OpenCms instance is running in milliseconds.

Returns:
the time this OpenCms instance is running in milliseconds

getServerName

public String getServerName()
Returns the OpenCms server name, e.g. "OpenCmsServer".

The server name is set in opencms.properties. It is not related to any DNS name the server might also have. The server name is useful e.g. in a cluster to distinguish different servers, or if you compare log files from multiple servers.

Returns:
the OpenCms server name

getServletContainerSettings

public CmsServletContainerSettings getServletContainerSettings()
Returns the servlet container specific settings.

Returns:
the servlet container specific settings

getServletPath

public String getServletPath()
Returns the OpenCms servlet path, e.g. "/opencms".

From the Java Servlet Specification v2.4:
Servlet Path: The path section that directly corresponds to the mapping which activated this request. This path starts with a?/? character except in the case where the request is matched with the ?/*? pattern, in which case it is the empty string.

Returns:
the OpenCms servlet path
See Also:
getContextPath(), getWebApplicationName(), getOpenCmsContext()

getStartupTime

public long getStartupTime()
Returns the time this OpenCms instance was started in milliseconds.

Returns:
the time this OpenCms instance was started in milliseconds

getVersion

public String getVersion()
Returns the identifier "OpenCms/" plus the OpenCms version number.

This information is used for example to identify OpenCms in HTTP response headers.

Returns:
the identifier "OpenCms/" plus the OpenCms version number

getVersionNumber

public String getVersionNumber()
Returns the version number of this OpenCms system, for example 8.0.0.

Returns:
the version number of this OpenCms system
Since:
7.0.2

getWebApplicationName

public String getWebApplicationName()
Returns the OpenCms web application name, e.g. "opencms" or "ROOT" (no leading or trailing "/").

The web application name is stored for informational purposes only. If you want to construct an URI, use either getContextPath() and getServletPath(), or for links to the OpenCms VFS use getOpenCmsContext().

Returns:
the OpenCms web application name
See Also:
getContextPath(), getServletPath(), getOpenCmsContext()

getWebApplicationRfsPath

public String getWebApplicationRfsPath()
Returns the OpenCms web application folder in the servlet container.

Returns:
the OpenCms web application folder in the servlet container

getWebInfRfsPath

public String getWebInfRfsPath()
Returns the OpenCms web application "WEB-INF" directory path.

Returns:
the OpenCms web application "WEB-INF" directory path

isHistoryEnabled

public boolean isHistoryEnabled()
Returns if the VFS version history is enabled.

Returns:
if the VFS version history is enabled

setNotificationProject

public void setNotificationProject(String notificationProject)
Sets the project in which time stamps for the content notification are read.

Parameters:
notificationProject - the project in which time stamps for the content notification are read

setNotificationTime

public void setNotificationTime(int notificationTime)
Sets the duration after which responsible resource owners will be notified about out-dated content (in days).

Parameters:
notificationTime - the duration after which responsible resource owners will be notified about out-dated content

setVersionHistorySettings

public void setVersionHistorySettings(boolean historyEnabled,
                                      int historyVersions,
                                      int historyVersionsAfterDeletion)
VFS version history settings are set here.

Parameters:
historyEnabled - if true the history is enabled
historyVersions - the maximum number of versions that are kept per VFS resource
historyVersionsAfterDeletion - the maximum number of versions that are kept for deleted resources

init

protected void init(CmsServletContainerSettings settings)
Sets the OpenCms web application "WEB-INF" directory path (in the "real" file system).

Parameters:
settings - container specific information needed for this system info

setDefaultEncoding

protected void setDefaultEncoding(String encoding)
Sets the default encoding, called after the configuration files have been read.

Parameters:
encoding - the default encoding to set

setHttpAuthenticationSettings

protected void setHttpAuthenticationSettings(CmsHttpAuthenticationSettings httpAuthenticationSettings)
Sets the HTTP authentication settings.

Parameters:
httpAuthenticationSettings - the HTTP authentication settings to set

setMailSettings

protected void setMailSettings(CmsMailSettings mailSettings)
Sets the settings for the internal OpenCms email service.

Parameters:
mailSettings - the settings for the internal OpenCms email service to set

setServerName

protected void setServerName(String serverName)
Sets the server name.

The server name is set in opencms.properties. It is not related to any DNS name the server might also have. The server name is useful e.g. in a cluster to distinguish different servers, or if you compare log files from multiple servers.

Parameters:
serverName - the server name to set