package org.blojsom.blog;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.blojsom.util.BlojsomConstants;
import org.blojsom.util.BlojsomUtils;
import com.apple.blojsom.util.BlojsomAppleUtils;
import java.io.File;
import java.util.*;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class Blog implements BlojsomConstants {
private Log _logger = LogFactory.getLog(Blog.class);
private String _blogHome;
private String _blogName;
private String _blogDescription;
private String _blogURL;
private String _blogAdminURL;
private String _blogBaseURL;
private String _blogCountry;
private String _blogLanguage;
private String _blogAdministrationLocale;
private String[] _blogFileExtensions;
private String[] _blogPropertiesExtensions;
private int _blogDepth;
private int _blogDisplayEntries;
private String[] _blogDefaultCategoryMappings;
private String[] _blogDirectoryFilter;
private String _blogOwner;
private String _blogOwnerEmail;
private String _blogCommentsDirectory;
private Boolean _blogCommentsEnabled;
private Boolean _blogEmailEnabled;
private Boolean _blogTrackbacksEnabled;
private Boolean _blogPingbacksEnabled;
private String _blogTrackbackDirectory;
private String _blogEntryMetaDataExtension;
private String _blogFileEncoding;
private String _blogDefaultFlavor;
private Boolean _linearNavigationEnabled;
private Boolean _xmlrpcEnabled;
private String _blogPingbacksDirectory;
private Boolean _useEncryptedPasswords;
private String _digestAlgorithm;
private String _blogDefaultStyleSheet;
private Map _blogProperties;
private Map _authorization = null;
public Blog(Properties blogConfiguration) throws BlojsomConfigurationException {
_blogProperties = new HashMap();
Iterator keyIterator = blogConfiguration.keySet().iterator();
while (keyIterator.hasNext()) {
String key = (String) keyIterator.next();
String propertyValue = blogConfiguration.getProperty(key);
_blogProperties.put(key, propertyValue);
}
_blogHome = blogConfiguration.getProperty(BLOG_HOME_IP);
if (BlojsomUtils.checkNullOrBlank(_blogHome)) {
_logger.error("No value supplied for blog-home");
throw new BlojsomConfigurationException("No valued supplied for blog-home");
}
_blogHome = _blogHome.trim();
if (!_blogHome.endsWith("/")) {
_blogHome += "/";
}
_blogProperties.put(BLOG_HOME_IP, _blogHome);
_blogLanguage = blogConfiguration.getProperty(BLOG_LANGUAGE_IP);
if (_blogLanguage == null) {
_logger.info("No value supplied for blog-language. Defaulting to: " + BLOG_LANGUAGE_DEFAULT);
_blogLanguage = BLOG_LANGUAGE_DEFAULT;
}
_blogProperties.put(BLOG_LANGUAGE_IP, _blogLanguage);
_blogCountry = blogConfiguration.getProperty(BLOG_COUNTRY_IP);
if (_blogCountry == null) {
_logger.info("No value supplied for blog-country. Defaulting to: " + BLOG_COUNTRY_DEFAULT);
_blogCountry = BLOG_COUNTRY_DEFAULT;
}
_blogProperties.put(BLOG_COUNTRY_IP, _blogCountry);
_blogDescription = blogConfiguration.getProperty(BLOG_DESCRIPTION_IP);
if (_blogDescription == null) {
_logger.info("No value supplied for blog-description");
_blogDescription = "";
}
_blogProperties.put(BLOG_DESCRIPTION_IP, _blogDescription);
_blogName = blogConfiguration.getProperty(BLOG_NAME_IP);
if (_blogName == null) {
_logger.info("No value supplied for blog-name");
_blogName = "";
}
else if (COMPUTER_NAME.equals(_blogName)) {
_blogName = BlojsomAppleUtils.getComputerName();
}
_blogProperties.put(BLOG_NAME_IP, _blogName);
_blogDepth = Integer.parseInt(blogConfiguration.getProperty(BLOG_DEPTH_IP, Integer.toString(INFINITE_BLOG_DEPTH)));
_blogProperties.put(BLOG_DEPTH_IP, new Integer(_blogDepth));
_blogURL = blogConfiguration.getProperty(BLOG_URL_IP);
if (BlojsomUtils.checkNullOrBlank(_blogURL)) {
_logger.info("No value supplied for blog-url");
} else {
if (!_blogURL.endsWith("/")) {
_blogURL += "/";
}
}
_blogProperties.put(BLOG_URL_IP, _blogURL);
_blogAdminURL = blogConfiguration.getProperty(BLOG_ADMIN_URL_IP);
if (BlojsomUtils.checkNullOrBlank(_blogAdminURL)) {
_logger.info("No value supplied for blog-admin-url");
_blogAdminURL = _blogURL;
} else {
if (!_blogAdminURL.endsWith("/")) {
_blogAdminURL += "/";
}
}
_blogProperties.put(BLOG_ADMIN_URL_IP, _blogAdminURL);
_blogBaseURL = blogConfiguration.getProperty(BLOG_BASE_URL_IP);
if (BlojsomUtils.checkNullOrBlank(_blogBaseURL)) {
_logger.info("No value supplied for blog-base-url");
} else {
if (_blogBaseURL.endsWith("/")) {
_blogBaseURL = _blogBaseURL.substring(0, _blogBaseURL.length() - 1);
}
}
_blogProperties.put(BLOG_BASE_URL_IP, _blogBaseURL);
_blogFileExtensions = BlojsomUtils.parseCommaList(blogConfiguration.getProperty(BLOG_FILE_EXTENSIONS_IP));
_blogProperties.put(BLOG_FILE_EXTENSIONS_IP, blogConfiguration.getProperty(BLOG_FILE_EXTENSIONS_IP));
String blogPropertiesExtensions = blogConfiguration.getProperty(BLOG_PROPERTIES_EXTENSIONS_IP);
if (BlojsomUtils.checkNullOrBlank(blogPropertiesExtensions)) {
_blogPropertiesExtensions = DEFAULT_PROPERTIES_EXTENSIONS;
}
_blogPropertiesExtensions = BlojsomUtils.parseCommaList(blogPropertiesExtensions);
_blogProperties.put(BLOG_PROPERTIES_EXTENSIONS_IP, _blogPropertiesExtensions);
_blogEntryMetaDataExtension = blogConfiguration.getProperty(BLOG_ENTRY_META_DATA_EXTENSION_IP);
_blogProperties.put(BLOG_ENTRY_META_DATA_EXTENSION_IP, _blogEntryMetaDataExtension);
_blogDisplayEntries = Integer.parseInt(blogConfiguration.getProperty(BLOG_ENTRIES_DISPLAY_IP, Integer.toString(BLOG_ENTRIES_DISPLAY_DEFAULT)));
_blogProperties.put(BLOG_ENTRIES_DISPLAY_IP, new Integer(_blogDisplayEntries));
String blogDefaultCategoryMapping = blogConfiguration.getProperty(BLOG_DEFAULT_CATEGORY_MAPPING_IP);
if (BlojsomUtils.checkNullOrBlank(blogDefaultCategoryMapping)) {
_blogDefaultCategoryMappings = null;
_logger.debug("No mapping supplied for the default category '/'");
} else {
_blogDefaultCategoryMappings = BlojsomUtils.parseCommaList(blogDefaultCategoryMapping);
_logger.debug(_blogDefaultCategoryMappings.length + " directories mapped to the default category '/'");
if (_blogDefaultCategoryMappings.length == 0) {
_blogDefaultCategoryMappings = null;
}
}
_blogProperties.put(BLOG_DEFAULT_CATEGORY_MAPPING_IP, blogDefaultCategoryMapping);
_blogCommentsDirectory = blogConfiguration.getProperty(BLOG_COMMENTS_DIRECTORY_IP);
if ((_blogCommentsDirectory == null) || ("".equals(_blogCommentsDirectory))) {
_blogCommentsDirectory = DEFAULT_COMMENTS_DIRECTORY;
}
_logger.debug("blojsom comments directory: " + _blogCommentsDirectory);
_blogProperties.put(BLOG_COMMENTS_DIRECTORY_IP, _blogCommentsDirectory);
String commentsDirectoryRegex;
commentsDirectoryRegex = ".*" + File.separator + _blogCommentsDirectory;
_blogTrackbackDirectory = blogConfiguration.getProperty(BLOG_TRACKBACK_DIRECTORY_IP);
if ((_blogTrackbackDirectory == null) || ("".equals(_blogTrackbackDirectory))) {
_blogTrackbackDirectory = DEFAULT_TRACKBACK_DIRECTORY;
}
_logger.debug("blojsom trackback directory: " + _blogTrackbackDirectory);
_blogProperties.put(BLOG_TRACKBACK_DIRECTORY_IP, _blogTrackbackDirectory);
String trackbackDirectoryRegex;
trackbackDirectoryRegex = ".*" + File.separator + _blogTrackbackDirectory;
_blogPingbacksDirectory = blogConfiguration.getProperty(BLOG_PINGBACKS_DIRECTORY_IP);
if (BlojsomUtils.checkNullOrBlank(_blogPingbacksDirectory)) {
_blogPingbacksDirectory = DEFAULT_PINGBACKS_DIRECTORY;
}
_logger.debug("blojsom pingbacks directory: " + _blogPingbacksDirectory);
_blogProperties.put(BLOG_PINGBACKS_DIRECTORY_IP, _blogPingbacksDirectory);
String pingbacksDirectoryRegex;
pingbacksDirectoryRegex = ".*" + File.separator + _blogPingbacksDirectory;
String blogDirectoryFilter = blogConfiguration.getProperty(BLOG_DIRECTORY_FILTER_IP);
if (BlojsomUtils.checkNullOrBlank(blogDirectoryFilter)) {
blogDirectoryFilter = commentsDirectoryRegex + ", " + trackbackDirectoryRegex + ", " + pingbacksDirectoryRegex;
} else {
if (blogDirectoryFilter.indexOf(commentsDirectoryRegex) == -1) {
blogDirectoryFilter += ", " + commentsDirectoryRegex;
}
if (blogDirectoryFilter.indexOf(trackbackDirectoryRegex) == -1) {
blogDirectoryFilter += ", " + trackbackDirectoryRegex;
}
if (blogDirectoryFilter.indexOf(pingbacksDirectoryRegex) == -1) {
blogDirectoryFilter += ", " + pingbacksDirectoryRegex;
}
}
_logger.debug("Comments directory regex: " + commentsDirectoryRegex);
_logger.debug("Trackbacks directory regex: " + trackbackDirectoryRegex);
_logger.debug("Pingbacks directory regex: " + pingbacksDirectoryRegex);
_blogDirectoryFilter = BlojsomUtils.parseCommaList(blogDirectoryFilter);
for (int i = 0; i < _blogDirectoryFilter.length; i++) {
_logger.debug("blojsom to filter: " + _blogDirectoryFilter[i]);
}
_logger.debug("blojsom filtering " + _blogDirectoryFilter.length + " directories");
_blogProperties.put(BLOG_DIRECTORY_FILTER_IP, _blogDirectoryFilter);
_blogOwner = blogConfiguration.getProperty(BLOG_OWNER);
_blogProperties.put(BLOG_OWNER, _blogOwner);
_blogOwnerEmail = blogConfiguration.getProperty(BLOG_OWNER_EMAIL);
_blogProperties.put(BLOG_OWNER_EMAIL, _blogOwnerEmail);
String blogCommentsEnabled = blogConfiguration.getProperty(BLOG_COMMENTS_ENABLED_IP);
_blogCommentsEnabled = Boolean.valueOf(blogCommentsEnabled);
_blogProperties.put(BLOG_COMMENTS_ENABLED_IP, _blogCommentsEnabled);
String blogTrackbacksEnabled = blogConfiguration.getProperty(BLOG_TRACKBACKS_ENABLED_IP);
_blogTrackbacksEnabled = Boolean.valueOf(blogTrackbacksEnabled);
_blogProperties.put(BLOG_TRACKBACKS_ENABLED_IP, _blogTrackbacksEnabled);
String blogPingbacksEnabled = blogConfiguration.getProperty(BLOG_PINGBACKS_ENABLED_IP);
_blogPingbacksEnabled = Boolean.valueOf(blogPingbacksEnabled);
_blogProperties.put(BLOG_PINGBACKS_ENABLED_IP, _blogPingbacksEnabled);
String blogEmailEnabled = blogConfiguration.getProperty(BLOG_EMAIL_ENABLED_IP);
if ("true".equalsIgnoreCase(blogEmailEnabled)) {
_blogEmailEnabled = Boolean.valueOf(true);
} else {
_blogEmailEnabled = Boolean.valueOf(false);
}
_blogProperties.put(BLOG_EMAIL_ENABLED_IP, _blogEmailEnabled);
String blogFileEncoding = blogConfiguration.getProperty(BLOG_FILE_ENCODING_IP);
if (BlojsomUtils.checkNullOrBlank(blogFileEncoding)) {
blogFileEncoding = UTF8;
}
_blogFileEncoding = blogFileEncoding;
_blogProperties.put(BLOG_FILE_ENCODING_IP, blogFileEncoding);
String blogDefaultFlavor = blogConfiguration.getProperty(BLOG_DEFAULT_FLAVOR_IP);
if (BlojsomUtils.checkNullOrBlank(blogDefaultFlavor)) {
blogDefaultFlavor = DEFAULT_FLAVOR_HTML;
}
_blogDefaultFlavor = blogDefaultFlavor;
_blogProperties.put(BLOG_DEFAULT_FLAVOR_IP, _blogDefaultFlavor);
String linearNavigationEnabled = blogConfiguration.getProperty(LINEAR_NAVIGATION_ENABLED_IP);
_linearNavigationEnabled = Boolean.valueOf(linearNavigationEnabled);
_blogProperties.put(LINEAR_NAVIGATION_ENABLED_IP, _linearNavigationEnabled);
String xmlrpcEnabled = blogConfiguration.getProperty(XMLRPC_ENABLED_IP);
if (BlojsomUtils.checkNullOrBlank(xmlrpcEnabled)) {
xmlrpcEnabled = "true";
}
_xmlrpcEnabled = Boolean.valueOf(xmlrpcEnabled);
_blogProperties.put(XMLRPC_ENABLED_IP, _xmlrpcEnabled);
String blogAdministrationLocale = blogConfiguration.getProperty(BLOG_ADMINISTRATION_LOCALE_IP);
if (BlojsomUtils.checkNullOrBlank(blogAdministrationLocale)) {
blogAdministrationLocale = BLOG_LANGUAGE_DEFAULT + "_" + BLOG_COUNTRY_DEFAULT;
}
_blogAdministrationLocale = blogAdministrationLocale;
_blogProperties.put(BLOG_ADMINISTRATION_LOCALE_IP, _blogAdministrationLocale);
String useEncryptedPasswords = blogConfiguration.getProperty(USE_ENCRYPTED_PASSWORDS);
_useEncryptedPasswords = Boolean.valueOf(useEncryptedPasswords);
_blogProperties.put(USE_ENCRYPTED_PASSWORDS, _useEncryptedPasswords);
String digestAlgorithm = blogConfiguration.getProperty(DIGEST_ALGORITHM);
if (BlojsomUtils.checkNullOrBlank(digestAlgorithm)) {
digestAlgorithm = DEFAULT_DIGEST_ALGORITHM;
}
try {
MessageDigest messageDigest = MessageDigest.getInstance(digestAlgorithm);
} catch (NoSuchAlgorithmException e) {
digestAlgorithm = DEFAULT_DIGEST_ALGORITHM;
}
_digestAlgorithm = digestAlgorithm;
_blogProperties.put(DIGEST_ALGORITHM, _digestAlgorithm);
String blogDefaultStyleSheet = blogConfiguration.getProperty(BLOG_DEFAULT_STYLESHEET_IP);
if (blogDefaultStyleSheet == null) {
blogDefaultStyleSheet = "";
}
_blogDefaultStyleSheet = blogDefaultStyleSheet;
String blogExistsString = blogConfiguration.getProperty(BLOG_EXISTS);
if (blogExistsString == null) {
blogExistsString = "false";
}
_blogProperties.put(BLOG_EXISTS, blogExistsString);
_logger.info("blojsom home: " + _blogHome);
}
public boolean checkAuthorization(String username, String password) {
return false;
}
public String getAuthorizedUserEmail(String username) {
if (_authorization.containsKey(username)) {
String[] parsedPasswordAndEmail = BlojsomUtils.parseLastComma((String)_authorization.get(username));
if (parsedPasswordAndEmail.length < 2) {
return getBlogOwnerEmail();
} else {
return parsedPasswordAndEmail[1];
}
}
return null;
}
public void setAuthorizedUserEmail(String username, String email) {
if (_authorization.containsKey(username)) {
String[] parsedPasswordAndEmail = BlojsomUtils.parseLastComma((String)_authorization.get(username));
StringBuffer updatedPasswordAndEmail = new StringBuffer();
updatedPasswordAndEmail.append(parsedPasswordAndEmail[0]);
updatedPasswordAndEmail.append(",");
updatedPasswordAndEmail.append(email);
_authorization.put(username, updatedPasswordAndEmail.toString());
_logger.debug("Set authorized user: " + username + " with e-mail address: " + email);
}
}
public void setAuthorizedUserPassword(String username, String password) {
if (_authorization.containsKey(username)) {
String[] parsedPasswordAndEmail = BlojsomUtils.parseLastComma((String)_authorization.get(username));
StringBuffer updatedPasswordAndEmail = new StringBuffer();
updatedPasswordAndEmail.append(password);
if (parsedPasswordAndEmail.length == 2) {
updatedPasswordAndEmail.append(",");
updatedPasswordAndEmail.append(parsedPasswordAndEmail[1]);
}
_authorization.put(username, updatedPasswordAndEmail.toString());
} else {
_authorization.put(username, password + ",");
}
}
public String getBlogHome() {
return _blogHome;
}
public String[] getBlogFileExtensions() {
return _blogFileExtensions;
}
public String[] getBlogPropertiesExtensions() {
return _blogPropertiesExtensions;
}
public int getBlogDepth() {
return _blogDepth;
}
public String getBlogName() {
return _blogName;
}
public String getEscapedBlogName() {
return BlojsomUtils.escapeString(_blogName);
}
public String getBlogDescription() {
return _blogDescription;
}
public String getEscapedBlogDescription() {
return BlojsomUtils.escapeString(_blogDescription);
}
public String getBlogURL() {
return _blogURL;
}
public String getBlogAdminURL() {
return _blogAdminURL;
}
public String getBlogBaseURL() {
return _blogBaseURL;
}
public String getBlogLanguage() {
return _blogLanguage;
}
public String getBlogCountry() {
return _blogCountry;
}
public int getBlogDisplayEntries() {
return _blogDisplayEntries;
}
public String[] getBlogDefaultCategoryMappings() {
return _blogDefaultCategoryMappings;
}
public String getBlogDefaultCategoryMappingsAsString() {
if (_blogDefaultCategoryMappings == null) {
return "";
}
return BlojsomUtils.arrayOfStringsToString(_blogDefaultCategoryMappings);
}
public boolean setAuthorization(Map authorization) {
boolean result = false;
_authorization = authorization;
return result;
}
public Map getAuthorization() {
return _authorization;
}
public String getBlogOwnerEmail() {
return _blogOwnerEmail;
}
public String getEscapedBlogOwnerEmail() {
return BlojsomUtils.escapeString(_blogOwnerEmail);
}
public String getBlogOwner() {
return _blogOwner;
}
public String getEscapedBlogOwner() {
return BlojsomUtils.escapeString(_blogOwner);
}
public Map getBlogProperties() {
return Collections.unmodifiableMap(_blogProperties);
}
public String getBlogCommentsDirectory() {
return _blogCommentsDirectory;
}
public String[] getBlogDirectoryFilter() {
return _blogDirectoryFilter;
}
public String getBlogTrackbackDirectory() {
return _blogTrackbackDirectory;
}
public String getBlogPingbacksDirectory() {
return _blogPingbacksDirectory;
}
public Boolean getBlogCommentsEnabled() {
return _blogCommentsEnabled;
}
public Boolean getBlogTrackbacksEnabled() {
return _blogTrackbacksEnabled;
}
public Boolean getBlogPingbacksEnabled() {
return _blogPingbacksEnabled;
}
public Boolean getBlogEmailEnabled() {
return _blogEmailEnabled;
}
public String getBlogEntryMetaDataExtension() {
return _blogEntryMetaDataExtension;
}
public String getBlogFileEncoding() {
return _blogFileEncoding;
}
public String getBlogProperty(String propertyName) {
if (_blogProperties.containsKey(propertyName)) {
return _blogProperties.get(propertyName).toString();
}
return null;
}
public String getBlogDefaultFlavor() {
return _blogDefaultFlavor;
}
public String getBlogDefaultStyleSheet() {
return _blogDefaultStyleSheet;
}
public void setBlogName(String blogName) {
_blogName = blogName;
_blogProperties.put(BLOG_NAME_IP, blogName);
}
public void setBlogDescription(String blogDescription) {
_blogDescription = blogDescription;
_blogProperties.put(BLOG_DESCRIPTION_IP, blogDescription);
}
public void setBlogURL(String blogURL) {
_blogURL = blogURL;
_blogProperties.put(BLOG_URL_IP, blogURL);
}
public void setAdminBlogURL(String blogAdminURL) {
_blogAdminURL = blogAdminURL;
_blogProperties.put(BLOG_ADMIN_URL_IP, blogAdminURL);
}
public void setBlogBaseURL(String blogBaseURL) {
_blogBaseURL = blogBaseURL;
_blogProperties.put(BLOG_BASE_URL_IP, blogBaseURL);
}
public void setBlogCountry(String blogCountry) {
_blogCountry = blogCountry;
_blogProperties.put(BLOG_COUNTRY_IP, blogCountry);
}
public void setBlogLanguage(String blogLanguage) {
_blogLanguage = blogLanguage;
_blogProperties.put(BLOG_LANGUAGE_IP, blogLanguage);
}
public void setBlogDepth(int blogDepth) {
_blogDepth = blogDepth;
_blogProperties.put(BLOG_DEPTH_IP, new Integer(blogDepth));
}
public void setBlogDisplayEntries(int blogDisplayEntries) {
_blogDisplayEntries = blogDisplayEntries;
_blogProperties.put(BLOG_ENTRIES_DISPLAY_IP, new Integer(blogDisplayEntries));
}
public void setBlogDefaultCategoryMappings(String[] blogDefaultCategoryMappings) {
_blogDefaultCategoryMappings = blogDefaultCategoryMappings;
_blogProperties.put(BLOG_DEFAULT_CATEGORY_MAPPING_IP, blogDefaultCategoryMappings);
}
public void setBlogOwner(String blogOwner) {
_blogOwner = blogOwner;
_blogProperties.put(BLOG_OWNER, blogOwner);
}
public void setBlogOwnerEmail(String blogOwnerEmail) {
_blogOwnerEmail = blogOwnerEmail;
_blogProperties.put(BLOG_OWNER_EMAIL, blogOwnerEmail);
}
public void setBlogCommentsEnabled(Boolean blogCommentsEnabled) {
_blogCommentsEnabled = blogCommentsEnabled;
_blogProperties.put(BLOG_COMMENTS_ENABLED_IP, blogCommentsEnabled);
}
public void setBlogEmailEnabled(Boolean blogEmailEnabled) {
_blogEmailEnabled = blogEmailEnabled;
_blogProperties.put(BLOG_EMAIL_ENABLED_IP, blogEmailEnabled);
}
public void setBlogTrackbacksEnabled(Boolean blogTrackbacksEnabled) {
_blogTrackbacksEnabled = blogTrackbacksEnabled;
_blogProperties.put(BLOG_TRACKBACKS_ENABLED_IP, blogTrackbacksEnabled);
}
public void setBlogPingbacksEnabled(Boolean blogPingbacksEnabled) {
_blogPingbacksEnabled = blogPingbacksEnabled;
_blogProperties.put(BLOG_PINGBACKS_ENABLED_IP, blogPingbacksEnabled);
}
public void setBlogFileEncoding(String blogFileEncoding) {
_blogFileEncoding = blogFileEncoding;
_blogProperties.put(BLOG_FILE_ENCODING_IP, blogFileEncoding);
}
public void setBlogDefaultCategoryMappingForFlavor(String flavorKey, String blogDefaultCategoryMapping) {
if (flavorKey.endsWith(BLOG_DEFAULT_CATEGORY_MAPPING_IP)) {
_blogProperties.put(flavorKey, blogDefaultCategoryMapping);
}
}
public void setBlogFileExtensions(String blogFileExtensions) {
_blogFileExtensions = BlojsomUtils.parseCommaList(blogFileExtensions);
_blogProperties.put(BLOG_FILE_EXTENSIONS_IP, blogFileExtensions);
}
public void setBlogDefaultFlavor(String blogDefaultFlavor) {
_blogDefaultFlavor = blogDefaultFlavor;
_blogProperties.put(BLOG_DEFAULT_FLAVOR_IP, _blogDefaultFlavor);
}
public void setBlogProperty(String key, String value) {
if (key != null && value != null) {
if (!key.equals(BLOG_HOME_IP) && !key.equals(BLOG_COMMENTS_DIRECTORY_IP) && !key.equals(BLOG_TRACKBACK_DIRECTORY_IP) && !key.equals(BLOG_PINGBACKS_DIRECTORY_IP)) {
_blogProperties.put(key, value);
}
}
}
public Boolean getLinearNavigationEnabled() {
return _linearNavigationEnabled;
}
public void setLinearNavigationEnabled(Boolean linearNavigationEnabled) {
_linearNavigationEnabled = linearNavigationEnabled;
_blogProperties.put(LINEAR_NAVIGATION_ENABLED_IP, _linearNavigationEnabled);
}
public Boolean getXmlrpcEnabled() {
return _xmlrpcEnabled;
}
public void setXmlrpcEnabled(Boolean xmlrpcEnabled) {
_xmlrpcEnabled = xmlrpcEnabled;
_blogProperties.put(XMLRPC_ENABLED_IP, _xmlrpcEnabled);
}
public String getBlogAdministrationLocaleAsString() {
return _blogAdministrationLocale;
}
public Locale getBlogAdministrationLocale() {
return BlojsomUtils.getLocaleFromString(_blogAdministrationLocale);
}
public void setBlogAdministrationLocale(String blogAdministrationLocale) {
_blogAdministrationLocale = blogAdministrationLocale;
_blogProperties.put(BLOG_ADMINISTRATION_LOCALE_IP, _blogAdministrationLocale);
}
public Locale getBlogLocale() {
return new Locale(_blogLanguage, _blogCountry);
}
public Boolean getUseEncryptedPasswords() {
return _useEncryptedPasswords;
}
public void setUseEncryptedPasswords(Boolean useEncryptedPasswords) {
_useEncryptedPasswords = useEncryptedPasswords;
}
public void setBlogAdminURL(String blogAdminURL) {
_blogAdminURL = blogAdminURL;
_blogProperties.put(BLOG_ADMIN_URL_IP, blogAdminURL);
}
public String getDigestAlgorithm() {
return _digestAlgorithm;
}
public void setDigestAlgorithm(String digestAlgorithm) {
if (BlojsomUtils.checkNullOrBlank(digestAlgorithm)) {
digestAlgorithm = DEFAULT_DIGEST_ALGORITHM;
}
try {
MessageDigest messageDigest = MessageDigest.getInstance(digestAlgorithm);
} catch (NoSuchAlgorithmException e) {
digestAlgorithm = DEFAULT_DIGEST_ALGORITHM;
}
_digestAlgorithm = digestAlgorithm;
_blogProperties.put(DIGEST_ALGORITHM, _digestAlgorithm);
}
public void setBlogDefaultStyleSheet(String blogDefaultStyleSheet) {
_blogDefaultStyleSheet = blogDefaultStyleSheet;
_blogProperties.put(BLOG_DEFAULT_STYLESHEET_IP, _blogDefaultStyleSheet);
}
}