Update of /cvsroot/roller/roller/src/org/roller/business
In directory sc8-pr-cvs1:/tmp/cvs-serv13029/src/org/roller/business
Modified Files:
BookmarkManagerImpl.java WeblogManagerImpl.java
Log Message:
Same Castor workaround for folder hierarchy,
plus fixes in HierarchicalPersistentObject.save()
Index: BookmarkManagerImpl.java
===================================================================
RCS file:
/cvsroot/roller/roller/src/org/roller/business/BookmarkManagerImpl.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** BookmarkManagerImpl.java 17 Jan 2004 22:46:57 -0000 1.8
--- BookmarkManagerImpl.java 19 Jan 2004 18:39:06 -0000 1.9
***************
*** 14,17 ****
--- 14,18 ----
import org.roller.persistence.Query;
import org.roller.persistence.QueryFactory;
+ import org.roller.persistence.QueryLit;
import org.roller.pojos.Assoc;
import org.roller.pojos.BookmarkData;
***************
*** 445,448 ****
--- 446,495 ----
}
}
+
+ /**
+ * @see
org.roller.model.BookmarkManager#retrieveBookmarks(org.roller.pojos.FolderData,
boolean)
+ */
+ public List retrieveBookmarks(FolderData folder, boolean subfolders)
throws RollerException
+ {
+ PersistenceStrategy pstrategy =
+ RollerFactory.getRoller().getPersistenceStrategy();
+
+ // select all weblog entries in this category and it's subcategories
+ QueryFactory factory = pstrategy.getQueryFactory();
+ Query query = null;
+
+ if (subfolders)
+ {
+ query = factory.createQuery(
+ BookmarkData.class.getName(),"b",
+ FolderAssoc.class.getName(),"a");
+
+ query.setWhere(
+ factory.createCondition(
+ factory.createCondition(
+ factory.createCondition("b.folder.id", Query.EQ,
folder.getId()),
+ Query.AND,
+ factory.createCondition("b.folder.id", Query.EQ, new
QueryLit("a.folder.id"))
+ ),
+ Query.OR,
+ factory.createCondition(
+ factory.createCondition("a.ancestorFolder.id",
Query.EQ, folder.getId()),
+ Query.AND,
+ factory.createCondition("b.folder.id", Query.EQ, new
QueryLit("a.folder.id"))
+ )
+ )
+ );
+
+ }
+ else
+ {
+ query = factory.createQuery(
+ BookmarkData.class.getName(),"b");
+
+ query.setWhere(
+ factory.createCondition("b.folder", Query.EQ, folder));
+ }
+ return query.execute();
+ }
}
Index: WeblogManagerImpl.java
===================================================================
RCS file:
/cvsroot/roller/roller/src/org/roller/business/WeblogManagerImpl.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** WeblogManagerImpl.java 18 Jan 2004 20:48:08 -0000 1.10
--- WeblogManagerImpl.java 19 Jan 2004 18:39:06 -0000 1.11
***************
*** 1080,1085 ****
*/
public List retrieveWeblogEntries(WeblogCategoryData cat, boolean
subcats) throws RollerException
! {
!
PersistenceStrategy pstrategy =
RollerFactory.getRoller().getPersistenceStrategy();
--- 1080,1084 ----
*/
public List retrieveWeblogEntries(WeblogCategoryData cat, boolean
subcats) throws RollerException
! {
PersistenceStrategy pstrategy =
RollerFactory.getRoller().getPersistenceStrategy();
***************
*** 1119,1123 ****
)
);
!
}
else
--- 1118,1122 ----
)
);
! query.setGroupBy("e.id");
}
else
-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
|