📄 cmssystemconfiguration.java
字号:
/** The node name for the runtime properties node. */
public static final String N_RUNTIMEPROPERTIES = "runtimeproperties";
/** The node name for the scheduler. */
public static final String N_SCHEDULER = "scheduler";
/** The node name for the secure site. */
public static final String N_SECURE = "secure";
/** The node name for the context site root. */
public static final String N_SITEROOT = "siteroot";
/** The node name for the sites node. */
public static final String N_SITES = "sites";
/** The size of the driver manager's cache for ACLS. */
public static final String N_SIZE_ACLS = "size-accesscontrollists";
/** The size of the driver manager's cache for groups. */
public static final String N_SIZE_GROUPS = "size-groups";
/** The size of the security manager's cache for permission checks. */
public static final String N_SIZE_PERMISSIONS = "size-permissions";
/** The size of the driver manager's cache for projects. */
public static final String N_SIZE_PROJECTS = "size-projects";
/** The size of the driver manager's cache for properties. */
public static final String N_SIZE_PROPERTIES = "size-properties";
/** The size of the driver manager's cache for lists of resources. */
public static final String N_SIZE_RESOURCELISTS = "size-resourcelists";
/** The size of the driver manager's cache for resources. */
public static final String N_SIZE_RESOURCES = "size-resources";
/** The size of the driver manager's cache for user/group relations. */
public static final String N_SIZE_USERGROUPS = "size-usergroups";
/** The size of the driver manager's cache for users. */
public static final String N_SIZE_USERS = "size-users";
/** The main system configuration node name. */
public static final String N_SYSTEM = "system";
/** The node name for the login message end time. */
public static final String N_TIMEEND = "timeEnd";
/** The node name for the login message start time. */
public static final String N_TIMESTART = "timeStart";
/** The node name for the user-admin node. */
public static final String N_USER_ADMIN = "user-admin";
/** The node name for the user-deletedresource node. */
public static final String N_USER_DELETEDRESOURCE = "user-deletedresource";
/** The node name for the user-export node. */
public static final String N_USER_EXPORT = "user-export";
/** The node name for the user-guest node. */
public static final String N_USER_GUEST = "user-guest";
/** The node name for the context user name. */
public static final String N_USERNAME = "user";
/** The node name for the validation handler. */
public static final String N_VALIDATIONHANDLER = "validationhandler";
/** The node name for the version history. */
public static final String N_VERSIONHISTORY = "versionhistory";
/** The node name for the warning-interval node. */
public static final String N_WARNING_INTERVAL = "warning-interval";
/** The node name for the workplace-server node. */
public static final String N_WORKPLACE_SERVER = "workplace-server";
/** The log object for this class. */
private static final Log LOG = CmsLog.getLog(CmsSystemConfiguration.class);
/** The settings of the driver manager. */
private CmsCacheSettings m_cacheSettings;
/** The configured OpenCms default users and groups. */
private CmsDefaultUsers m_cmsDefaultUsers;
/** The flex cache configuration object. */
private CmsFlexCacheConfiguration m_cmsFlexCacheConfiguration;
/** The memory monitor configuration. */
private CmsMemoryMonitorConfiguration m_cmsMemoryMonitorConfiguration;
/** The list of jobs for the scheduler. */
private List m_configuredJobs;
/** The default content encoding. */
private String m_defaultContentEncoding;
/** The configured OpenCms event manager. */
private CmsEventManager m_eventManager;
/** The HTTP basic authentication settings. */
private CmsHttpAuthenticationSettings m_httpAuthenticationSettings;
/** The configured locale manager for multi language support. */
private CmsLocaleManager m_localeManager;
/** The configured login manager. */
private CmsLoginManager m_loginManager;
/** The configured login message. */
private CmsLoginMessage m_loginMessage;
/** The mail settings. */
private CmsMailSettings m_mailSettings;
/** Notification project. */
private String m_notificationProject;
/** The duration after which responsibles will be notified about out-dated content (in days). */
// It is an Integer object so that it can be distinguished if this optional element was set or not
private Integer m_notificationTime;
/** The password handler. */
private I_CmsPasswordHandler m_passwordHandler;
/** A list of instanciated request handler classes. */
private List m_requestHandlers;
/** A list of instanciated resource init handler classes. */
private List m_resourceInitHandlers;
/** The runtime info factory. */
private I_CmsDbContextFactory m_runtimeInfoFactory;
/** The runtime properties. */
private Map m_runtimeProperties;
/** The configured schedule manager. */
private CmsScheduleManager m_scheduleManager;
/** The configured site manager. */
private CmsSiteManager m_siteManager;
/** The temporary file project id. */
private int m_tempFileProjectId;
/** The configured validation handler. */
private I_CmsValidationHandler m_validationHandler;
/** Indicates if the version history is enabled. */
private boolean m_versionHistoryEnabled;
/** The maximum number of entries in the version history (per resource). */
private int m_versionHistoryMaxCount;
/**
* Public constructor, will be called by configuration manager.<p>
*/
public CmsSystemConfiguration() {
setXmlFileName(DEFAULT_XML_FILE_NAME);
m_versionHistoryEnabled = true;
m_versionHistoryMaxCount = 10;
m_resourceInitHandlers = new ArrayList();
m_requestHandlers = new ArrayList();
m_configuredJobs = new ArrayList();
m_runtimeProperties = new HashMap();
m_eventManager = new CmsEventManager();
m_validationHandler = new CmsDefaultValidationHandler();
if (CmsLog.INIT.isInfoEnabled()) {
CmsLog.INIT.info(Messages.get().getBundle().key(Messages.INIT_SYSTEM_CONFIG_INIT_0));
}
}
/**
* @see org.opencms.configuration.I_CmsConfigurationParameterHandler#addConfigurationParameter(java.lang.String, java.lang.String)
*/
public void addConfigurationParameter(String paramName, String paramValue) {
m_runtimeProperties.put(paramName, paramValue);
}
/**
* Adds the event manager class.<p>
*
* @param clazz the class name of event manager class to instanciate and add
*/
public void addEventManager(String clazz) {
Object initClass;
try {
initClass = Class.forName(clazz).newInstance();
} catch (Throwable t) {
LOG.error(Messages.get().getBundle().key(
Messages.INIT_EVENTMANAGER_CLASS_INVALID_2,
clazz,
m_resourceInitHandlers.getClass().getName()), t);
return;
}
if (initClass instanceof CmsEventManager) {
m_eventManager = (CmsEventManager)initClass;
if (CmsLog.INIT.isInfoEnabled()) {
CmsLog.INIT.info(Messages.get().getBundle().key(Messages.INIT_EVENTMANAGER_CLASS_SUCCESS_1, initClass));
}
} else {
if (CmsLog.INIT.isErrorEnabled()) {
CmsLog.INIT.error(Messages.get().getBundle().key(
Messages.INIT_EVENTMANAGER_CLASS_INVALID_2,
initClass,
m_resourceInitHandlers.getClass().getName()));
}
}
}
/**
* Adds a new job description for the scheduler.<p>
*
* @param jobInfo the job description to add
*/
public void addJobFromConfiguration(CmsScheduledJobInfo jobInfo) {
m_configuredJobs.add(jobInfo);
if (CmsLog.INIT.isInfoEnabled()) {
CmsLog.INIT.info(Messages.get().getBundle().key(
Messages.INIT_SCHEDULER_CONFIG_JOB_3,
jobInfo.getJobName(),
jobInfo.getClassName(),
jobInfo.getContextInfo().getUserName()));
}
}
/**
* Adds a new instance of a request handler class.<p>
*
* @param clazz the class name of the request handler to instanciate and add
*/
public void addRequestHandler(String clazz) {
Object initClass;
try {
initClass = Class.forName(clazz).newInstance();
} catch (Throwable t) {
LOG.error(Messages.get().getBundle().key(Messages.LOG_INIT_REQUEST_HANDLER_FAILURE_1, clazz), t);
return;
}
if (initClass instanceof I_CmsRequestHandler) {
m_requestHandlers.add(initClass);
if (CmsLog.INIT.isInfoEnabled()) {
CmsLog.INIT.info(Messages.get().getBundle().key(Messages.INIT_REQUEST_HANDLER_SUCCESS_1, clazz));
}
} else {
if (CmsLog.INIT.isErrorEnabled()) {
CmsLog.INIT.error(Messages.get().getBundle().key(Messages.INIT_REQUEST_HANDLER_INVALID_1, clazz));
}
}
}
/**
* Adds a new instance of a resource init handler class.<p>
*
* @param clazz the class name of the resource init handler to instanciate and add
*/
public void addResourceInitHandler(String clazz) {
Object initClass;
try {
initClass = Class.forName(clazz).newInstance();
} catch (Throwable t) {
LOG.error(Messages.get().getBundle().key(Messages.LOG_RESOURCE_INIT_CLASS_INVALID_1, clazz), t);
return;
}
if (initClass instanceof I_CmsResourceInit) {
m_resourceInitHandlers.add(initClass);
if (CmsLog.INIT.isInfoEnabled()) {
CmsLog.INIT.info(Messages.get().getBundle().key(Messages.INIT_RESOURCE_INIT_SUCCESS_1, initClass));
}
} else {
if (CmsLog.INIT.isErrorEnabled()) {
CmsLog.INIT.error(Messages.get().getBundle().key(Messages.INIT_RESOURCE_INIT_INVALID_CLASS_1, initClass));
}
}
}
/**
* Generates the schedule manager.<p>
*/
public void addScheduleManager() {
m_scheduleManager = new CmsScheduleManager(m_configuredJobs);
}
/**
* @see org.opencms.configuration.I_CmsXmlConfiguration#addXmlDigesterRules(org.apache.commons.digester.Digester)
*/
public void addXmlDigesterRules(Digester digester) {
// add finish rule
digester.addCallMethod("*/" + N_SYSTEM, "initializeFinished");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -