You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@roller.apache.org by gm...@apache.org on 2014/08/08 02:25:31 UTC
svn commit: r1616650 - in /roller/trunk/app/src:
main/java/org/apache/roller/weblogger/business/
main/java/org/apache/roller/weblogger/business/jpa/
main/java/org/apache/roller/weblogger/business/themes/
main/java/org/apache/roller/weblogger/pojos/ mai...
Author: gmazza
Date: Fri Aug 8 00:25:31 2014
New Revision: 1616650
URL: http://svn.apache.org/r1616650
Log:
Switch to using JPA to handle relationships between WeblogTemplates and CustomTemplateRenditions.
Modified:
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/WeblogManager.java
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAWeblogManagerImpl.java
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/themes/SharedThemeFromDir.java
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/themes/SharedThemeTemplateRendition.java
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/themes/ThemeManagerImpl.java
roller/trunk/app/src/main/java/org/apache/roller/weblogger/pojos/CustomTemplateRendition.java
roller/trunk/app/src/main/java/org/apache/roller/weblogger/pojos/StaticThemeTemplate.java
roller/trunk/app/src/main/java/org/apache/roller/weblogger/pojos/TemplateRendition.java
roller/trunk/app/src/main/java/org/apache/roller/weblogger/pojos/WeblogTemplate.java
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/StylesheetEdit.java
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/TemplateEditBean.java
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/Templates.java
roller/trunk/app/src/main/resources/org/apache/roller/weblogger/pojos/CustomTemplateRendition.orm.xml
roller/trunk/app/src/main/resources/org/apache/roller/weblogger/pojos/Weblog.orm.xml
roller/trunk/app/src/main/resources/org/apache/roller/weblogger/pojos/WeblogTemplate.orm.xml
roller/trunk/app/src/test/java/org/apache/roller/weblogger/business/CustomTemplateRenditionTest.java
Modified: roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/WeblogManager.java
URL: http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/WeblogManager.java?rev=1616650&r1=1616649&r2=1616650&view=diff
==============================================================================
--- roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/WeblogManager.java (original)
+++ roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/WeblogManager.java Fri Aug 8 00:25:31 2014
@@ -180,12 +180,6 @@ public interface WeblogManager {
throws WebloggerException;
/**
- * Get a custom template rendition by parent template ID and rendition type.
- */
- CustomTemplateRendition getTemplateRenditionByType(String templateId, RenditionType type)
- throws WebloggerException ;
-
- /**
* Save a custom template rendition
*/
void saveTemplateRendition(CustomTemplateRendition templateCode) throws WebloggerException;
Modified: roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAWeblogManagerImpl.java
URL: http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAWeblogManagerImpl.java?rev=1616650&r1=1616649&r2=1616650&view=diff
==============================================================================
--- roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAWeblogManagerImpl.java (original)
+++ roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAWeblogManagerImpl.java Fri Aug 8 00:25:31 2014
@@ -30,7 +30,15 @@ import javax.persistence.NoResultExcepti
import javax.persistence.Query;
import javax.persistence.TypedQuery;
import java.sql.Timestamp;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.Date;
+import java.util.Hashtable;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
+
import org.apache.roller.weblogger.business.MediaFileManager;
import org.apache.roller.weblogger.business.UserManager;
import org.apache.roller.weblogger.business.WeblogEntryManager;
@@ -39,7 +47,6 @@ import org.apache.roller.weblogger.busin
import org.apache.roller.weblogger.business.WebloggerFactory;
import org.apache.roller.weblogger.pojos.AutoPing;
import org.apache.roller.weblogger.pojos.CustomTemplateRendition;
-import org.apache.roller.weblogger.pojos.TemplateRendition.RenditionType;
import org.apache.roller.weblogger.pojos.PingQueueEntry;
import org.apache.roller.weblogger.pojos.PingTarget;
import org.apache.roller.weblogger.pojos.StatCount;
@@ -168,8 +175,6 @@ public class JPAWeblogManagerImpl implem
List<WeblogTemplate> templates = templateQuery.getResultList();
for (WeblogTemplate template : templates) {
- // remove associated templateCode objects
- this.removeTemplateRenditions(template);
this.strategy.remove(template);
}
@@ -242,13 +247,12 @@ public class JPAWeblogManagerImpl implem
public void saveTemplateRendition(CustomTemplateRendition rendition) throws WebloggerException {
this.strategy.store(rendition);
- // template update should happen by saving rendition.
+
+ // update weblog last modified date. date updated by saveWeblog()
+ roller.getWeblogManager().saveWeblog(rendition.getWeblogTemplate().getWeblog());
}
public void removeTemplate(WeblogTemplate template) throws WebloggerException {
- //remove template code objects
- this.removeTemplateRenditions(template);
- this.strategy.flush();
this.strategy.remove(template);
// update weblog last modified date. date updated by saveWeblog()
roller.getWeblogManager().saveWeblog(template.getWeblog());
@@ -574,26 +578,6 @@ public class JPAWeblogManagerImpl implem
}
}
- public CustomTemplateRendition getTemplateRenditionByType(String templateId, RenditionType type) throws WebloggerException{
- if(templateId == null) {
- throw new WebloggerException("Template ID is null");
- }
-
- if (type == null) {
- throw new WebloggerException("Type is null");
- }
-
- TypedQuery<CustomTemplateRendition> query = strategy.getNamedQuery("CustomTemplateRendition.getRenditionByType",
- CustomTemplateRendition.class);
- query.setParameter(1, templateId);
- query.setParameter(2, type);
- try {
- return query.getSingleResult();
- } catch (NoResultException e) {
- return null;
- }
- }
-
/**
* @see org.apache.roller.weblogger.business.WeblogManager#getTemplates(Weblog)
*/
@@ -698,15 +682,4 @@ public class JPAWeblogManagerImpl implem
return results.get(0);
}
- private void removeTemplateRenditions(WeblogTemplate template) throws WebloggerException {
- TypedQuery<CustomTemplateRendition> codeQuery = strategy.getNamedQuery(
- "CustomTemplateRendition.getRenditionsByTemplateId", CustomTemplateRendition.class);
- codeQuery.setParameter(1, template.getId());
- List<CustomTemplateRendition> codeList = codeQuery.getResultList();
-
- for (CustomTemplateRendition code : codeList) {
- this.strategy.remove(code);
- }
- }
-
}
Modified: roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/themes/SharedThemeFromDir.java
URL: http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/themes/SharedThemeFromDir.java?rev=1616650&r1=1616649&r2=1616650&view=diff
==============================================================================
--- roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/themes/SharedThemeFromDir.java (original)
+++ roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/themes/SharedThemeFromDir.java Fri Aug 8 00:25:31 2014
@@ -450,8 +450,7 @@ public class SharedThemeFromDir extends
log.error("Couldn't load stylesheet theme [" + this.getName()
+ "] template file [" + templateFile + "]");
}
-
- templateRendition.setTemplateId(templateId);
+ //TODO: remove templateId above
templateRendition.setTemplate(contents);
templateRendition.setTemplateLanguage(templateCodeMetadata.getTemplateLang());
templateRendition.setType(templateCodeMetadata.getType());
Modified: roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/themes/SharedThemeTemplateRendition.java
URL: http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/themes/SharedThemeTemplateRendition.java?rev=1616650&r1=1616649&r2=1616650&view=diff
==============================================================================
--- roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/themes/SharedThemeTemplateRendition.java (original)
+++ roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/themes/SharedThemeTemplateRendition.java Fri Aug 8 00:25:31 2014
@@ -21,6 +21,7 @@ package org.apache.roller.weblogger.busi
import org.apache.roller.weblogger.pojos.TemplateRendition;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
+import org.apache.roller.weblogger.pojos.WeblogTemplate;
import java.io.Serializable;
import java.util.Date;
@@ -30,14 +31,13 @@ import java.util.Date;
*/
public class SharedThemeTemplateRendition implements Serializable, TemplateRendition {
- private String templateId = null;
+ private WeblogTemplate weblogTemplate = null;
private String template = null;
private RenditionType type = null;
private TemplateLanguage templateLanguage = null;
private Date lastModified = null;
- public SharedThemeTemplateRendition(String templateId, RenditionType type) {
- this.templateId = templateId;
+ public SharedThemeTemplateRendition(RenditionType type) {
this.type = type;
}
@@ -55,13 +55,12 @@ public class SharedThemeTemplateRenditio
}
// @Override
- public String getTemplateId() {
- return templateId;
+ public WeblogTemplate getWeblogTemplate() {
+ return null;
}
// @Override
- public void setTemplateId(String templateId) {
- this.templateId = templateId;
+ public void setWeblogTemplate(WeblogTemplate templateId) {
}
// @Override
@@ -96,7 +95,7 @@ public class SharedThemeTemplateRenditio
// ------------------------------------------------------- Good citizenship
public String toString() {
- return "{" + this.templateId + ", [ " + this.template +"] , " + this.type + "}";
+ return "{" + this.template + ", [ " + this.template +"] , " + this.type + "}";
}
public boolean equals(Object other) {
@@ -107,12 +106,12 @@ public class SharedThemeTemplateRenditio
return false;
}
SharedThemeTemplateRendition o = (SharedThemeTemplateRendition) other;
- return new EqualsBuilder().append(templateId, o.getTemplateId())
+ return new EqualsBuilder()
.append(template, o.getTemplate()).isEquals();
}
public int hashCode() {
- return new HashCodeBuilder().append(getTemplateId())
+ return new HashCodeBuilder()
.append(getTemplate()).toHashCode();
}
Modified: roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/themes/ThemeManagerImpl.java
URL: http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/themes/ThemeManagerImpl.java?rev=1616650&r1=1616649&r2=1616650&view=diff
==============================================================================
--- roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/themes/ThemeManagerImpl.java (original)
+++ roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/themes/ThemeManagerImpl.java Fri Aug 8 00:25:31 2014
@@ -265,7 +265,7 @@ public class ThemeManagerImpl implements
if (weblogTemplateCode == null) {
// Does not exist so create a new one
weblogTemplateCode = new CustomTemplateRendition(
- template.getId(), type);
+ template, type);
}
weblogTemplateCode.setType(type);
weblogTemplateCode.setTemplate(templateCode.getTemplate());
Modified: roller/trunk/app/src/main/java/org/apache/roller/weblogger/pojos/CustomTemplateRendition.java
URL: http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/pojos/CustomTemplateRendition.java?rev=1616650&r1=1616649&r2=1616650&view=diff
==============================================================================
--- roller/trunk/app/src/main/java/org/apache/roller/weblogger/pojos/CustomTemplateRendition.java (original)
+++ roller/trunk/app/src/main/java/org/apache/roller/weblogger/pojos/CustomTemplateRendition.java Fri Aug 8 00:25:31 2014
@@ -1,6 +1,6 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. The ASF licenses this file to You
+ * contributor license agreements. The ASF licenses this file to You
* under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License.
* You may obtain a copy of the License at
@@ -31,21 +31,30 @@ public class CustomTemplateRendition imp
private static final long serialVersionUID = -1497618963802805151L;
private String id = UUIDGenerator.generateUUID();
- private String templateId = null;
+ private WeblogTemplate weblogTemplate = null;
// template contents
private String template = null;
private RenditionType type = null;
private TemplateLanguage templateLanguage = null;
- public CustomTemplateRendition(String templateId, RenditionType type) {
- this.templateId = templateId;
+ public CustomTemplateRendition(WeblogTemplate template, RenditionType type) {
+ this.weblogTemplate = template;
this.type = type;
+ weblogTemplate.addTemplateRendition(this);
}
public CustomTemplateRendition() {
}
- public String getId() {
+ public WeblogTemplate getWeblogTemplate() {
+ return weblogTemplate;
+ }
+
+ public void setWeblogTemplate(WeblogTemplate weblogTemplate) {
+ this.weblogTemplate = weblogTemplate;
+ }
+
+ public String getId() {
return id;
}
@@ -53,27 +62,17 @@ public class CustomTemplateRendition imp
this.id = id;
}
- // @Override
+ @Override
public String getTemplate() {
return template;
}
- // @Override
+ @Override
public void setTemplate(String template) {
this.template = template;
}
// @Override
- public String getTemplateId() {
- return templateId;
- }
-
- // @Override
- public void setTemplateId(String templateId) {
- this.templateId = templateId;
- }
-
- // @Override
public RenditionType getType() {
return type;
}
@@ -87,7 +86,7 @@ public class CustomTemplateRendition imp
public String toString() {
return "{" + getId()
- + ", " + getTemplateId()
+ + ", " + getWeblogTemplate().getId()
+ ", [ " + getTemplate()
+ "] , " + getType() + "}";
}
@@ -100,12 +99,12 @@ public class CustomTemplateRendition imp
return false;
}
CustomTemplateRendition o = (CustomTemplateRendition) other;
- return new EqualsBuilder().append(getTemplateId(), o.getTemplateId())
+ return new EqualsBuilder().append(getWeblogTemplate().getId(), o.getWeblogTemplate().getId())
.append(getTemplate(), o.getTemplate()).isEquals();
}
public int hashCode() {
- return new HashCodeBuilder().append(getTemplateId())
+ return new HashCodeBuilder().append(getWeblogTemplate().getId())
.append(getTemplate()).toHashCode();
}
Modified: roller/trunk/app/src/main/java/org/apache/roller/weblogger/pojos/StaticThemeTemplate.java
URL: http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/pojos/StaticThemeTemplate.java?rev=1616650&r1=1616649&r2=1616650&view=diff
==============================================================================
--- roller/trunk/app/src/main/java/org/apache/roller/weblogger/pojos/StaticThemeTemplate.java (original)
+++ roller/trunk/app/src/main/java/org/apache/roller/weblogger/pojos/StaticThemeTemplate.java Fri Aug 8 00:25:31 2014
@@ -108,7 +108,7 @@ public class StaticThemeTemplate impleme
}
public TemplateRendition getTemplateRendition(RenditionType type) throws WebloggerException {
- return WebloggerFactory.getWeblogger().getWeblogManager().getTemplateRenditionByType(this.id, type);
+ return null;
}
public void setType(RenditionType type){
Modified: roller/trunk/app/src/main/java/org/apache/roller/weblogger/pojos/TemplateRendition.java
URL: http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/pojos/TemplateRendition.java?rev=1616650&r1=1616649&r2=1616650&view=diff
==============================================================================
--- roller/trunk/app/src/main/java/org/apache/roller/weblogger/pojos/TemplateRendition.java (original)
+++ roller/trunk/app/src/main/java/org/apache/roller/weblogger/pojos/TemplateRendition.java Fri Aug 8 00:25:31 2014
@@ -41,7 +41,7 @@ public interface TemplateRendition {
String getTemplate();
- String getTemplateId();
+ WeblogTemplate getWeblogTemplate();
TemplateLanguage getTemplateLanguage();
@@ -49,7 +49,7 @@ public interface TemplateRendition {
void setTemplate(String template);
- void setTemplateId(String templateId);
+ void setWeblogTemplate(WeblogTemplate template);
void setTemplateLanguage(TemplateLanguage templateLanguage);
Modified: roller/trunk/app/src/main/java/org/apache/roller/weblogger/pojos/WeblogTemplate.java
URL: http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/pojos/WeblogTemplate.java?rev=1616650&r1=1616649&r2=1616650&view=diff
==============================================================================
--- roller/trunk/app/src/main/java/org/apache/roller/weblogger/pojos/WeblogTemplate.java (original)
+++ roller/trunk/app/src/main/java/org/apache/roller/weblogger/pojos/WeblogTemplate.java Fri Aug 8 00:25:31 2014
@@ -22,11 +22,12 @@ import org.apache.commons.lang3.builder.
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.roller.util.UUIDGenerator;
import org.apache.roller.weblogger.WebloggerException;
-import org.apache.roller.weblogger.business.WebloggerFactory;
import java.io.Serializable;
+import java.util.ArrayList;
import java.util.Date;
import java.util.HashSet;
+import java.util.List;
import java.util.Set;
/**
@@ -146,8 +147,9 @@ public class WeblogTemplate implements T
public void setOutputContentType(String outputContentType) {
this.outputContentType = outputContentType;
}
-
-
+
+ private List<CustomTemplateRendition> templateRenditions = new ArrayList<CustomTemplateRendition>();
+
/**
* Determine if this WeblogTemplate is required or not.
*/
@@ -174,8 +176,39 @@ public class WeblogTemplate implements T
return ComponentType.CUSTOM.equals(getAction()) && !isRequired();
}
- public CustomTemplateRendition getTemplateRendition(CustomTemplateRendition.RenditionType type) throws WebloggerException {
- return WebloggerFactory.getWeblogger().getWeblogManager().getTemplateRenditionByType(getId(), type);
+
+ public List<CustomTemplateRendition> getTemplateRenditions() {
+ return templateRenditions;
+ }
+
+ public void setTemplateRenditions(List<CustomTemplateRendition> templateRenditions) {
+ this.templateRenditions = templateRenditions;
+ }
+
+ public CustomTemplateRendition getTemplateRendition(CustomTemplateRendition.RenditionType desiredType) throws WebloggerException {
+ for (CustomTemplateRendition rnd : templateRenditions) {
+ if (rnd.getType().equals(desiredType)) {
+ return rnd;
+ }
+ }
+ return null;
+ }
+
+ public void addTemplateRendition(CustomTemplateRendition newRendition) {
+ if (hasTemplateRendition(newRendition)) {
+ throw new IllegalArgumentException("Rendition type '" + newRendition.getType()
+ + " for template '" + this.getName() + "' already exists.");
+ }
+ templateRenditions.add(newRendition);
+ }
+
+ public boolean hasTemplateRendition(CustomTemplateRendition proposed) {
+ for (CustomTemplateRendition rnd : templateRenditions) {
+ if(rnd.getType().equals(proposed.getType())) {
+ return true;
+ }
+ }
+ return false;
}
//------------------------------------------------------- Good citizenship
Modified: roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/StylesheetEdit.java
URL: http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/StylesheetEdit.java?rev=1616650&r1=1616649&r2=1616650&view=diff
==============================================================================
--- roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/StylesheetEdit.java (original)
+++ roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/StylesheetEdit.java Fri Aug 8 00:25:31 2014
@@ -98,7 +98,7 @@ public class StylesheetEdit extends UIAc
TemplateRendition sCode = stylesheet.getTemplateRendition(RenditionType.STANDARD);
if (sCode != null) {
CustomTemplateRendition standardRendition = new CustomTemplateRendition(
- stylesheetTmpl.getId(), RenditionType.STANDARD);
+ stylesheetTmpl, RenditionType.STANDARD);
standardRendition.setTemplate(sCode.getTemplate());
standardRendition.setTemplateLanguage(sCode.getTemplateLanguage());
WebloggerFactory.getWeblogger().getWeblogManager()
@@ -108,7 +108,7 @@ public class StylesheetEdit extends UIAc
TemplateRendition mCode = stylesheet.getTemplateRendition(RenditionType.MOBILE);
if (mCode != null) {
CustomTemplateRendition mobileRendition = new CustomTemplateRendition(
- stylesheetTmpl.getId(), RenditionType.MOBILE);
+ stylesheetTmpl, RenditionType.MOBILE);
mobileRendition.setTemplate(mCode.getTemplate());
mobileRendition.setTemplateLanguage(mCode
.getTemplateLanguage());
@@ -214,7 +214,7 @@ public class StylesheetEdit extends UIAc
} else {
// otherwise create it, then set it
CustomTemplateRendition tc = new CustomTemplateRendition(
- stylesheet.getId(), RenditionType.STANDARD);
+ stylesheet, RenditionType.STANDARD);
tc.setTemplate("");
WebloggerFactory.getWeblogger().getWeblogManager()
.saveTemplateRendition(tc);
Modified: roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/TemplateEditBean.java
URL: http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/TemplateEditBean.java?rev=1616650&r1=1616649&r2=1616650&view=diff
==============================================================================
--- roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/TemplateEditBean.java (original)
+++ roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/TemplateEditBean.java Fri Aug 8 00:25:31 2014
@@ -161,7 +161,7 @@ public class TemplateEditBean {
WebloggerFactory.getWeblogger().getWeblogManager().saveTemplateRendition(tc);
} else {
// otherwise create it, then set it
- CustomTemplateRendition tc = new CustomTemplateRendition(dataHolder.getId(), RenditionType.STANDARD);
+ CustomTemplateRendition tc = new CustomTemplateRendition(dataHolder, RenditionType.STANDARD);
tc.setTemplate("");
WebloggerFactory.getWeblogger().getWeblogManager().saveTemplateRendition(tc);
}
Modified: roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/Templates.java
URL: http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/Templates.java?rev=1616650&r1=1616649&r2=1616650&view=diff
==============================================================================
--- roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/Templates.java (original)
+++ roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/Templates.java Fri Aug 8 00:25:31 2014
@@ -167,7 +167,7 @@ public class Templates extends UIAction
// Create weblog template codes for available types.
CustomTemplateRendition standardRendition = new CustomTemplateRendition(
- newTemplate.getId(), RenditionType.STANDARD);
+ newTemplate, RenditionType.STANDARD);
standardRendition.setTemplate(getText("pageForm.newTemplateContent"));
standardRendition.setTemplateLanguage(TemplateLanguage.VELOCITY);
WebloggerFactory.getWeblogger().getWeblogManager()
Modified: roller/trunk/app/src/main/resources/org/apache/roller/weblogger/pojos/CustomTemplateRendition.orm.xml
URL: http://svn.apache.org/viewvc/roller/trunk/app/src/main/resources/org/apache/roller/weblogger/pojos/CustomTemplateRendition.orm.xml?rev=1616650&r1=1616649&r2=1616650&view=diff
==============================================================================
--- roller/trunk/app/src/main/resources/org/apache/roller/weblogger/pojos/CustomTemplateRendition.orm.xml (original)
+++ roller/trunk/app/src/main/resources/org/apache/roller/weblogger/pojos/CustomTemplateRendition.orm.xml Fri Aug 8 00:25:31 2014
@@ -7,12 +7,6 @@
<entity metadata-complete="true" name="CustomTemplateRendition"
class="org.apache.roller.weblogger.pojos.CustomTemplateRendition" access="PROPERTY">
<table name="custom_template_rendition"/>
- <named-query name="CustomTemplateRendition.getRenditionByType">
- <query>SELECT c FROM CustomTemplateRendition c WHERE c.templateId = ?1 AND c.type =?2</query>
- </named-query>
- <named-query name="CustomTemplateRendition.getRenditionsByTemplateId">
- <query>SELECT c FROM CustomTemplateRendition c WHERE c.templateId = ?1</query>
- </named-query>
<attributes>
<id name="id">
<column name="id"/>
@@ -20,9 +14,6 @@
<basic name="template">
<column name="template" insertable="true" updatable="true" nullable="false"/>
</basic>
- <basic name="templateId">
- <column name="templateId" insertable="true" updatable="true" nullable="false"/>
- </basic>
<basic name="type">
<column name="type" insertable="true" updatable="true" nullable="false"/>
<enumerated>STRING</enumerated>
@@ -31,9 +22,9 @@
<column name="templatelang" insertable="true" updatable="true" unique="false"/>
<enumerated>STRING</enumerated>
</basic>
- <!--many-to-one name="weblogTemplate" target-entity="org.apache.roller.weblogger.pojos.WeblogTemplate">
- <join-column name="templateId" insertable="true" updatable="true" nullable="false"/>
- </many-to-one-->
+ <many-to-one name="weblogTemplate" target-entity="org.apache.roller.weblogger.pojos.WeblogTemplate">
+ <join-column name="templateid" insertable="true" updatable="true" nullable="false"/>
+ </many-to-one>
</attributes>
</entity>
</entity-mappings>
Modified: roller/trunk/app/src/main/resources/org/apache/roller/weblogger/pojos/Weblog.orm.xml
URL: http://svn.apache.org/viewvc/roller/trunk/app/src/main/resources/org/apache/roller/weblogger/pojos/Weblog.orm.xml?rev=1616650&r1=1616649&r2=1616650&view=diff
==============================================================================
--- roller/trunk/app/src/main/resources/org/apache/roller/weblogger/pojos/Weblog.orm.xml (original)
+++ roller/trunk/app/src/main/resources/org/apache/roller/weblogger/pojos/Weblog.orm.xml Fri Aug 8 00:25:31 2014
@@ -106,7 +106,7 @@
<many-to-one name="bloggerCategory" target-entity="org.apache.roller.weblogger.pojos.WeblogCategory">
<join-column name="bloggercatid" insertable="true" updatable="true"/>
</many-to-one>
- <one-to-many name="weblogCategories" target-entity="org.apache.roller.weblogger.pojos.WeblogCategory" mapped-by="weblog" fetch="EAGER">
+ <one-to-many name="weblogCategories" target-entity="org.apache.roller.weblogger.pojos.WeblogCategory" mapped-by="weblog">
<order-by>position</order-by>
<cascade>
<cascade-remove/>
Modified: roller/trunk/app/src/main/resources/org/apache/roller/weblogger/pojos/WeblogTemplate.orm.xml
URL: http://svn.apache.org/viewvc/roller/trunk/app/src/main/resources/org/apache/roller/weblogger/pojos/WeblogTemplate.orm.xml?rev=1616650&r1=1616649&r2=1616650&view=diff
==============================================================================
--- roller/trunk/app/src/main/resources/org/apache/roller/weblogger/pojos/WeblogTemplate.orm.xml (original)
+++ roller/trunk/app/src/main/resources/org/apache/roller/weblogger/pojos/WeblogTemplate.orm.xml Fri Aug 8 00:25:31 2014
@@ -56,6 +56,11 @@
<many-to-one name="weblog" target-entity="org.apache.roller.weblogger.pojos.Weblog">
<join-column name="websiteid" insertable="true" updatable="true" nullable="false"/>
</many-to-one>
+ <one-to-many name="templateRenditions" target-entity="org.apache.roller.weblogger.pojos.CustomTemplateRendition" mapped-by="weblogTemplate">
+ <cascade>
+ <cascade-all/>
+ </cascade>
+ </one-to-many>
<transient name="custom"/>
<transient name="required"/>
</attributes>
Modified: roller/trunk/app/src/test/java/org/apache/roller/weblogger/business/CustomTemplateRenditionTest.java
URL: http://svn.apache.org/viewvc/roller/trunk/app/src/test/java/org/apache/roller/weblogger/business/CustomTemplateRenditionTest.java?rev=1616650&r1=1616649&r2=1616650&view=diff
==============================================================================
--- roller/trunk/app/src/test/java/org/apache/roller/weblogger/business/CustomTemplateRenditionTest.java (original)
+++ roller/trunk/app/src/test/java/org/apache/roller/weblogger/business/CustomTemplateRenditionTest.java Fri Aug 8 00:25:31 2014
@@ -101,67 +101,61 @@ public class CustomTemplateRenditionTest
// create template
mgr.saveTemplate(testPage);
- TestUtils.endSession(true);
//create standard template rendition
- CustomTemplateRendition standardTemplateCode = new CustomTemplateRendition(testPage.getId(), RenditionType.STANDARD);
+ CustomTemplateRendition standardTemplateCode = new CustomTemplateRendition(testPage, RenditionType.STANDARD);
standardTemplateCode.setTemplate("standard.template.code");
standardTemplateCode.setTemplateLanguage(TemplateLanguage.VELOCITY);
- mgr.saveTemplateRendition(standardTemplateCode);
//create mobile code
- CustomTemplateRendition mobileTemplateCode = new CustomTemplateRendition(testPage.getId(), RenditionType.MOBILE);
+ CustomTemplateRendition mobileTemplateCode = new CustomTemplateRendition(testPage, RenditionType.MOBILE);
mobileTemplateCode.setTemplate("mobile.template.code");
mobileTemplateCode.setTemplateLanguage(TemplateLanguage.VELOCITY);
- mgr.saveTemplateRendition(mobileTemplateCode);
+
TestUtils.endSession(true);
// check that create was successful
- standardCode = mgr.getTemplateRenditionByType(testPage.getId(), RenditionType.STANDARD);
+ WeblogTemplate testPageCheck = mgr.getTemplate(testPage.getId());
+
+ assertNotNull(testPageCheck);
+
+ standardCode = testPageCheck.getTemplateRendition(RenditionType.STANDARD);
assertNotNull(standardCode);
- assertEquals(standardTemplateCode.getTemplate() ,standardCode.getTemplate());
+ assertEquals(standardTemplateCode.getTemplate(), standardCode.getTemplate());
- mobileCode = mgr.getTemplateRenditionByType(testPage.getId(), RenditionType.MOBILE);
+ mobileCode = testPageCheck.getTemplateRendition(RenditionType.MOBILE);
assertNotNull(mobileCode);
assertEquals(mobileTemplateCode.getTemplate() ,mobileCode.getTemplate());
// update template Code
standardCode = null;
- standardCode = mgr.getTemplateRenditionByType(testPage.getId(), RenditionType.STANDARD);
+ standardCode = testPageCheck.getTemplateRendition(RenditionType.STANDARD);
standardCode.setTemplate("update.standard.template");
mgr.saveTemplateRendition(standardCode);
mobileCode = null;
- mobileCode = mgr.getTemplateRenditionByType(testPage.getId(), RenditionType.MOBILE);
+ mobileCode = testPageCheck.getTemplateRendition(RenditionType.MOBILE);
mobileCode.setTemplate("update.mobile.template");
mgr.saveTemplateRendition(mobileCode);
TestUtils.endSession(true);
// check that update was successful
- standardCode =null;
- standardCode = mgr.getTemplateRenditionByType(testPage.getId(), RenditionType.STANDARD);
+ standardCode = null;
+ standardCode = testPageCheck.getTemplateRendition(RenditionType.STANDARD);
assertEquals("update.standard.template",standardCode.getTemplate());
- mobileCode =null;
- mobileCode = mgr.getTemplateRenditionByType(testPage.getId(), RenditionType.MOBILE);
+ mobileCode = null;
+ mobileCode = testPageCheck.getTemplateRendition(RenditionType.MOBILE);
assertEquals("update.mobile.template",mobileCode.getTemplate());
WeblogTemplate page = mgr.getTemplate(testPage.getId());
mgr.removeTemplate(page);
TestUtils.endSession(true);
- // check that update was successful
- standardCode =null;
- standardCode = mgr.getTemplateRenditionByType(testPage.getId(), RenditionType.STANDARD);
- assertNull(standardCode);
-
- mobileCode =null;
- mobileCode = mgr.getTemplateRenditionByType(testPage.getId(), RenditionType.MOBILE);
- assertNull(mobileCode);
+ // check that template remove was successful
+ testPageCheck = mgr.getTemplate(testPage.getId());
+ assertNull(testPageCheck);
}
-
-
-
}