/** * Initialize the BlojsomConfiguration object * * @param servletConfig Servlet configuration information * @param blojsomConfiguration Map of loaded blojsom properties */ public BlojsomConfiguration(ServletConfig servletConfig, Map blojsomConfiguration) throws BlojsomConfigurationException { _blojsomConfiguration = blojsomConfiguration; _baseConfigurationDirectory = getBlojsomPropertyAsString(BLOJSOM_CONFIGURATION_BASE_DIRECTORY_IP); if (_baseConfigurationDirectory == null || "".equals(_baseConfigurationDirectory)) { _baseConfigurationDirectory = BLOJSOM_DEFAULT_CONFIGURATION_BASE_DIRECTORY; } else { if (!_baseConfigurationDirectory.startsWith("/")) { _baseConfigurationDirectory = '/' + _baseConfigurationDirectory; } if (!_baseConfigurationDirectory.endsWith("/")) { _baseConfigurationDirectory += "/"; } } _logger.debug("Using base configuration directory: " + _baseConfigurationDirectory); _blojsomUsers = getBlojsomPropertyAsString(BLOJSOM_USERS_IP); String[] users = BlojsomUtils.parseCommaList(_blojsomUsers); InputStream is; if (users.length == 0) { _logger.error("No users defined for this blojsom blog"); throw new BlojsomConfigurationException("No users defined for this blojsom blog"); } else { _blogUsers = new HashMap(users.length); for (int i = 0; i < users.length; i++) { String user = users[i]; BlogUser blogUser = new BlogUser(); blogUser.setId(user); Properties userProperties = new Properties(); is = servletConfig .getServletContext() .getResourceAsStream( _baseConfigurationDirectory + user + '/' + BLOG_DEFAULT_PROPERTIES); try { userProperties.load(is); is.close(); } catch (IOException e) { _logger.error(e); throw new BlojsomConfigurationException(e); } Blog userBlog = new Blog(userProperties); blogUser.setBlog(userBlog); _blogUsers.put(user, blogUser); _logger.debug("Added blojsom user: "******"".equals(defaultUser)) { _logger.error( "No default user defined in configuration property: " + BLOJSOM_DEFAULT_USER_IP); throw new BlojsomConfigurationException( "No default user defined in configuration property: " + BLOJSOM_DEFAULT_USER_IP); } if (!_blogUsers.containsKey(defaultUser)) { _logger.error( "Default user does not match any of the registered blojsom users: " + defaultUser); throw new BlojsomConfigurationException( "Default user does not match any of the registered blojsom users: " + defaultUser); } _defaultUser = defaultUser; _logger.debug("blojsom default user: "******"".equals(_fetcherClass)) { _fetcherClass = BLOG_DEFAULT_FETCHER; } } }