Author: snoopdave Date: Sun Jul 1 09:06:11 2007 New Revision: 552331 URL: http://svn.apache.org/viewvc?view=rev&rev=552331 Log: Fixes ROL-1465 "PreviewServlet broken due to OpenJPA detached object limitations" but only for entry preview where these is no need for a dummy weblog ojbect. Theme preview is still broken.
Modified: roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/rendering/servlets/PreviewServlet.java Modified: roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/rendering/servlets/PreviewServlet.java URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/rendering/servlets/PreviewServlet.java?view=diff&rev=552331&r1=552330&r2=552331 ============================================================================== --- roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/rendering/servlets/PreviewServlet.java (original) +++ roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/rendering/servlets/PreviewServlet.java Sun Jul 1 09:06:11 2007 @@ -95,23 +95,30 @@ return; } - // try getting the preview theme - log.debug("preview theme = "+previewRequest.getThemeName()); - Theme previewTheme = previewRequest.getTheme(); + Weblog tmpWebsite = weblog; - // construct a temporary Website object for this request - // and set the EditorTheme to our previewTheme - Weblog tmpWebsite = new Weblog(); - tmpWebsite.setData(weblog); - if(previewTheme != null && previewTheme.isEnabled()) { - tmpWebsite.setEditorTheme(previewTheme.getId()); - } else if(WeblogTheme.CUSTOM.equals(previewRequest.getThemeName())) { - tmpWebsite.setEditorTheme(WeblogTheme.CUSTOM); + if (previewRequest.getThemeName() != null) { + // only create temporary weblog object if theme name was specified + // in request, which indicates we're doing a theme preview + + // try getting the preview theme + log.debug("preview theme = "+previewRequest.getThemeName()); + Theme previewTheme = previewRequest.getTheme(); + + // construct a temporary Website object for this request + // and set the EditorTheme to our previewTheme + tmpWebsite = new Weblog(); + tmpWebsite.setData(weblog); + if(previewTheme != null && previewTheme.isEnabled()) { + tmpWebsite.setEditorTheme(previewTheme.getId()); + } else if(WeblogTheme.CUSTOM.equals(previewRequest.getThemeName())) { + tmpWebsite.setEditorTheme(WeblogTheme.CUSTOM); + } + + // we've got to set the weblog in our previewRequest because that's + // the object that gets referenced during rendering operations + previewRequest.setWeblog(tmpWebsite); } - - // we've got to set the weblog in our previewRequest because that's - // the object that gets referenced during rendering operations - previewRequest.setWeblog(tmpWebsite); // do we need to force a specific locale for the request? if(previewRequest.getLocale() == null && !weblog.isShowAllLangs()) {