You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@roller.apache.org by ag...@apache.org on 2006/04/14 22:19:23 UTC
svn commit: r394186 - in
/incubator/roller/branches/roller-newbackend/src/org/roller:
business/hibernate/HibernateWeblogManagerImpl.java model/WeblogManager.java
Author: agilliland
Date: Fri Apr 14 13:19:18 2006
New Revision: 394186
URL: http://svn.apache.org/viewcvs?rev=394186&view=rev
Log:
add new method removeWeblogCategory() and tidy things up for category operations.
Modified:
incubator/roller/branches/roller-newbackend/src/org/roller/business/hibernate/HibernateWeblogManagerImpl.java
incubator/roller/branches/roller-newbackend/src/org/roller/model/WeblogManager.java
Modified: incubator/roller/branches/roller-newbackend/src/org/roller/business/hibernate/HibernateWeblogManagerImpl.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller-newbackend/src/org/roller/business/hibernate/HibernateWeblogManagerImpl.java?rev=394186&r1=394185&r2=394186&view=diff
==============================================================================
--- incubator/roller/branches/roller-newbackend/src/org/roller/business/hibernate/HibernateWeblogManagerImpl.java (original)
+++ incubator/roller/branches/roller-newbackend/src/org/roller/business/hibernate/HibernateWeblogManagerImpl.java Fri Apr 14 13:19:18 2006
@@ -80,7 +80,58 @@
public void storeWeblogCategory(WeblogCategoryData cat) throws RollerException {
- // TODO BACKEND: new method
+
+ if(this.isDuplicateWeblogCategoryName(cat)) {
+ throw new RollerException("Duplicate category name");
+ }
+
+ this.strategy.storeAndCommit(cat);
+ }
+
+
+ public void removeWeblogCategory(WeblogCategoryData cat) throws RollerException {
+
+ if(cat.retrieveWeblogEntries(true).size() > 0) {
+ throw new RollerException("Cannot remove category with entries");
+ }
+
+ try {
+ // begin transaction
+ this.strategy.getSession().beginTransaction();
+
+ // remove cat
+ this.strategy.remove(cat);
+
+ // update website default cats if needed
+ if(cat.getWebsite().getBloggerCategory().equals(cat)) {
+ WeblogCategoryData rootCat = this.getRootWeblogCategory(cat.getWebsite());
+ cat.getWebsite().setBloggerCategory(rootCat);
+ this.strategy.store(cat.getWebsite());
+ }
+
+ if(cat.getWebsite().getDefaultCategory().equals(cat)) {
+ WeblogCategoryData rootCat = this.getRootWeblogCategory(cat.getWebsite());
+ cat.getWebsite().setDefaultCategory(rootCat);
+ this.strategy.store(cat.getWebsite());
+ }
+
+ // commit changes
+ this.strategy.getSession().getTransaction().commit();
+ } catch (Throwable ex) {
+
+ try {
+ this.strategy.getSession().getTransaction().rollback();
+ } catch(Throwable he) {
+ log.error("Error doing rollback", he);
+ }
+
+ strategy.release();
+
+ throw new RollerException(ex);
+ }
+
+
+
}
Modified: incubator/roller/branches/roller-newbackend/src/org/roller/model/WeblogManager.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller-newbackend/src/org/roller/model/WeblogManager.java?rev=394186&r1=394185&r2=394186&view=diff
==============================================================================
--- incubator/roller/branches/roller-newbackend/src/org/roller/model/WeblogManager.java (original)
+++ incubator/roller/branches/roller-newbackend/src/org/roller/model/WeblogManager.java Fri Apr 14 13:19:18 2006
@@ -45,9 +45,6 @@
*/
public WeblogCategoryData retrieveWeblogCategory(String id)
throws RollerException;
-
-
- public void storeWeblogEntry(WeblogEntryData entry) throws RollerException;
/**
@@ -65,6 +62,9 @@
public void storeWeblogCategory(WeblogCategoryData cat) throws RollerException;
+ public void removeWeblogCategory(WeblogCategoryData cat) throws RollerException;
+
+
/** Get WebLogCategory objects for a website. */
public List getWeblogCategories(WebsiteData website)
throws RollerException;
@@ -187,6 +187,9 @@
* Get weblog entry by ID
*/
public WeblogEntryData retrieveWeblogEntry(String id) throws RollerException;
+
+
+ public void storeWeblogEntry(WeblogEntryData entry) throws RollerException;
public void removeWeblogEntry(WeblogEntryData entry) throws RollerException;