You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@abdera.apache.org by da...@apache.org on 2008/01/04 16:11:12 UTC

svn commit: r608881 - in /incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server: CollectionProvider.java impl/AbstractCollectionProvider.java

Author: dandiep
Date: Fri Jan  4 07:11:12 2008
New Revision: 608881

URL: http://svn.apache.org/viewvc?rev=608881&view=rev
Log:
Make getFeed() more easily overridable.

Modified:
    incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/CollectionProvider.java
    incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/impl/AbstractCollectionProvider.java

Modified: incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/CollectionProvider.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/CollectionProvider.java?rev=608881&r1=608880&r2=608881&view=diff
==============================================================================
--- incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/CollectionProvider.java (original)
+++ incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/CollectionProvider.java Fri Jan  4 07:11:12 2008
@@ -35,7 +35,7 @@
   
   String getTitle(RequestContext request);
 
-  ResponseContext getFeed(RequestContext request, Feed feed);
+  ResponseContext getFeed(Feed feed, RequestContext request);
 
   ResponseContext createEntry(RequestContext request);
 

Modified: incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/impl/AbstractCollectionProvider.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/impl/AbstractCollectionProvider.java?rev=608881&r1=608880&r2=608881&view=diff
==============================================================================
--- incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/impl/AbstractCollectionProvider.java (original)
+++ incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/impl/AbstractCollectionProvider.java Fri Jan  4 07:11:12 2008
@@ -133,7 +133,7 @@
   }
 
   protected ResponseContext buildGetEntryResponse(RequestContext request, Entry entry) {
-    Feed feed = createFeed(request.getAbdera(), request);
+    Feed feed = createFeedBase(request);
     entry.setSource(feed.getAsSource());
     Document<Entry> entry_doc = entry.getDocument();
     AbstractResponseContext rc = new BaseResponseContext<Document<Entry>>(entry_doc);
@@ -144,39 +144,41 @@
   public abstract T getEntry(String resourceName, RequestContext request) throws ResponseContextException;
 
   public ResponseContext getFeed(RequestContext request) {
-    Abdera abdera = request.getAbdera();
-    Feed feed = createFeed(abdera, request);
+    Feed feed = createFeedBase(request);
     
-    return getFeed(request, feed);
+    return getFeed(feed, request);
   }
   
-  public ResponseContext getFeed(RequestContext request, Feed feed) {
+  public ResponseContext getFeed(Feed feed, RequestContext request) {
+    try {
+      addFeedDetails(feed, request);
+      
+      return buildGetFeedResponse(feed);
+    } catch (ResponseContextException e) {
+      return createErrorResponse(e);
+    }
+  }
+
+  protected void addFeedDetails(Feed feed, RequestContext request) throws ResponseContextException {
     feed.setUpdated(new Date());
 
     IRI baseIri = resolveBase(request);
     IRI entryIri = getEntryBaseFromFeedIRI(baseIri);
     
-    try {
-      Iterable<T> entries = getEntries(request);
-      if (entries != null) {
-        for (T entryObj : entries) {
-          Entry e = feed.addEntry();
-    
-          addEntryDetails(request, e, entryIri, entryObj);
-
-          if (isMediaEntry(entryObj)) {
-            addMediaContent(entryIri, e, entryObj);
-          } else {
-            addContent(e, entryObj, request);
-          }
+    Iterable<T> entries = getEntries(request);
+    if (entries != null) {
+      for (T entryObj : entries) {
+        Entry e = feed.addEntry();
+  
+        addEntryDetails(request, e, entryIri, entryObj);
+
+        if (isMediaEntry(entryObj)) {
+          addMediaContent(entryIri, e, entryObj);
+        } else {
+          addContent(e, entryObj, request);
         }
       }
-  
-      return buildGetFeedResponse(feed);
-    } catch (ResponseContextException e) {
-      return createErrorResponse(e);
     }
-    
   }
 
   protected ResponseContext buildGetFeedResponse(Feed feed) {
@@ -372,8 +374,9 @@
     }
     return EntityTag.generate(id, modified);
   }
-  protected Feed createFeed(Abdera abdera, RequestContext request) {
-    Factory factory = abdera.getFactory();
+  
+  protected Feed createFeedBase(RequestContext request) {
+    Factory factory = request.getAbdera().getFactory();
     Feed feed = factory.newFeed();
     try {
       feed.setId(getId());