You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@roller.apache.org by sn...@apache.org on 2005/12/17 00:09:21 UTC
svn commit: r357249 - in /incubator/roller/trunk/sandbox/jdobackend: ./ lib/
src/ src/org/ src/org/roller/ src/org/roller/business/
src/org/roller/business/jdo/
Author: snoopdave
Date: Fri Dec 16 15:08:30 2005
New Revision: 357249
URL: http://svn.apache.org/viewcvs?rev=357249&view=rev
Log:
Beginnings of JDO sandbox
Added:
incubator/roller/trunk/sandbox/jdobackend/
incubator/roller/trunk/sandbox/jdobackend/lib/
incubator/roller/trunk/sandbox/jdobackend/lib/jpox-1.1.0-beta-5.jar (with props)
incubator/roller/trunk/sandbox/jdobackend/lib/jpox-enhancer-1.1.0-beta-5.jar (with props)
incubator/roller/trunk/sandbox/jdobackend/src/
incubator/roller/trunk/sandbox/jdobackend/src/org/
incubator/roller/trunk/sandbox/jdobackend/src/org/roller/
incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/
incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/
incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOAutoPingManagerImpl.java
incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOBookmarkManagerImpl.java
incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOConfigManagerImpl.java
incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOPersistenceSession.java
incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOPingQueueManagerImpl.java
incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOPingTargetManagerImpl.java
incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOPlanetManagerImpl.java
incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOPropertiesManagerImpl.java
incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDORefererManagerImpl.java
incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDORollerImpl.java
incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOStrategy.java
incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOUserManagerImpl.java
incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOWeblogManagerImpl.java
Added: incubator/roller/trunk/sandbox/jdobackend/lib/jpox-1.1.0-beta-5.jar
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/sandbox/jdobackend/lib/jpox-1.1.0-beta-5.jar?rev=357249&view=auto
==============================================================================
Binary file - no diff available.
Propchange: incubator/roller/trunk/sandbox/jdobackend/lib/jpox-1.1.0-beta-5.jar
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: incubator/roller/trunk/sandbox/jdobackend/lib/jpox-enhancer-1.1.0-beta-5.jar
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/sandbox/jdobackend/lib/jpox-enhancer-1.1.0-beta-5.jar?rev=357249&view=auto
==============================================================================
Binary file - no diff available.
Propchange: incubator/roller/trunk/sandbox/jdobackend/lib/jpox-enhancer-1.1.0-beta-5.jar
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOAutoPingManagerImpl.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOAutoPingManagerImpl.java?rev=357249&view=auto
==============================================================================
--- incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOAutoPingManagerImpl.java (added)
+++ incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOAutoPingManagerImpl.java Fri Dec 16 15:08:30 2005
@@ -0,0 +1,65 @@
+package org.roller.business.jdo;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.roller.RollerException;
+import org.roller.business.AutoPingManagerImpl;
+import org.roller.business.PersistenceStrategy;
+import org.roller.pojos.AutoPingData;
+import org.roller.pojos.PingTargetData;
+import org.roller.pojos.WeblogEntryData;
+import org.roller.pojos.WebsiteData;
+
+/**
+ * @author Dave Johnson
+ */
+public class JDOAutoPingManagerImpl extends AutoPingManagerImpl {
+
+ public JDOAutoPingManagerImpl(PersistenceStrategy persistenceStrategy) {
+ super(persistenceStrategy);
+ // TODO Auto-generated constructor stub
+ }
+
+ public void removeAutoPing(PingTargetData pingTarget, WebsiteData website)
+ throws RollerException {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void removeAllAutoPings() throws RollerException {
+ // TODO Auto-generated method stub
+
+ }
+
+ public List getAutoPingsByWebsite(WebsiteData website)
+ throws RollerException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public List getAutoPingsByTarget(PingTargetData pingTarget)
+ throws RollerException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public List getCategoryRestrictions(AutoPingData autoPing)
+ throws RollerException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public void setCategoryRestrictions(AutoPingData autoPing,
+ Collection newCategories) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public List getApplicableAutoPings(WeblogEntryData changedWeblogEntry)
+ throws RollerException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+}
\ No newline at end of file
Added: incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOBookmarkManagerImpl.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOBookmarkManagerImpl.java?rev=357249&view=auto
==============================================================================
--- incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOBookmarkManagerImpl.java (added)
+++ incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOBookmarkManagerImpl.java Fri Dec 16 15:08:30 2005
@@ -0,0 +1,76 @@
+package org.roller.business.jdo;
+
+import java.util.List;
+
+import org.roller.RollerException;
+import org.roller.business.BookmarkManagerImpl;
+import org.roller.business.PersistenceStrategy;
+import org.roller.pojos.Assoc;
+import org.roller.pojos.FolderData;
+import org.roller.pojos.WebsiteData;
+
+/**
+ * @author Dave Johnson
+ */
+public class JDOBookmarkManagerImpl extends BookmarkManagerImpl {
+
+ public JDOBookmarkManagerImpl(PersistenceStrategy pstrategy) {
+ super(pstrategy);
+ // TODO Auto-generated constructor stub
+ }
+
+ public boolean isFolderInUse(FolderData folder) throws RollerException {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public List getAllFolders(WebsiteData wd) throws RollerException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public FolderData getRootFolder(WebsiteData website) throws RollerException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public List retrieveBookmarks(FolderData data, boolean subfolders)
+ throws RollerException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public boolean isDuplicateFolderName(FolderData data)
+ throws RollerException {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public Assoc getFolderParentAssoc(FolderData data) throws RollerException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public List getFolderChildAssocs(FolderData data) throws RollerException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public List getAllFolderDecscendentAssocs(FolderData data)
+ throws RollerException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public List getFolderAncestorAssocs(FolderData data) throws RollerException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public boolean isDescendentOf(FolderData data, FolderData ancestor)
+ throws RollerException {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+}
\ No newline at end of file
Added: incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOConfigManagerImpl.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOConfigManagerImpl.java?rev=357249&view=auto
==============================================================================
--- incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOConfigManagerImpl.java (added)
+++ incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOConfigManagerImpl.java Fri Dec 16 15:08:30 2005
@@ -0,0 +1,23 @@
+/*
+ * Created on Dec 13, 2005
+ */
+package org.roller.business.jdo;
+
+import org.roller.RollerException;
+import org.roller.business.ConfigManagerImpl;
+import org.roller.business.PersistenceStrategy;
+import org.roller.pojos.RollerConfigData;
+
+/**
+ * @author Dave Johnson
+ */
+public class JDOConfigManagerImpl extends ConfigManagerImpl {
+ public JDOConfigManagerImpl(PersistenceStrategy strategy) {
+ super(strategy);
+ }
+
+ public RollerConfigData getRollerConfig() throws RollerException {
+ return null;
+ }
+
+}
\ No newline at end of file
Added: incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOPersistenceSession.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOPersistenceSession.java?rev=357249&view=auto
==============================================================================
--- incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOPersistenceSession.java (added)
+++ incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOPersistenceSession.java Fri Dec 16 15:08:30 2005
@@ -0,0 +1,34 @@
+package org.roller.business.jdo;
+
+import org.roller.model.PersistenceSession;
+import org.roller.pojos.UserData;
+
+/**
+ * @author David M Johnson
+ */
+public class JDOPersistenceSession implements PersistenceSession {
+ private Object session = null;
+ private UserData user = null;
+
+ public JDOPersistenceSession(UserData user, Object session) {
+ this.user = user;
+ this.session = session;
+ }
+
+ public Object getSessionObject() {
+ return session;
+ }
+
+ public void setSessionObject(Object newSession) {
+ this.session = session;
+ }
+
+ public UserData getUser() {
+ return user;
+ }
+
+ public void setUser(UserData user) {
+ this.user = user;
+ }
+}
+
Added: incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOPingQueueManagerImpl.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOPingQueueManagerImpl.java?rev=357249&view=auto
==============================================================================
--- incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOPingQueueManagerImpl.java (added)
+++ incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOPingQueueManagerImpl.java Fri Dec 16 15:08:30 2005
@@ -0,0 +1,38 @@
+package org.roller.business.jdo;
+
+import java.util.List;
+
+import org.roller.RollerException;
+import org.roller.business.PersistenceStrategy;
+import org.roller.business.PingQueueManagerImpl;
+import org.roller.pojos.AutoPingData;
+import org.roller.pojos.PingTargetData;
+import org.roller.pojos.WebsiteData;
+
+/**
+ * @author Dave Johnson
+ */
+public class JDOPingQueueManagerImpl extends PingQueueManagerImpl {
+ public JDOPingQueueManagerImpl(PersistenceStrategy persistenceStrategy) {
+ super(persistenceStrategy);
+ }
+
+ public void addQueueEntry(AutoPingData autoPing) throws RollerException {
+ }
+
+ public void dropQueue() throws RollerException {
+ }
+
+ public List getAllQueueEntries() throws RollerException {
+ return null;
+ }
+
+ public void removeQueueEntriesByPingTarget(PingTargetData pingTarget)
+ throws RollerException {
+ }
+
+ public void removeQueueEntriesByWebsite(WebsiteData website)
+ throws RollerException {
+ }
+
+}
\ No newline at end of file
Added: incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOPingTargetManagerImpl.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOPingTargetManagerImpl.java?rev=357249&view=auto
==============================================================================
--- incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOPingTargetManagerImpl.java (added)
+++ incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOPingTargetManagerImpl.java Fri Dec 16 15:08:30 2005
@@ -0,0 +1,30 @@
+package org.roller.business.jdo;
+
+import java.util.List;
+
+import org.roller.RollerException;
+import org.roller.business.PersistenceStrategy;
+import org.roller.business.PingTargetManagerImpl;
+import org.roller.pojos.WebsiteData;
+
+public class JDOPingTargetManagerImpl extends PingTargetManagerImpl {
+ public JDOPingTargetManagerImpl(PersistenceStrategy persistenceStrategy) {
+ super(persistenceStrategy);
+ }
+
+ public List getCommonPingTargets() throws RollerException {
+ return null;
+ }
+
+ public List getCustomPingTargets(WebsiteData website)
+ throws RollerException {
+ return null;
+ }
+
+ public void removeCustomPingTargets(WebsiteData website)
+ throws RollerException {
+ }
+
+ public void removeAllCustomPingTargets() throws RollerException {
+ }
+}
\ No newline at end of file
Added: incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOPlanetManagerImpl.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOPlanetManagerImpl.java?rev=357249&view=auto
==============================================================================
--- incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOPlanetManagerImpl.java (added)
+++ incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOPlanetManagerImpl.java Fri Dec 16 15:08:30 2005
@@ -0,0 +1,254 @@
+package org.roller.business.jdo;
+
+import java.text.MessageFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.TreeSet;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.velocity.VelocityContext;
+import org.roller.RollerException;
+import org.roller.business.PersistenceStrategy;
+import org.roller.business.PlanetManagerImpl;
+import org.roller.config.RollerRuntimeConfig;
+import org.roller.model.PagePluginManager;
+import org.roller.model.Roller;
+import org.roller.model.UserManager;
+import org.roller.model.WeblogManager;
+import org.roller.pojos.PlanetConfigData;
+import org.roller.pojos.PlanetEntryData;
+import org.roller.pojos.PlanetGroupData;
+import org.roller.pojos.PlanetGroupSubscriptionAssoc;
+import org.roller.pojos.PlanetSubscriptionData;
+import org.roller.pojos.WeblogEntryData;
+import org.roller.pojos.WebsiteData;
+
+import com.sun.syndication.fetcher.FeedFetcher;
+import com.sun.syndication.fetcher.impl.FeedFetcherCache;
+
+/**
+ * Manages Planet Roller objects and entry aggregations in a database.
+ *
+ * @author Dave Johnson
+ */
+public class JDOPlanetManagerImpl extends PlanetManagerImpl {
+ protected Map lastUpdatedByGroup = new HashMap();
+ protected static final String NO_GROUP = "zzz_nogroup_zzz";
+
+ private static Log logger = LogFactory
+ .getFactory()
+ .getInstance(
+ JDOPlanetManagerImpl.class);
+
+ public JDOPlanetManagerImpl(PersistenceStrategy strategy, Roller roller) {
+ super(strategy, roller);
+ }
+
+ public void saveConfiguration(PlanetConfigData config)
+ throws RollerException {
+ config.save();
+ }
+
+ public void saveGroup(PlanetGroupData group) throws RollerException {
+ Iterator assocs = group.getGroupSubscriptionAssocs().iterator();
+ while (assocs.hasNext()) {
+ PlanetGroupSubscriptionAssoc assoc = (PlanetGroupSubscriptionAssoc) assocs
+ .next();
+ assoc.save();
+ }
+ group.save();
+ }
+
+ public void saveEntry(PlanetEntryData entry) throws RollerException {
+ entry.save();
+ }
+
+ public void saveSubscription(PlanetSubscriptionData sub)
+ throws RollerException {
+ PlanetSubscriptionData existing = getSubscription(sub.getFeedUrl());
+ if (existing == null || (existing.getId().equals(sub.getId()))) {
+ sub.save();
+ }
+ else {
+ throw new RollerException("ERROR: duplicate feed URLs not allowed");
+ }
+ }
+
+ public PlanetConfigData getConfiguration() throws RollerException {
+ return null;
+ }
+
+ public List getGroups() throws RollerException {
+ return null;
+ }
+
+ public List getGroupHandles() throws RollerException {
+ List handles = new ArrayList();
+ Iterator list = getGroups().iterator();
+ while (list.hasNext()) {
+ PlanetGroupData group = (PlanetGroupData) list.next();
+ handles.add(group.getHandle());
+ }
+ return handles;
+ }
+
+ public PlanetSubscriptionData getSubscription(String feedUrl)
+ throws RollerException {
+ return null;
+ }
+
+ public PlanetSubscriptionData getSubscriptionById(String id)
+ throws RollerException {
+ return (PlanetSubscriptionData) strategy.load(id,
+ PlanetSubscriptionData.class);
+ }
+
+ public PlanetGroupData getGroup(String handle) throws RollerException {
+ return null;
+ }
+
+ public PlanetGroupData getGroupById(String id) throws RollerException {
+ return (PlanetGroupData) strategy.load(id, PlanetGroupData.class);
+ }
+
+ public synchronized List getAggregation(int maxEntries)
+ throws RollerException {
+ return getAggregation(null, maxEntries);
+ }
+
+ public synchronized List getAggregation(PlanetGroupData group,
+ int maxEntries) throws RollerException {
+ return null;
+ }
+
+ public void deleteEntry(PlanetEntryData entry) throws RollerException {
+ entry.remove();
+ }
+
+ public void deleteGroup(PlanetGroupData group) throws RollerException {
+ group.remove();
+ }
+
+ public void deleteSubscription(PlanetSubscriptionData sub)
+ throws RollerException {
+ sub.remove();
+ }
+
+ public Iterator getAllSubscriptions() {
+ return null;
+ }
+
+ public int getSubscriptionCount() throws RollerException {
+ return -1;
+ }
+
+ public synchronized List getTopSubscriptions(int max)
+ throws RollerException {
+ return null;
+ }
+
+ public synchronized List getTopSubscriptions(PlanetGroupData group, int max)
+ throws RollerException {
+ return null;
+ }
+
+ public synchronized void clearCachedAggregations() {
+ lastUpdatedByGroup.clear();
+ }
+
+ public Date getLastUpdated() {
+ return (Date) lastUpdatedByGroup.get(NO_GROUP);
+ }
+
+ public Date getLastUpdated(PlanetGroupData group) {
+ return (Date) lastUpdatedByGroup.get(group);
+ }
+
+ protected Set getNewEntriesLocal(PlanetSubscriptionData sub,
+ FeedFetcher feedFetcher, FeedFetcherCache feedInfoCache)
+ throws RollerException {
+
+ Set newEntries = new TreeSet();
+ try {
+ // for local feeds, sub.author = website.handle
+ if (sub.getAuthor() != null
+ && sub.getFeedUrl().endsWith(sub.getAuthor())) {
+
+ logger.debug("Getting LOCAL feed " + sub.getFeedUrl());
+
+ // get corresponding website object
+ UserManager usermgr = roller.getUserManager();
+ WebsiteData website = usermgr.getWebsiteByHandle(sub
+ .getAuthor());
+ if (website == null)
+ return newEntries;
+
+ // figure website last update time
+ WeblogManager blogmgr = roller.getWeblogManager();
+
+ Date siteUpdated = blogmgr.getWeblogLastPublishTime(website);
+ if (siteUpdated == null) { // Site never updated, skip it
+ logger.warn("Last-publish time null, skipping local feed ["
+ + website.getHandle() + "]");
+ return newEntries;
+ }
+
+ // if website last update time > subsciption last update time
+ List entries = new ArrayList();
+ if (sub.getLastUpdated() == null
+ || siteUpdated.after(sub.getLastUpdated())) {
+ int entryCount = RollerRuntimeConfig
+ .getIntProperty("site.newsfeeds.defaultEntries");
+ entries = blogmgr.getWeblogEntries(website, null, // startDate
+ new Date(), // endDate
+ null, // catName
+ WeblogEntryData.PUBLISHED, // status
+ new Integer(entryCount)); // maxEntries
+
+ sub.setLastUpdated(siteUpdated);
+ saveSubscription(sub);
+
+ }
+ else {
+ if (logger.isDebugEnabled()) {
+ String msg = MessageFormat.format(
+ " Skipping ({0} / {1})", new Object[] {
+ siteUpdated, sub.getLastUpdated() });
+ logger.debug(msg);
+ }
+ }
+ // Populate subscription object with new entries
+ PagePluginManager ppmgr = roller.getPagePluginManager();
+ Map pagePlugins = ppmgr.createAndInitPagePlugins(website, null,
+ RollerRuntimeConfig.getProperty("site.absoluteurl"),
+ new VelocityContext());
+ Iterator entryIter = entries.iterator();
+ while (entryIter.hasNext()) {
+ try {
+ WeblogEntryData rollerEntry = (WeblogEntryData) entryIter
+ .next();
+ PlanetEntryData entry = new PlanetEntryData(
+ rollerEntry, sub, pagePlugins);
+ saveEntry(entry);
+ newEntries.add(entry);
+ }
+ catch (Exception e) {
+ logger.error("ERROR processing subscription entry", e);
+ }
+ }
+ return newEntries;
+ }
+ }
+ catch (Exception e) {
+ logger.warn("Problem reading local feed", e);
+ }
+ return getNewEntriesRemote(sub, feedFetcher, feedInfoCache);
+ }
+}
+
Added: incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOPropertiesManagerImpl.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOPropertiesManagerImpl.java?rev=357249&view=auto
==============================================================================
--- incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOPropertiesManagerImpl.java (added)
+++ incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOPropertiesManagerImpl.java Fri Dec 16 15:08:30 2005
@@ -0,0 +1,27 @@
+package org.roller.business.jdo;
+
+import java.util.Map;
+
+import org.roller.RollerException;
+import org.roller.business.PersistenceStrategy;
+import org.roller.business.PropertiesManagerImpl;
+import org.roller.pojos.RollerPropertyData;
+
+/**
+ * @author Dave Johnson
+ */
+public class JDOPropertiesManagerImpl extends PropertiesManagerImpl {
+
+ public JDOPropertiesManagerImpl(PersistenceStrategy strategy) {
+ super(strategy);
+ }
+
+ public RollerPropertyData getProperty(String name) throws RollerException {
+ return null;
+ }
+
+ public Map getProperties() throws RollerException {
+ return null;
+ }
+
+}
\ No newline at end of file
Added: incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDORefererManagerImpl.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDORefererManagerImpl.java?rev=357249&view=auto
==============================================================================
--- incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDORefererManagerImpl.java (added)
+++ incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDORefererManagerImpl.java Fri Dec 16 15:08:30 2005
@@ -0,0 +1,96 @@
+package org.roller.business.jdo;
+
+import java.util.List;
+
+import org.roller.RollerException;
+import org.roller.business.RefererManagerImpl;
+import org.roller.pojos.WebsiteData;
+
+/**
+ * @author Dave Johnson
+ */
+public class JDORefererManagerImpl extends RefererManagerImpl {
+
+ protected List getReferersWithSameTitle(WebsiteData website,
+ String requestUrl, String title, String excerpt)
+ throws RollerException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ protected List getExistingReferers(WebsiteData website, String dateString,
+ String permalink) throws RollerException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ protected List getReferersToWebsite(WebsiteData website, String refererUrl)
+ throws RollerException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ protected List getMatchingReferers(WebsiteData website, String requestUrl,
+ String refererUrl) throws RollerException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ protected int getHits(WebsiteData website, String type)
+ throws RollerException {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ public List getReferers(WebsiteData website) throws RollerException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public List getTodaysReferers(WebsiteData website) throws RollerException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public List getReferersToDate(WebsiteData website, String date)
+ throws RollerException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public List getDaysPopularWebsites(int max) throws RollerException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public List getReferersToEntry(String entryid) throws RollerException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public void removeReferersForEntry(String entryid) throws RollerException {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void applyRefererFilters() throws RollerException {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void applyRefererFilters(WebsiteData website) throws RollerException {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void clearReferrers() throws RollerException {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void clearReferrers(WebsiteData website) throws RollerException {
+ // TODO Auto-generated method stub
+
+ }
+
+}
\ No newline at end of file
Added: incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDORollerImpl.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDORollerImpl.java?rev=357249&view=auto
==============================================================================
--- incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDORollerImpl.java (added)
+++ incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDORollerImpl.java Fri Dec 16 15:08:30 2005
@@ -0,0 +1,247 @@
+/*
+ * Created on Dec 13, 2005
+ */
+package org.roller.business.jdo;
+
+import java.sql.Connection;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.hibernate.SessionFactory;
+import org.roller.RollerException;
+import org.roller.business.PersistenceStrategy;
+import org.roller.business.utils.UpgradeDatabase;
+import org.roller.model.AutoPingManager;
+import org.roller.model.BookmarkManager;
+import org.roller.model.ConfigManager;
+import org.roller.model.PingQueueManager;
+import org.roller.model.PingTargetManager;
+import org.roller.model.PlanetManager;
+import org.roller.model.PropertiesManager;
+import org.roller.model.RefererManager;
+import org.roller.model.Roller;
+import org.roller.model.UserManager;
+import org.roller.model.WeblogManager;
+import org.roller.pojos.UserData;
+
+/**
+ * Implements Roller, the entry point interface for the Roller business tier
+ * APIs. JDO specific implementation.
+ *
+ * @author Dave Johnson
+ */
+public class JDORollerImpl extends org.roller.business.RollerImpl {
+ private static Log mLogger = LogFactory
+ .getFactory()
+ .getInstance(
+ JDORollerImpl.class);
+
+ protected BookmarkManager mBookmarkManager;
+ protected ConfigManager mConfigManager = null;
+ protected PropertiesManager mPropsManager = null;
+ protected PlanetManager planetManager = null;
+ protected RefererManager mRefererManager;
+ protected UserManager mUserManager;
+ protected WeblogManager mWeblogManager;
+ protected PingQueueManager mPingQueueManager;
+ protected AutoPingManager mAutoPingManager;
+ protected PingTargetManager mPingTargetManager;
+ protected static JDORollerImpl me;
+ protected PersistenceStrategy mStrategy = null;
+ protected static SessionFactory mSessionFactory;
+
+ protected JDORollerImpl() throws RollerException {
+ mStrategy = new JDOStrategy();
+ }
+
+ public static Roller instantiate() throws RollerException {
+ if (me == null) {
+ me = new JDORollerImpl();
+ }
+
+ return me;
+ }
+
+ public void begin() throws RollerException {
+ mStrategy.begin(UserData.ANONYMOUS_USER);
+ }
+
+ public void begin(UserData user) throws RollerException {
+ mStrategy.begin(user);
+ }
+
+ public UserData getUser() throws RollerException {
+ return mStrategy.getUser();
+ }
+
+ public void setUser(UserData user) throws RollerException {
+ mStrategy.setUser(user);
+ }
+
+ public void commit() throws RollerException {
+ mStrategy.commit();
+ }
+
+ public void rollback() {
+ try {
+ mStrategy.rollback();
+ }
+ catch (Throwable e) {
+ mLogger.error(e);
+ }
+ }
+
+ /**
+ * @see org.roller.model.Roller#getUserManager()
+ */
+ public UserManager getUserManager() throws RollerException {
+ if (mUserManager == null) {
+ mUserManager = new JDOUserManagerImpl(mStrategy);
+ }
+ return mUserManager;
+ }
+
+ /**
+ * @see org.roller.model.Roller#getBookmarkManager()
+ */
+ public BookmarkManager getBookmarkManager() throws RollerException {
+ if (mBookmarkManager == null) {
+ mBookmarkManager = new JDOBookmarkManagerImpl(mStrategy);
+ }
+ return mBookmarkManager;
+ }
+
+ /**
+ * @see org.roller.model.Roller#getWeblogManager()
+ */
+ public WeblogManager getWeblogManager() throws RollerException {
+ if (mWeblogManager == null) {
+ mWeblogManager = new JDOWeblogManagerImpl(mStrategy);
+ }
+ return mWeblogManager;
+ }
+
+ /**
+ * @see org.roller.model.Roller#getRefererManager()
+ */
+ public RefererManager getRefererManager() throws RollerException {
+ if (mRefererManager == null) {
+ mRefererManager = new JDORefererManagerImpl();
+ }
+ return mRefererManager;
+ }
+
+ /**
+ * @see org.roller.model.Roller#getConfigManager()
+ */
+ public ConfigManager getConfigManager() throws RollerException {
+ if (mConfigManager == null) {
+ mConfigManager = new JDOConfigManagerImpl(mStrategy);
+ }
+ return mConfigManager;
+ }
+
+ /**
+ * @see org.roller.model.Roller#getPropertiesManager()
+ */
+ public PropertiesManager getPropertiesManager() throws RollerException {
+ if (mPropsManager == null) {
+ mPropsManager = new JDOPropertiesManagerImpl(mStrategy);
+ }
+ return mPropsManager;
+ }
+
+ /**
+ * @see org.roller.model.Roller#getPingTargetManager()
+ */
+ public PingQueueManager getPingQueueManager() throws RollerException {
+ if (mPingQueueManager == null) {
+ mPingQueueManager = new JDOPingQueueManagerImpl(mStrategy);
+ }
+ return mPingQueueManager;
+ }
+
+ /**
+ * @see org.roller.model.Roller#getPlanetManager()
+ */
+ public PlanetManager getPlanetManager() throws RollerException {
+ if (planetManager == null) {
+ planetManager = new JDOPlanetManagerImpl(mStrategy, this);
+ }
+ return planetManager;
+ }
+
+ /**
+ * @see org.roller.model.Roller#getPingTargetManager()
+ */
+ public AutoPingManager getAutopingManager() throws RollerException {
+ if (mAutoPingManager == null) {
+ mAutoPingManager = new JDOAutoPingManagerImpl(mStrategy);
+ }
+ return mAutoPingManager;
+ }
+
+ /**
+ * @see org.roller.model.Roller#getPingTargetManager()
+ */
+ public PingTargetManager getPingTargetManager() throws RollerException {
+ if (mPingTargetManager == null) {
+ mPingTargetManager = new JDOPingTargetManagerImpl(mStrategy);
+ }
+ return mPingTargetManager;
+ }
+
+ /**
+ * @see org.roller.model.Roller#getPersistenceStrategy()
+ */
+ public PersistenceStrategy getPersistenceStrategy() {
+ return mStrategy;
+ }
+
+ /**
+ * @see org.roller.model.Roller#upgradeDatabase(java.sql.Connection)
+ */
+ public void upgradeDatabase(Connection con) throws RollerException {
+ UpgradeDatabase.upgradeDatabase(con);
+ }
+
+ public void release() {
+ super.release();
+
+ if (mBookmarkManager != null)
+ mBookmarkManager.release();
+ if (mConfigManager != null)
+ mConfigManager.release();
+ if (mRefererManager != null)
+ mRefererManager.release();
+ if (mUserManager != null)
+ mUserManager.release();
+ if (mWeblogManager != null)
+ mWeblogManager.release();
+ if (mPingTargetManager != null)
+ mPingTargetManager.release();
+ if (mPingQueueManager != null)
+ mPingQueueManager.release();
+ if (mAutoPingManager != null)
+ mAutoPingManager.release();
+
+ try {
+ if (mStrategy != null)
+ mStrategy.release();
+ }
+ catch (Throwable e) {
+ mLogger.error("Exception with mSupport.release() [" + e + "]", e);
+ }
+ }
+
+ public void shutdown() {
+ super.shutdown();
+
+ try {
+ release();
+ }
+ catch (Exception e) {
+ mLogger.error("Unable to close SessionFactory", e);
+ }
+ }
+}
\ No newline at end of file
Added: incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOStrategy.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOStrategy.java?rev=357249&view=auto
==============================================================================
--- incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOStrategy.java (added)
+++ incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOStrategy.java Fri Dec 16 15:08:30 2005
@@ -0,0 +1,178 @@
+/*
+ * Created on Dec 13, 2005
+ */
+package org.roller.business.jdo;
+
+import java.util.List;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.roller.RollerException;
+import org.roller.business.PersistenceStrategy;
+import org.roller.model.PersistenceSession;
+import org.roller.pojos.PersistentObject;
+import org.roller.pojos.UserData;
+
+///////////////////////////////////////////////////////////////////////////////
+/**
+ * @author Dave Johnson
+ */
+public class JDOStrategy implements PersistenceStrategy {
+ private static final ThreadLocal mSessionTLS = new ThreadLocal();
+
+ private static Log mLogger = LogFactory
+ .getFactory()
+ .getInstance(
+ JDOStrategy.class);
+
+ //-------------------------------------------------------------------------
+ /**
+ * Construct using Hibernate Session Factory.
+ */
+ public JDOStrategy() throws RollerException {
+ }
+
+ //-------------------------------------------------------------------------
+ /**
+ * Start new Roller persistence session on current thread.
+ */
+ public void begin(UserData user) throws RollerException {
+ getPersistenceSession(user, true); // force create of new session
+ }
+
+ //-------------------------------------------------------------------------
+ /**
+ * Start new Roller persistence session on current thread.
+ */
+ public void setUser(UserData user) throws RollerException {
+ PersistenceSession pses = getPersistenceSession(user, false);
+ pses.setUser(user);
+ }
+
+ //-------------------------------------------------------------------------
+ /**
+ * Start new Roller persistence session on current thread.
+ */
+ public UserData getUser() throws RollerException {
+ PersistenceSession pses = getPersistenceSession(null, false);
+ return pses.getUser();
+ }
+
+ //-------------------------------------------------------------------------
+ /**
+ * Get existing persistence session on current thread.
+ */
+ public Object getSession() throws RollerException {
+ return (getPersistenceSession(UserData.ANONYMOUS_USER, false)
+ .getSessionObject());
+ }
+
+ //-------------------------------------------------------------------------
+ /**
+ * Get existing or open new persistence session for current thread
+ *
+ * @param createNew
+ * True if existing session on thread is an warn condition.
+ */
+ public PersistenceSession getPersistenceSession(UserData user,
+ boolean createNew) throws RollerException {
+ return null;
+ }
+
+ //-------------------------------------------------------------------------
+ /**
+ * This is called on error to start a new Hibernate session. Gavin: "make
+ * sure you never catch + handle an exception and then keep using the
+ * session (ObjectNotFoundException included!)
+ */
+ private void newSession() throws RollerException {
+ PersistenceSession pses = getPersistenceSession(null, false);
+ UserData user = pses.getUser();
+ release();
+ getPersistenceSession(user, true);
+ }
+
+ //-------------------------------------------------------------------------
+ /**
+ * Release database session, rolls back any uncommitted changes.
+ */
+ public void release() throws RollerException {
+ }
+
+ //-------------------------------------------------------------------------
+ /**
+ * Remove object from persistence storage.
+ *
+ * @param clazz
+ * Class of object to remove.
+ * @param id
+ * Id of object to remove.
+ * @throws RollerException
+ * Error deleting object.
+ */
+ public void remove(String id, Class clazz) throws RollerException {
+ }
+
+ //-------------------------------------------------------------------------
+ /**
+ * Remove object from persistence storage.
+ */
+ public void remove(PersistentObject po) throws RollerException {
+ }
+
+ //-------------------------------------------------------------------------
+ /**
+ * Retrieve object, begins and ends its own transaction.
+ *
+ * @param clazz
+ * Class of object to retrieve.
+ * @param id
+ * Id of object to retrieve.
+ * @return Object Object retrieved.
+ * @throws RollerException
+ * Error retrieving object.
+ */
+ public PersistentObject load(String id, Class clazz) throws RollerException {
+ return null;
+ }
+
+ //-------------------------------------------------------------------------
+ /**
+ * Store object using an existing transaction.
+ */
+ public PersistentObject store(PersistentObject obj) throws RollerException {
+ return null;
+ }
+
+ //-------------------------------------------------------------------------
+ /**
+ * Execute query
+ */
+ public List query(String query, Object[] args, Object[] types)
+ throws RollerException {
+ return query(query, args, types);
+ }
+
+ //-------------------------------------------------------------------------
+ /**
+ * Execute Hibernate HSQL query
+ */
+ public List query(String query) throws RollerException {
+ return null;
+ }
+
+ //-------------------------------------------------------------------------
+ /**
+ * Commits current transaction, if there is one, does not release session.
+ */
+ public void commit() throws RollerException {
+ }
+
+ //-------------------------------------------------------------------------
+ /**
+ * Rollback uncommitted changes, does not release session.
+ */
+ public void rollback() throws RollerException {
+ }
+}
+
Added: incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOUserManagerImpl.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOUserManagerImpl.java?rev=357249&view=auto
==============================================================================
--- incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOUserManagerImpl.java (added)
+++ incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOUserManagerImpl.java Fri Dec 16 15:08:30 2005
@@ -0,0 +1,156 @@
+/*
+ * Created on Dec 13, 2005
+ */
+package org.roller.business.jdo;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.roller.RollerException;
+import org.roller.business.PersistenceStrategy;
+import org.roller.business.UserManagerImpl;
+import org.roller.model.AutoPingManager;
+import org.roller.model.BookmarkManager;
+import org.roller.model.PingQueueManager;
+import org.roller.model.PingTargetManager;
+import org.roller.model.RollerFactory;
+import org.roller.model.WeblogManager;
+import org.roller.pojos.FolderData;
+import org.roller.pojos.WeblogTemplate;
+import org.roller.pojos.PermissionsData;
+import org.roller.pojos.RefererData;
+import org.roller.pojos.RoleData;
+import org.roller.pojos.UserData;
+import org.roller.pojos.WeblogCategoryData;
+import org.roller.pojos.WeblogEntryData;
+import org.roller.pojos.WebsiteData;
+
+/**
+ * @author Dave Johnson
+ */
+public class JDOUserManagerImpl extends UserManagerImpl {
+ public JDOUserManagerImpl(PersistenceStrategy strategy) {
+ super(strategy);
+ }
+
+ /**
+ * Get websites of a user
+ */
+ public List getWebsites(UserData user, Boolean enabled)
+ throws RollerException {
+ return null;
+ }
+
+ /**
+ * Get users of a website
+ */
+ public List getUsers(WebsiteData website, Boolean enabled)
+ throws RollerException {
+ return null;
+ }
+
+ /**
+ * Use Hibernate directly because Roller's Query API does too much
+ * allocation.
+ */
+ public WeblogTemplate getPageByLink(WebsiteData website, String pagelink)
+ throws RollerException {
+ return null;
+ }
+
+ /**
+ * Return website specified by handle.
+ */
+ public WebsiteData getWebsiteByHandle(String handle, Boolean enabled)
+ throws RollerException {
+ return null;
+ }
+
+ // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+ public UserData getUser(String userName, Boolean enabled)
+ throws RollerException {
+ return null;
+ }
+
+ //------------------------------------------------------------------------
+ /**
+ * @see org.roller.model.UserManager#getPages(WebsiteData)
+ */
+ public List getPages(WebsiteData website) throws RollerException {
+ return null;
+ }
+
+ /**
+ * @see org.roller.model.UserManager#getPageByName(WebsiteData,
+ * java.lang.String)
+ */
+ public WeblogTemplate getPageByName(WebsiteData website, String pagename)
+ throws RollerException {
+ return null;
+ }
+
+ /*
+ * @see org.roller.business.UserManagerBase#getRoles(org.roller.pojos.UserData)
+ */
+ public List getUserRoles(UserData user) throws RollerException {
+ return null;
+ }
+
+ public List getUsers(Boolean enabled) throws RollerException {
+ return null;
+ }
+
+ /**
+ * @see org.roller.model.UserManager#removeWebsiteContents(org.roller.pojos.WebsiteData)
+ */
+ public void removeWebsiteContents(WebsiteData website)
+ throws RollerException {
+ }
+
+ /**
+ * Return permissions for specified user in website
+ */
+ public PermissionsData getPermissions(WebsiteData website, UserData user)
+ throws RollerException {
+ return null;
+ }
+
+ /**
+ * Get pending permissions for user
+ */
+ public List getPendingPermissions(UserData user) throws RollerException {
+ return null;
+ }
+
+ /**
+ * Get pending permissions for website
+ */
+ public List getPendingPermissions(WebsiteData website)
+ throws RollerException {
+ return null;
+ }
+
+ /**
+ * Get all permissions of a website (pendings not including)
+ */
+ public List getAllPermissions(WebsiteData website) throws RollerException {
+ return null;
+ }
+
+ /**
+ * Get all permissions of a user.
+ */
+ public List getAllPermissions(UserData user) throws RollerException {
+ return null;
+ }
+
+ public List getUsersStartingWith(String startsWith, int offset, int length,
+ Boolean enabled) throws RollerException {
+ return null;
+ }
+}
+
Added: incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOWeblogManagerImpl.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOWeblogManagerImpl.java?rev=357249&view=auto
==============================================================================
--- incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOWeblogManagerImpl.java (added)
+++ incubator/roller/trunk/sandbox/jdobackend/src/org/roller/business/jdo/JDOWeblogManagerImpl.java Fri Dec 16 15:08:30 2005
@@ -0,0 +1,137 @@
+package org.roller.business.jdo;
+
+import java.util.Date;
+import java.util.List;
+
+import org.roller.RollerException;
+import org.roller.business.PersistenceStrategy;
+import org.roller.business.WeblogManagerImpl;
+import org.roller.pojos.Assoc;
+import org.roller.pojos.WeblogCategoryData;
+import org.roller.pojos.WeblogEntryData;
+import org.roller.pojos.WebsiteData;
+
+/**
+ * @author Dave Johnson
+ */
+public class JDOWeblogManagerImpl extends WeblogManagerImpl {
+
+ public JDOWeblogManagerImpl(PersistenceStrategy strategy) {
+ super(strategy);
+ // TODO Auto-generated constructor stub
+ }
+
+ public List getWeblogEntries(WebsiteData website, Date startDate,
+ Date endDate, String catName, String status, Integer maxEntries,
+ Boolean pinned) throws RollerException {
+
+ return null;
+ }
+
+ public List getNextPrevEntries(WeblogEntryData current, String catName,
+ int maxEntries, boolean next) throws RollerException {
+
+ return null;
+ }
+
+ public void moveWeblogCategoryContents(String srcId, String destId)
+ throws RollerException {
+
+ }
+
+ public List getWeblogCategories(WebsiteData website) throws RollerException {
+
+ return null;
+ }
+
+ public List getWeblogCategories(WebsiteData website, boolean includeRoot)
+ throws RollerException {
+
+ return null;
+ }
+
+ public WeblogCategoryData getRootWeblogCategory(WebsiteData website)
+ throws RollerException {
+
+ return null;
+ }
+
+ public List getComments(WebsiteData website, WeblogEntryData entry,
+ String searchString, Date startDate, Date endDate, Boolean pending,
+ Boolean approved, Boolean spam, boolean reverseChrono, int offset,
+ int length) throws RollerException {
+
+ return null;
+ }
+
+ public List retrieveWeblogEntries(WeblogCategoryData cat, boolean subcats)
+ throws RollerException {
+
+ return null;
+ }
+
+ public WeblogEntryData getWeblogEntryByAnchor(WebsiteData website,
+ String anchor) throws RollerException {
+
+ return null;
+ }
+
+ public Date getWeblogLastPublishTime(WebsiteData website, String catName)
+ throws RollerException {
+
+ return null;
+ }
+
+ public void removeWeblogEntryContents(WeblogEntryData data)
+ throws RollerException {
+
+ }
+
+ public String createAnchor(WeblogEntryData data) throws RollerException {
+
+ return null;
+ }
+
+ public boolean isDuplicateWeblogCategoryName(WeblogCategoryData data)
+ throws RollerException {
+
+ return false;
+ }
+
+ public boolean isWeblogCategoryInUse(WeblogCategoryData data)
+ throws RollerException {
+
+ return false;
+ }
+
+ public boolean isDescendentOf(WeblogCategoryData child,
+ WeblogCategoryData ancestor) throws RollerException {
+
+ return false;
+ }
+
+ public Assoc getWeblogCategoryParentAssoc(WeblogCategoryData data)
+ throws RollerException {
+
+ return null;
+ }
+
+ public List getWeblogCategoryChildAssocs(WeblogCategoryData data)
+ throws RollerException {
+
+ return null;
+ }
+
+ public List getAllWeblogCategoryDecscendentAssocs(WeblogCategoryData data)
+ throws RollerException {
+
+ return null;
+ }
+
+ public List getWeblogCategoryAncestorAssocs(WeblogCategoryData data)
+ throws RollerException {
+
+ return null;
+ }
+
+}
\ No newline at end of file