Author: ghuber
Date: Sat Jan 28 19:39:50 2012
New Revision: 1237145
URL: http://svn.apache.org/viewvc?rev=1237145&view=rev
Log:
Fix for javax.persistence.NonUniqueResultException. Need to check to make sure
template codes do not already exist for the stylesheet.
Modified:
roller/trunk/weblogger-business/src/main/java/org/apache/roller/weblogger/business/themes/ThemeManagerImpl.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=1237145&r1=1237144&r2=1237145&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 Jan 28 19:39:50 2012
@@ -17,7 +17,6 @@
*/
package org.apache.roller.weblogger.business.themes;
-import org.apache.roller.weblogger.pojos.TemplateCode;
import java.io.File;
import java.io.FilenameFilter;
import java.io.IOException;
@@ -31,14 +30,29 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
+
import javax.activation.FileTypeMap;
import javax.activation.MimetypesFileTypeMap;
+
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.roller.weblogger.WebloggerException;
-import org.apache.roller.weblogger.business.*;
+import org.apache.roller.weblogger.business.InitializationException;
+import org.apache.roller.weblogger.business.MediaFileManager;
+import org.apache.roller.weblogger.business.WeblogManager;
+import org.apache.roller.weblogger.business.Weblogger;
+import org.apache.roller.weblogger.business.WebloggerFactory;
import org.apache.roller.weblogger.config.WebloggerConfig;
-import org.apache.roller.weblogger.pojos.*;
+import org.apache.roller.weblogger.pojos.MediaFile;
+import org.apache.roller.weblogger.pojos.MediaFileDirectory;
+import org.apache.roller.weblogger.pojos.TemplateCode;
+import org.apache.roller.weblogger.pojos.Theme;
+import org.apache.roller.weblogger.pojos.ThemeResource;
+import org.apache.roller.weblogger.pojos.ThemeTemplate;
+import org.apache.roller.weblogger.pojos.Weblog;
+import org.apache.roller.weblogger.pojos.WeblogTemplate;
+import org.apache.roller.weblogger.pojos.WeblogTheme;
+import org.apache.roller.weblogger.pojos.WeblogThemeTemplateCode;
import org.apache.roller.weblogger.util.RollerMessages;
/**
@@ -245,15 +259,19 @@ public class ThemeManagerImpl implements
// create weblog template code objects and save them
for (String type : ThemeManagerImpl.getTypesList()) {
- TemplateCode templateCode = template.getTemplateCode(type);
- if (templateCode != null) {
- WeblogThemeTemplateCode weblogTemplateCode = new
WeblogThemeTemplateCode(template.getId(), type);
- weblogTemplateCode.setType(type);
- weblogTemplateCode.setTemplate(templateCode.getTemplate());
-
weblogTemplateCode.setTemplateLanguage(templateCode.getTemplateLanguage());
-
weblogTemplateCode.setContentType(templateCode.getContentType());
-
WebloggerFactory.getWeblogger().getWeblogManager().saveTemplateCode(weblogTemplateCode);
- }
+ WeblogThemeTemplateCode weblogTemplateCode =
(WeblogThemeTemplateCode) template
+ .getTemplateCode(type);
+ if (weblogTemplateCode == null) {
+ TemplateCode templateCode =
themeTemplate.getTemplateCode(type);
+ if (templateCode != null) {
+ weblogTemplateCode = new
WeblogThemeTemplateCode(template.getId(), type);
+ weblogTemplateCode.setType(type);
+
weblogTemplateCode.setTemplate(templateCode.getTemplate());
+
weblogTemplateCode.setTemplateLanguage(templateCode.getTemplateLanguage());
+
weblogTemplateCode.setContentType(templateCode.getContentType());
+
WebloggerFactory.getWeblogger().getWeblogManager().saveTemplateCode(weblogTemplateCode);
+ }
+ }
}
}