/** * Creates a new CmsSiteManager.<p> * */ public CmsSiteManagerImpl() { m_siteMatcherSites = new HashMap(); m_siteRootSites = new HashMap(); m_aliases = new ArrayList(); m_matchers = new ArrayList(); m_additionalSiteRoots = new ArrayList(); if (CmsLog.INIT.isInfoEnabled()) { CmsLog.INIT.info(Messages.get().getBundle().key(Messages.INIT_START_SITE_CONFIG_0)); } }
/** * Creates a new CmsSiteManager.<p> * */ public CmsSiteManagerImpl() { m_siteMatcherSites = new HashMap<CmsSiteMatcher, CmsSite>(); m_siteRootSites = new HashMap<String, CmsSite>(); m_aliases = new ArrayList<CmsSiteMatcher>(); m_siteParams = new TreeMap<String, String>(); m_additionalSiteRoots = new ArrayList<String>(); m_workplaceServers = new ArrayList<String>(); m_workplaceMatchers = new ArrayList<CmsSiteMatcher>(); if (CmsLog.INIT.isInfoEnabled()) { CmsLog.INIT.info(Messages.get().getBundle().key(Messages.INIT_START_SITE_CONFIG_0)); } }
/** * Adds a workplace server, this is only allowed during configuration.<p> * * @param workplaceServer the workplace server */ public void addWorkplaceServer(String workplaceServer) { if (m_frozen) { throw new CmsRuntimeException(Messages.get().container(Messages.ERR_CONFIG_FROZEN_0)); } if (!m_workplaceServers.contains(workplaceServer)) { m_workplaceServers.add(workplaceServer); } }
/** * Adds a new Site matcher object to the map of server names. * * @param matcher the SiteMatcher of the server * @param site the site to add * * @throws CmsConfigurationException if the site contains a server name, that is already assigned */ private void addServer(CmsSiteMatcher matcher, CmsSite site) throws CmsConfigurationException { if (m_siteMatcherSites.containsKey(matcher)) { throw new CmsConfigurationException(Messages.get().container( Messages.ERR_DUPLICATE_SERVER_NAME_1, matcher.getUrl())); } m_matchers.add(matcher); m_siteMatcherSites.put(matcher, site); }
/** * Sets the default URI, this is only allowed during configuration.<p> * * If this method is called after the configuration is finished, * a <code>RuntimeException</code> is thrown.<p> * * @param defaultUri the defaultUri to set */ public void setDefaultUri(String defaultUri) { if (m_frozen) { throw new CmsRuntimeException(Messages.get().container(Messages.ERR_CONFIG_FROZEN_0)); } m_defaultUri = defaultUri; }
/** * Sets the workplace server, this is only allowed during configuration.<p> * * If this method is called after the configuration is finished, * a <code>RuntimeException</code> is thrown.<p> * * @param workplaceServer the workplace server to set */ public void setWorkplaceServer(String workplaceServer) { if (m_frozen) { throw new CmsRuntimeException(Messages.get().container(Messages.ERR_CONFIG_FROZEN_0)); } m_workplaceServer = workplaceServer; }
/** * Sets the default URI, this is only allowed during configuration.<p> * * If this method is called after the configuration is finished, * a <code>RuntimeException</code> is thrown.<p> * * @param defaultUri the defaultUri to set */ public void setDefaultUri(String defaultUri) { if (m_frozen) { throw new CmsRuntimeException(Messages.get().container(Messages.ERR_CONFIG_FROZEN_0)); } m_defaultUri = defaultUri; }
/** * Adds a new Site matcher object to the map of server names. * * @param matcher the SiteMatcher of the server * @param site the site to add * * @throws CmsConfigurationException if the site contains a server name, that is already assigned */ private void addServer(CmsSiteMatcher matcher, CmsSite site) throws CmsConfigurationException { if (m_siteMatcherSites.containsKey(matcher)) { throw new CmsConfigurationException( Messages.get().container(Messages.ERR_DUPLICATE_SERVER_NAME_1, matcher.getUrl())); } Map<CmsSiteMatcher, CmsSite> siteMatcherSites = new HashMap<CmsSiteMatcher, CmsSite>(m_siteMatcherSites); siteMatcherSites.put(matcher, site); setSiteMatcherSites(siteMatcherSites); }
/** * Sets the shared folder path.<p> * * @param sharedFolder the shared folder path */ public void setSharedFolder(String sharedFolder) { if (m_frozen) { throw new CmsRuntimeException(Messages.get().container(Messages.ERR_CONFIG_FROZEN_0)); } m_sharedFolder = CmsStringUtil.joinPaths("/", sharedFolder, "/"); }
/** * Matches the given request against all configures sites and returns * the matching site, or the default site if no sites matches.<p> * * @param req the request to match * * @return the matching site, or the default site if no sites matches */ public CmsSite matchRequest(HttpServletRequest req) { CmsSiteMatcher matcher = getRequestMatcher(req); if (matcher.getTimeOffset() != 0) { HttpSession session = req.getSession(); if (session != null) { session.setAttribute( CmsContextInfo.ATTRIBUTE_REQUEST_TIME, new Long(System.currentTimeMillis() + matcher.getTimeOffset())); } } CmsSite site = matchSite(matcher); if (LOG.isDebugEnabled()) { String requestServer = req.getScheme() + "://" + req.getServerName() + ":" + req.getServerPort(); LOG.debug( Messages.get().getBundle().key( Messages.LOG_MATCHING_REQUEST_TO_SITE_2, requestServer, site.toString())); } return site; }
/** * Matches the given request against all configures sites and returns * the matching site, or the default site if no sites matches.<p> * * @param req the request to match * * @return the matching site, or the default site if no sites matches */ public CmsSite matchRequest(HttpServletRequest req) { CmsSiteMatcher matcher = getRequestMatcher(req); if (matcher.getTimeOffset() != 0) { HttpSession session = req.getSession(); if (session != null) { session.setAttribute(CmsContextInfo.ATTRIBUTE_REQUEST_TIME, new Long(System.currentTimeMillis() + matcher.getTimeOffset())); } } CmsSite site = matchSite(matcher); if (LOG.isDebugEnabled()) { String requestServer = req.getScheme() + "://" + req.getServerName() + ":" + req.getServerPort(); LOG.debug(Messages.get().getBundle().key( Messages.LOG_MATCHING_REQUEST_TO_SITE_2, requestServer, site.toString())); } return site; }
/** * Returns the secure server url of this site root.<p> * * @return the secure server url */ public String getSecureUrl() { if (m_secureServer != null) { return m_secureServer.getUrl(); } else { LOG.error(Messages.get().getBundle().key(Messages.ERR_SECURESERVER_MISSING_1, toString())); return getUrl(); } }
CmsLog.INIT.info(Messages.get().getBundle().key( Messages.INIT_NUM_SITE_ROOTS_CONFIGURED_1, new Integer((m_siteMatcherSites.size() + ((m_defaultUri != null) ? 1 : 0))))); } catch (Throwable t) { if (CmsLog.INIT.isWarnEnabled()) { CmsLog.INIT.warn(Messages.get().getBundle().key(Messages.INIT_NO_ROOT_FOLDER_1, site)); } catch (Throwable t) { if (CmsLog.INIT.isWarnEnabled()) { CmsLog.INIT.warn(Messages.get().getBundle().key( Messages.INIT_NO_ROOT_FOLDER_DEFAULT_SITE_1, m_defaultSite)); CmsLog.INIT.info(Messages.get().getBundle().key(Messages.INIT_DEFAULT_SITE_ROOT_1, m_defaultSite)); } else { CmsLog.INIT.info(Messages.get().getBundle().key(Messages.INIT_DEFAULT_SITE_ROOT_0)); if (CmsLog.INIT.isInfoEnabled()) { if (m_workplaceSiteMatcher != null) { CmsLog.INIT.info(Messages.get().getBundle().key(Messages.INIT_WORKPLACE_SITE_1, m_workplaceSiteMatcher)); } else { CmsLog.INIT.info(Messages.get().getBundle().key(Messages.INIT_WORKPLACE_SITE_0));
Messages.get().getBundle().key( Messages.INIT_NUM_SITE_ROOTS_CONFIGURED_1, new Integer((m_siteMatcherSites.size() + ((m_defaultUri != null) ? 1 : 0))))); CmsLog.INIT.warn(Messages.get().getBundle().key(Messages.INIT_NO_ROOT_FOLDER_1, site)); if (CmsLog.INIT.isWarnEnabled()) { CmsLog.INIT.warn( Messages.get().getBundle().key(Messages.INIT_NO_ROOT_FOLDER_DEFAULT_SITE_1, m_defaultSite)); CmsLog.INIT.info(Messages.get().getBundle().key(Messages.INIT_DEFAULT_SITE_ROOT_1, m_defaultSite)); } else { CmsLog.INIT.info(Messages.get().getBundle().key(Messages.INIT_DEFAULT_SITE_ROOT_0)); m_workplaceMatchers.add(matcher); if (CmsLog.INIT.isInfoEnabled()) { CmsLog.INIT.info(Messages.get().getBundle().key(Messages.INIT_WORKPLACE_SITE_1, matcher)); CmsLog.INIT.info(Messages.get().getBundle().key(Messages.INIT_WORKPLACE_SITE_0));
LOG.error(Messages.get().getBundle().key(Messages.LOG_READ_SITE_PROP_FAILED_0), t); } finally {
/** * Updates the general settings.<p> * * @param cms the cms to use * @param defaulrUri the default URI * @param workplaceServer the workplace server URL * @param sharedFolder the shared folder URI * * @throws CmsException if something goes wrong */ public void updateGeneralSettings(CmsObject cms, String defaulrUri, String workplaceServer, String sharedFolder) throws CmsException { CmsObject clone = OpenCms.initCmsObject(cms); clone.getRequestContext().setSiteRoot(""); // set the shared folder if ((sharedFolder == null) || sharedFolder.equals("") || sharedFolder.equals("/") || !sharedFolder.startsWith("/") || !sharedFolder.endsWith("/") || sharedFolder.startsWith("/sites/")) { throw new CmsException( Messages.get().container(Messages.ERR_INVALID_PATH_FOR_SHARED_FOLDER_1, sharedFolder)); } m_frozen = false; setDefaultUri(clone.readResource(defaulrUri).getRootPath()); setSharedFolder(clone.readResource(sharedFolder).getRootPath()); m_frozen = true; }
LOG.error(Messages.get().getBundle().key(Messages.LOG_READ_SITE_PROP_FAILED_0), t); } finally {
throw new CmsRuntimeException(Messages.get().container(Messages.ERR_CONFIG_FROZEN_0)); throw new CmsRuntimeException(Messages.get().container(Messages.ERR_SITE_ALREADY_CONFIGURED_1, uri)); throw new CmsRuntimeException(Messages.get().container(Messages.ERR_EMPTY_SERVER_URL_0)); m_siteRootSites.put(site.getSiteRoot(), site); if (CmsLog.INIT.isInfoEnabled()) { CmsLog.INIT.info(Messages.get().getBundle().key(Messages.INIT_SITE_ROOT_ADDED_1, site.toString()));
org.opencms.search.documents.Messages.get(), org.opencms.security.Messages.get(), org.opencms.site.Messages.get(), org.opencms.staticexport.Messages.get(), org.opencms.synchronize.Messages.get(),