📄 cmssetupbean.java
字号:
/**
* Returns the error messages.<p>
*
* @return a vector of error messages
*/
public List getErrors() {
return m_errors;
}
/**
* Returns the mac ethernet address.<p>
*
* @return the mac ethernet addess
*/
public String getEthernetAddress() {
return getExtProperty("server.ethernet.address");
}
/**
* Returns a help image icon tag to display a help text in the setup wizard.<p>
*
* @param id the id of the desired help div
* @param pathPrefix the path prefix to the image
* @return the HTML part for the help icon or an empty String, if the part was not found
*/
public String getHtmlHelpIcon(String id, String pathPrefix) {
String value = m_htmlProps.getProperty("C_HELP_IMG");
if (value == null) {
return "";
} else {
value = CmsStringUtil.substitute(value, "$replace$", id);
return CmsStringUtil.substitute(value, "$path$", pathPrefix);
}
}
/**
* Returns the specified HTML part of the HTML property file to create the output.<p>
*
* @param part the name of the desired part
* @return the HTML part or an empty String, if the part was not found
*/
public String getHtmlPart(String part) {
return getHtmlPart(part, "");
}
/**
* Returns the specified HTML part of the HTML property file to create the output.<p>
*
* @param part the name of the desired part
* @param replaceString String which is inserted in the found HTML part at the location of "$replace$"
* @return the HTML part or an empty String, if the part was not found
*/
public String getHtmlPart(String part, String replaceString) {
String value = m_htmlProps.getProperty(part);
if (value == null) {
return "";
} else {
return CmsStringUtil.substitute(value, "$replace$", replaceString);
}
}
/**
* Returns the path to the /WEB-INF/lib folder.<p>
*
* @return the path to the /WEB-INF/lib folder
*/
public String getLibFolder() {
return getWebAppRfsPath() + CmsSystemInfo.FOLDER_WEBINF + FOLDER_LIB;
}
/**
* Returns the name of the log file.<p>
*
* @return the name of the log file
*/
public String getLogName() {
return new StringBuffer(m_webAppRfsPath).append(m_logFile).toString();
}
/**
* Returns a map with lists of dependent module package names keyed by module package names.<p>
*
* @return a map with lists of dependent module package names keyed by module package names
*/
public Map getModuleDependencies() {
if ((m_moduleDependencies == null) || m_moduleDependencies.isEmpty()) {
try {
// open the folder "/WEB-INF/packages/modules/"
m_moduleDependencies = CmsModuleManager.buildDepsForAllModules(getModuleFolder(), true);
} catch (CmsConfigurationException e) {
throw new CmsRuntimeException(e.getMessageContainer());
}
}
return m_moduleDependencies;
}
/**
* Returns the absolute path to the module root folder.<p>
*
* @return the absolute path to the module root folder
*/
public String getModuleFolder() {
return new StringBuffer(m_webAppRfsPath).append(m_modulesFolder).toString();
}
/**
* Returns A list with the package names of the modules to be installed.<p>
*
* @return A list with the package names of the modules to be installed
*/
public List getModulesToInstall() {
if ((m_installModules == null) || m_installModules.isEmpty()) {
return Collections.EMPTY_LIST;
}
return Collections.unmodifiableList(m_installModules);
}
/**
* Gets the default pool.<p>
*
* @return name of the default pool
*/
public String getPool() {
return CmsStringUtil.splitAsArray(getExtProperty("db.pools"), ",")[0];
}
/**
* Returns the extended properties.<p>
*
* @return the extended properties
*/
public ExtendedProperties getProperties() {
return m_extProperties;
}
/**
* Returns the replacer.<p>
*
* @return the replacer
*/
public Map getReplacer() {
return m_replacer;
}
/**
* Return the OpenCms server name.<p>
*
* @return the OpenCms server name
*/
public String getServerName() {
return getExtProperty("server.name");
}
/**
* Returns the initial servlet configuration.<p>
*
* @return the initial servlet configuration
*/
public ServletConfig getServletConfig() {
return m_servletConfig;
}
/**
* Returns the OpenCms servlet mapping, configured in <code>web.xml</code>.<p>
*
* By default this is <code>"/opencms/*"</code>.<p>
*
* @return the OpenCms servlet mapping, configured in <code>web.xml</code>
*/
public String getServletMapping() {
return m_servletMapping;
}
/**
* Returns a sorted list with they keys (e.g. "mysql", "generic" or "oracle") of all available
* database server setups found in "/setup/database/" sorted by their ranking property.<p>
*
* @return a sorted list with they keys (e.g. "mysql", "generic" or "oracle") of all available database server setups
*/
public List getSortedDatabases() {
if (m_sortedDatabaseKeys == null) {
List databases = m_databaseKeys;
List sortedDatabases = new ArrayList(databases.size());
SortedMap mappedDatabases = new TreeMap();
for (int i = 0; i < databases.size(); i++) {
String key = (String)databases.get(i);
Integer ranking = new Integer(0);
try {
ranking = Integer.valueOf(getDbProperty(key + ".ranking"));
} catch (Exception e) {
// ignore
}
mappedDatabases.put(ranking, key);
}
while (mappedDatabases.size() > 0) {
// get database with highest ranking
Integer key = (Integer)mappedDatabases.lastKey();
String database = (String)mappedDatabases.get(key);
sortedDatabases.add(database);
mappedDatabases.remove(key);
}
m_sortedDatabaseKeys = sortedDatabases;
}
return m_sortedDatabaseKeys;
}
/**
* Returns the absolute path to the OpenCms home directory.<p>
*
* @return the path to the OpenCms home directory
*/
public String getWebAppRfsPath() {
return m_webAppRfsPath;
}
/**
* Checks if the setup wizard is enabled.<p>
*
* @return true if the setup wizard is enables, false otherwise
*/
public boolean getWizardEnabled() {
return Boolean.valueOf(getExtProperty("wizard.enabled")).booleanValue();
}
/**
* Returns the workplace import thread.<p>
*
* @return the workplace import thread
*/
public CmsSetupWorkplaceImportThread getWorkplaceImportThread() {
return m_workplaceImportThread;
}
/**
* Return the OpenCms workplace site.<p>
*
* @return the OpenCms workplace site
*/
public String getWorkplaceSite() {
return getExtProperty("site.workplace");
}
/**
* Returns the xml Helper object.<p>
*
* @return the xml Helper object
*/
public CmsSetupXmlHelper getXmlHelper() {
if (m_xmlHelper == null) {
// lazzy initialization
m_xmlHelper = new CmsSetupXmlHelper(getConfigRfsPath());
}
return m_xmlHelper;
}
/**
* Returns html code for the module descriptions in help ballons.<p>
*
* @return html code
*/
public String htmlModuleHelpDescriptions() {
StringBuffer html = new StringBuffer(1024);
Iterator itModules = sortModules(getAvailableModules().values()).iterator();
for (int i = 0; itModules.hasNext(); i++) {
String moduleName = (String)itModules.next();
CmsModule module = (CmsModule)getAvailableModules().get(moduleName);
if (CmsStringUtil.isNotEmptyOrWhitespaceOnly(module.getDescription())) {
html.append(getHtmlPart("C_HELP_START", "" + i));
html.append(module.getDescription());
html.append("\n");
html.append(getHtmlPart("C_HELP_END"));
html.append("\n");
}
}
return html.toString();
}
/**
* Returns html for displaying a module selection box.<p>
*
* @return html code
*/
public String htmlModules() {
StringBuffer html = new StringBuffer(1024);
Iterator itModules = sortModules(getAvailableModules().values()).iterator();
for (int i = 0; itModules.hasNext(); i++) {
String moduleName = (String)itModules.next();
CmsModule module = (CmsModule)getAvailableModules().get(moduleName);
html.append(htmlModule(module, i));
}
return html.toString();
}
/**
* Installed all modules that have been set using {@link #setInstallModules(String)}.<p>
*
* This method is invoked as a shell command.<p>
*
* @throws Exception if something goes wrong
*/
public void importModulesFromSetupBean() throws Exception {
// read here how the list of modules to be installed is passed from the setup bean to the
// setup thread, and finally to the shell process that executes the setup script:
// 1) the list with the package names of the modules to be installed is saved by setInstallModules
// 2) the setup thread gets initialized in a JSP of the setup wizard
// 3) the instance of the setup bean is passed to the setup thread by setAdditionalShellCommand
// 4) the setup bean is passed to the shell by startSetup
// 5) because the setup bean implements I_CmsShellCommands, the shell constructor can pass the shell's CmsObject back to the setup bean
// 6) thus, the setup bean can do things with the Cms
if ((m_cms != null) && (m_installModules != null)) {
for (int i = 0; i < m_installModules.size(); i++) {
String filename = (String)m_moduleFilenames.get(m_installModules.get(i));
try {
importModuleFromDefault(filename);
} catch (Exception e) {
// log a exception during module import, but make sure the next module is still imported
e.printStackTrace(System.err);
}
}
}
}
/**
* Creates a new instance of the setup Bean from a JSP page.<p>
*
* @param pageContext the JSP's page context
*/
public void init(PageContext pageContext) {
// check for OpenCms installation directory path
String webAppRfsPath = pageContext.getServletConfig().getServletContext().getRealPath("/");
// read the the OpenCms servlet mapping from the servlet context parameters
String servletMapping = pageContext.getServletContext().getInitParameter(
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -