📄 cmssystemconfiguration.java
字号:
"*/" + N_SYSTEM + "/" + N_CONTENT_NOTIFICATION + "/" + N_NOTIFICATION_TIME,
"setNotificationTime",
1);
digester.addCallParam("*/" + N_SYSTEM + "/" + N_CONTENT_NOTIFICATION + "/" + N_NOTIFICATION_TIME, 0);
// set the notification project
digester.addCallMethod(
"*/" + N_SYSTEM + "/" + N_CONTENT_NOTIFICATION + "/" + N_NOTIFICATION_PROJECT,
"setNotificationProject",
1);
digester.addCallParam("*/" + N_SYSTEM + "/" + N_CONTENT_NOTIFICATION + "/" + N_NOTIFICATION_PROJECT, 0);
}
/**
* @see org.opencms.configuration.I_CmsXmlConfiguration#generateXml(org.dom4j.Element)
*/
public Element generateXml(Element parent) {
// generate vfs node and subnodes
Element systemElement = parent.addElement(N_SYSTEM);
if (OpenCms.getRunLevel() >= OpenCms.RUNLEVEL_3_SHELL_ACCESS) {
// initialized OpenCms instance is available, use latest values
m_localeManager = OpenCms.getLocaleManager();
m_mailSettings = OpenCms.getSystemInfo().getMailSettings();
m_configuredJobs = OpenCms.getScheduleManager().getJobs();
m_versionHistoryEnabled = OpenCms.getSystemInfo().isVersionHistoryEnabled();
m_versionHistoryMaxCount = OpenCms.getSystemInfo().getVersionHistoryMaxCount();
// m_resourceInitHandlers instance must be the one from configuration
// m_requestHandlers instance must be the one from configuration
m_siteManager = OpenCms.getSiteManager();
m_loginManager = OpenCms.getLoginManager();
m_loginMessage = OpenCms.getLoginManager().getLoginMessage();
}
// i18n nodes
Element i18nElement = systemElement.addElement(N_I18N);
i18nElement.addElement(N_LOCALEHANDLER).addAttribute(
A_CLASS,
m_localeManager.getLocaleHandler().getClass().getName());
Iterator i;
Element localesElement;
localesElement = i18nElement.addElement(N_LOCALESCONFIGURED);
i = m_localeManager.getAvailableLocales().iterator();
while (i.hasNext()) {
Locale locale = (Locale)i.next();
localesElement.addElement(N_LOCALE).addText(locale.toString());
}
localesElement = i18nElement.addElement(N_LOCALESDEFAULT);
i = m_localeManager.getDefaultLocales().iterator();
while (i.hasNext()) {
Locale locale = (Locale)i.next();
localesElement.addElement(N_LOCALE).setText(locale.toString());
}
// mail nodes
Element mailElement = systemElement.addElement(N_MAIL);
mailElement.addElement(N_MAILFROM).setText(m_mailSettings.getMailFromDefault());
i = m_mailSettings.getMailHosts().iterator();
while (i.hasNext()) {
CmsMailHost host = (CmsMailHost)i.next();
Element hostElement = mailElement.addElement(N_MAILHOST).addAttribute(A_NAME, host.getHostname()).addAttribute(
A_ORDER,
host.getOrder().toString()).addAttribute(A_PROTOCOL, host.getProtocol());
if (host.isAuthenticating()) {
hostElement.addAttribute(A_USER, host.getUsername()).addAttribute(A_PASSWORD, host.getPassword());
}
}
// scheduler node
Element schedulerElement = systemElement.addElement(N_SCHEDULER);
i = m_configuredJobs.iterator();
while (i.hasNext()) {
CmsScheduledJobInfo jobInfo = (CmsScheduledJobInfo)i.next();
Element jobElement = schedulerElement.addElement(N_JOB);
jobElement.addElement(N_NAME).addText(jobInfo.getJobName());
jobElement.addElement(N_CLASS).addText(jobInfo.getClassName());
jobElement.addElement(N_REUSEINSTANCE).addText(String.valueOf(jobInfo.isReuseInstance()));
jobElement.addElement(N_ACTIVE).addText(String.valueOf(jobInfo.isActive()));
jobElement.addElement(N_CRONEXPRESSION).addCDATA(jobInfo.getCronExpression());
Element contextElement = jobElement.addElement(N_CONTEXT);
contextElement.addElement(N_USERNAME).setText(jobInfo.getContextInfo().getUserName());
contextElement.addElement(N_PROJECT).setText(jobInfo.getContextInfo().getProjectName());
contextElement.addElement(N_SITEROOT).setText(jobInfo.getContextInfo().getSiteRoot());
contextElement.addElement(N_REQUESTEDURI).setText(jobInfo.getContextInfo().getRequestedUri());
contextElement.addElement(N_LOCALE).setText(jobInfo.getContextInfo().getLocaleName());
contextElement.addElement(N_ENCODING).setText(jobInfo.getContextInfo().getEncoding());
contextElement.addElement(N_REMOTEADDR).setText(jobInfo.getContextInfo().getRemoteAddr());
Map jobParameters = jobInfo.getConfiguration();
if ((jobParameters != null) && (jobParameters.size() > 0)) {
Element parameterElement = jobElement.addElement(N_PARAMETERS);
Iterator it = jobParameters.keySet().iterator();
while (it.hasNext()) {
String name = (String)it.next();
String value = jobParameters.get(name).toString();
Element paramNode = parameterElement.addElement(N_PARAM);
paramNode.addAttribute(A_NAME, name);
paramNode.addText(value);
}
}
}
// <events> node
Element eventsElement = systemElement.addElement(N_EVENTS);
Element eventManagerElement = eventsElement.addElement(N_EVENTMANAGER);
eventManagerElement.addAttribute(A_CLASS, m_eventManager.getClass().getName());
// version history
systemElement.addElement(N_VERSIONHISTORY).addAttribute(
A_ENABLED,
new Boolean(m_versionHistoryEnabled).toString()).addAttribute(
A_COUNT,
new Integer(m_versionHistoryMaxCount).toString());
// resourceinit
Element resourceinitElement = systemElement.addElement(N_RESOURCEINIT);
i = m_resourceInitHandlers.iterator();
while (i.hasNext()) {
I_CmsResourceInit clazz = (I_CmsResourceInit)i.next();
Element handlerElement = resourceinitElement.addElement(N_RESOURCEINITHANDLER);
handlerElement.addAttribute(A_CLASS, clazz.getClass().getName());
}
// request handlers
Element requesthandlersElement = systemElement.addElement(N_REQUESTHANDLERS);
i = m_requestHandlers.iterator();
while (i.hasNext()) {
I_CmsRequestHandler clazz = (I_CmsRequestHandler)i.next();
Element handlerElement = requesthandlersElement.addElement(N_REQUESTHANDLER);
handlerElement.addAttribute(A_CLASS, clazz.getClass().getName());
}
// password handler
Element passwordhandlerElement = systemElement.addElement(N_PASSWORDHANDLER).addAttribute(
A_CLASS,
m_passwordHandler.getClass().getName());
passwordhandlerElement.addElement(N_PASSWORDENCODING).addText(m_passwordHandler.getInputEncoding());
passwordhandlerElement.addElement(N_DIGESTTYPE).addText(m_passwordHandler.getDigestType());
Map handlerParameters = m_passwordHandler.getConfiguration();
if (handlerParameters != null) {
Iterator it = handlerParameters.keySet().iterator();
while (it.hasNext()) {
String name = (String)it.next();
String value = handlerParameters.get(name).toString();
Element paramNode = passwordhandlerElement.addElement(N_PARAM);
paramNode.addAttribute(A_NAME, name);
paramNode.addText(value);
}
}
// validation handler
if (m_validationHandler != null) {
Element valHandlerElem = systemElement.addElement(N_VALIDATIONHANDLER);
valHandlerElem.addAttribute(A_CLASS, m_validationHandler.getClass().getName());
}
// login manager
if (m_loginManager != null) {
Element managerElement = systemElement.addElement(N_LOGINMANAGER);
managerElement.addElement(N_DISABLEMINUTES).addText(String.valueOf(m_loginManager.getDisableMinutes()));
managerElement.addElement(N_MAXBADATTEMPTS).addText(String.valueOf(m_loginManager.getMaxBadAttempts()));
}
// login message
if (m_loginMessage != null) {
Element messageElement = systemElement.addElement(N_LOGINMESSAGE);
messageElement.addElement(N_ENABLED).addText(String.valueOf(m_loginMessage.isEnabled()));
messageElement.addElement(N_MESSAGE).addCDATA(m_loginMessage.getMessage());
messageElement.addElement(N_LOGINFORBIDDEN).addText(String.valueOf(m_loginMessage.isLoginForbidden()));
if (m_loginMessage.getTimeStart() != CmsLoginMessage.DEFAULT_TIME_START) {
messageElement.addElement(N_TIMESTART).addText(String.valueOf(m_loginMessage.getTimeStart()));
}
if (m_loginMessage.getTimeEnd() != CmsLoginMessage.DEFAULT_TIME_END) {
messageElement.addElement(N_TIMEEND).addText(String.valueOf(m_loginMessage.getTimeEnd()));
}
}
// create <sites> node
Element sitesElement = systemElement.addElement(N_SITES);
sitesElement.addElement(N_WORKPLACE_SERVER).addText(m_siteManager.getWorkplaceServer());
sitesElement.addElement(N_DEFAULT_URI).addText(m_siteManager.getDefaultUri());
Iterator siteIterator = new HashSet(m_siteManager.getSites().values()).iterator();
while (siteIterator.hasNext()) {
CmsSite site = (CmsSite)siteIterator.next();
// create <site server="" uri=""/> subnode(s)
Element siteElement = sitesElement.addElement(N_SITE);
siteElement.addAttribute(A_SERVER, site.getSiteMatcher().toString());
siteElement.addAttribute(A_URI, site.getSiteRoot().concat("/"));
// create <secure server=""/> subnode
if (site.hasSecureServer()) {
Element secureElem = siteElement.addElement(N_SECURE);
secureElem.addAttribute(A_SERVER, site.getSecureUrl());
secureElem.addAttribute(A_EXCLUSIVE, "" + site.isExclusiveUrl());
secureElem.addAttribute(A_ERROR, "" + site.isExclusiveError());
}
// create <alias server=""/> subnode(s)
Iterator aliasIterator = site.getAliases().iterator();
while (aliasIterator.hasNext()) {
String aliasServerName = ((CmsSiteMatcher)aliasIterator.next()).getUrl();
siteElement.addElement(N_ALIAS).addAttribute(A_SERVER, aliasServerName);
}
}
// create <runtimeproperties> node
Element runtimepropertiesElement = systemElement.addElement(N_RUNTIMEPROPERTIES);
if (m_runtimeProperties != null) {
List sortedRuntimeProperties = new ArrayList(m_runtimeProperties.keySet());
Collections.sort(sortedRuntimeProperties);
Iterator it = sortedRuntimeProperties.iterator();
while (it.hasNext()) {
String key = (String)it.next();
// create <param name="">value</param> subnodes
runtimepropertiesElement.addElement(N_PARAM).addAttribute(A_NAME, key).addText(
(String)m_runtimeProperties.get(key));
}
}
// create <runtimeinfo> node
Element runtimeinfoElement = systemElement.addElement(N_RUNTIMECLASSES);
Element runtimeinfofactoryElement = runtimeinfoElement.addElement(N_RUNTIMEINFO);
runtimeinfofactoryElement.addAttribute(A_CLASS, getRuntimeInfoFactory().getClass().getName());
// create <defaultusers> node
Element defaultusersElement = systemElement.addElement(N_DEFAULTUSERS);
// create <user-admin> subnode
defaultusersElement.addElement(N_USER_ADMIN).addText(m_cmsDefaultUsers.getUserAdmin());
// create <user-guest> subnode
defaultusersElement.addElement(N_USER_GUEST).addText(m_cmsDefaultUsers.getUserGuest());
// create <user-export> subnode
defaultusersElement.addElement(N_USER_EXPORT).addText(m_cmsDefaultUsers.getUserExport());
if (!m_cmsDefaultUsers.getUserDeletedResource().equals(m_cmsDefaultUsers.getUserAdmin())) {
// create <user-deletedresource> subnode
defaultusersElement.addElement(N_USER_DELETEDRESOURCE).addText(m_cmsDefaultUsers.getUserDeletedResource());
}
// create <group-administrators> subnode
defaultusersElement.addElement(N_GROUP_ADMINISTRATORS).addText(m_cmsDefaultUsers.getGroupAdministrators());
// create <group-projectmanagers> subnode
defaultusersElement.addElement(N_GROUP_PROJECTMANAGERS).addText(m_cmsDefaultUsers.getGroupProjectmanagers());
// create <group-users> subnode
defaultusersElement.addElement(N_GROUP_USERS).addText(m_cmsDefaultUsers.getGroupUsers());
// create <group-guests> subnode
defaultusersElement.addElement(N_GROUP_GUESTS).addText(m_cmsDefaultUsers.getGroupGuests());
// create <defaultcontentencoding> node
systemElement.addElement(N_DEFAULT_CONTENT_ENCODING).addText(getDefaultContentEncoding());
// create <memorymonitor> node
if (m_cmsMemoryMonitorConfiguration != null) {
Element memorymonitorElement = systemElement.addElement(N_MEMORYMONITOR);
if (m_cmsMemoryMonitorConfiguration.getMaxUsagePercent() > 0) {
memorymonitorElement.addElement(N_MAXUSAGE_PERCENT).addText(
String.valueOf(m_cmsMemoryMonitorConfiguration.getMaxUsagePercent()));
}
if (m_cmsMemoryMonitorConfiguration.getLogInterval() > 0) {
memorymonitorElement.addElement(N_LOG_INTERVAL).addText(
String.valueOf(m_cmsMemoryMonitorConfiguration.getLogInterval()));
}
if (m_cmsMemoryMonitorConfiguration.getEmailInterval() > 0) {
memorymonitorElement.addElement(N_EMAIL_INTERVAL).addText(
String.valueOf(m_cmsMemoryMonitorConfiguration.getEmailInterval()));
}
if (m_cmsMemoryMonitorConfiguration.getWarningInterval() > 0) {
memorymonitorElement.addElement(N_WARNING_INTERVAL).addText(
String.valueOf(m_cmsMemoryMonitorConfiguration.getWarningInterval()));
}
if (m_cmsMemoryMonitorConfiguration.getEmailSender() != null) {
memorymonitorElement.addElement(N_EMAIL_SENDER).addText(
m_cmsMemoryMonitorConfiguration.getEmailSender());
}
List emailReceiver = m_cmsMemoryMonitorConfiguration.getEmailReceiver();
if (!emailReceiver.isEmpty()) {
Element emailreceiverElement = memorymonitorElement.addElement(N_EMAIL_RECEIVER);
Iterator iter = emailReceiver.iterator();
while (iter.hasNext()) {
emailreceiverElement.addElement(N_RECEIVER).addText((String)iter.next());
}
}
}
// create <flexcache> node
Element flexcacheElement = systemElement.addElement(N_FLEXCACHE);
flexcacheElement.addElement(N_CACHE_ENABLED).addText(
String.valueOf(m_cmsFlexCacheConfiguration.isCacheEnabled()).toString());
flexcacheElement.addElement(N_CACHE_OFFLINE).addText(
String.valueOf(m_cmsFlexCacheConfiguration.isCacheOffline()).toString());
flexcacheElement.addElement(N_MAXCACHEBYTES).addText(
String.valueOf(m_cmsFlexCacheConfiguration.getMaxCacheBytes()).toString());
flexcacheElement.addElement(N_AVGCACHEBYTES).addText(
String.valueOf(m_cmsFlexCacheConfiguration.getAvgCacheBytes()).toString());
flexcacheElement.addElement(N_MAXENTRYBYTES).addText(
String.valueOf(m_cmsFlexCacheConfiguration.getMaxEntryBytes()).toString());
flexcacheElement.addElement(N_MAXKEYS).addText(
String.valueOf(m_cmsFlexCacheConfiguration.getMaxKeys()).toString());
// create <http-authentication> node
Element httpAuthenticationElement = systemElement.addElement(N_HTTP_AUTHENTICATION);
httpAuthenticationElement.addElement(N_BROWSER_BASED).setText(
Boolean.toString(m_httpAuthenticationSettings.useBrowserBasedHttpAuthentication()));
if (m_httpAuthenticationSettings.getFormBasedHttpAuthenticationUri() != null) {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -