You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@roller.apache.org by sn...@apache.org on 2011/04/02 22:31:09 UTC
svn commit: r1088110 - in /roller/trunk:
weblogger-business/src/main/java/org/apache/roller/weblogger/business/themes/ThemeManagerImpl.java
weblogger-web/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/ThemeEdit.java
Author: snoopdave
Date: Sat Apr 2 20:31:09 2011
New Revision: 1088110
URL: http://svn.apache.org/viewvc?rev=1088110&view=rev
Log:
Fix for ROL-1918: switching to shared Front Page theme on Glassfish causes HTTP 500 error
https://issues.apache.org/jira/browse/ROL-1918
- Change to exception handling so errors get logged
- Better handling for files in root directory
It is possible that you'll get a 500 error if a weblog does not have a root media directory. As far as I know, the only way that can happen is if you upgrade from 4.0 to 5.0 but do not do the media file migration properly.
Modified:
roller/trunk/weblogger-business/src/main/java/org/apache/roller/weblogger/business/themes/ThemeManagerImpl.java
roller/trunk/weblogger-web/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/ThemeEdit.java
Modified: roller/trunk/weblogger-business/src/main/java/org/apache/roller/weblogger/business/themes/ThemeManagerImpl.java
URL: http://svn.apache.org/viewvc/roller/trunk/weblogger-business/src/main/java/org/apache/roller/weblogger/business/themes/ThemeManagerImpl.java?rev=1088110&r1=1088109&r2=1088110&view=diff
==============================================================================
--- roller/trunk/weblogger-business/src/main/java/org/apache/roller/weblogger/business/themes/ThemeManagerImpl.java (original)
+++ roller/trunk/weblogger-business/src/main/java/org/apache/roller/weblogger/business/themes/ThemeManagerImpl.java Sat Apr 2 20:31:09 2011
@@ -190,6 +190,10 @@ public class ThemeManagerImpl implements
log.debug("Importing theme [" + theme.getName() + "] to weblog [" + website.getName() + "]");
WeblogManager wmgr = roller.getWeblogManager();
+ MediaFileManager fileMgr = roller.getMediaFileManager();
+
+ MediaFileDirectory root = fileMgr.getMediaFileRootDirectory(website);
+ log.warn("Weblog " + website.getHandle() + " does not have a root MediaFile directory");
Set importedActionTemplates = new HashSet();
ThemeTemplate themeTemplate = null;
@@ -266,14 +270,10 @@ public class ThemeManagerImpl implements
}
wmgr.saveWeblog(website);
-
// now lets import all the theme resources
- MediaFileManager fileMgr = roller.getMediaFileManager();
-
List resources = theme.getResources();
Iterator iterat = resources.iterator();
ThemeResource resource = null;
- MediaFileDirectory root = fileMgr.getMediaFileRootDirectory(website);
while (iterat.hasNext()) {
resource = (ThemeResource) iterat.next();
@@ -284,7 +284,8 @@ public class ThemeManagerImpl implements
fileMgr.getMediaFileDirectoryByPath(website, resource.getPath());
if (mdir == null) {
log.debug(" Creating directory: " + resource.getPath());
- mdir = fileMgr.createMediaFileDirectory(root, resource.getPath());
+ mdir = fileMgr.createMediaFileDirectory(
+ fileMgr.getMediaFileRootDirectory(website), resource.getPath());
roller.flush();
} else {
log.debug(" No action: directory already exists");
@@ -298,8 +299,10 @@ public class ThemeManagerImpl implements
String justPath = null;
if (resourcePath.indexOf("/") == -1) {
- mdir = root;
-
+ mdir = fileMgr.getMediaFileRootDirectory(website);
+ justPath = "";
+ justName = resourcePath;
+
} else {
justPath = resourcePath.substring(0, resourcePath.lastIndexOf("/"));
if (!justPath.startsWith("/")) justPath = "/" + justPath;
@@ -329,6 +332,7 @@ public class ThemeManagerImpl implements
mf.setLength(resource.getLength());
log.debug(" Saving file: " + justName);
+ log.debug(" Saviving in directory = " + mf.getDirectory());
RollerMessages errors = new RollerMessages();
fileMgr.createMediaFile(website, mf, errors);
try {
Modified: roller/trunk/weblogger-web/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/ThemeEdit.java
URL: http://svn.apache.org/viewvc/roller/trunk/weblogger-web/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/ThemeEdit.java?rev=1088110&r1=1088109&r2=1088110&view=diff
==============================================================================
--- roller/trunk/weblogger-web/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/ThemeEdit.java (original)
+++ roller/trunk/weblogger-web/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/ThemeEdit.java Sat Apr 2 20:31:09 2011
@@ -115,7 +115,7 @@ public class ThemeEdit extends UIAction
ThemeManager themeMgr = WebloggerFactory.getWeblogger().getThemeManager();
t = themeMgr.getTheme(getImportThemeId());
themeMgr.importTheme(getActionWeblog(), t);
- } catch(WebloggerException re) {
+ } catch(Exception re) {
log.error("Error customizing theme for weblog - "+getActionWeblog().getHandle(), re);
// TODO: i18n
addError("Error importing theme");