You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by js...@apache.org on 2008/02/21 00:30:25 UTC
svn commit: r629652 -
/incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/FeedBindingListenerServlet.java
Author: jsdelfino
Date: Wed Feb 20 15:30:20 2008
New Revision: 629652
URL: http://svn.apache.org/viewvc?rev=629652&view=rev
Log:
Pass key to the post method as Atompub allows entry id to specified in a new entry.
Modified:
incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/FeedBindingListenerServlet.java
Modified: incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/FeedBindingListenerServlet.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/FeedBindingListenerServlet.java?rev=629652&r1=629651&r2=629652&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/FeedBindingListenerServlet.java (original)
+++ incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/FeedBindingListenerServlet.java Wed Feb 20 15:30:20 2008
@@ -223,7 +223,7 @@
feed = new Feed();
feed.setTitle("Feed");
for (org.apache.tuscany.sca.implementation.data.collection.Entry<Object, Object> entry: collection) {
- Entry feedEntry = createFeedEntry(entry.getKey(), entry.getData());
+ Entry feedEntry = createFeedEntry(entry);
feed.getEntries().add(feedEntry);
}
}
@@ -265,7 +265,7 @@
// The service implementation only returns a data item, create an entry
// from it
- feedEntry = createFeedEntry(id, responseMessage.getBody());
+ feedEntry = createFeedEntry(new org.apache.tuscany.sca.implementation.data.collection.Entry<Object, Object>(id, responseMessage.getBody()));
}
// Write the Atom entry
@@ -319,7 +319,7 @@
feed = new Feed();
feed.setTitle("Feed");
for (org.apache.tuscany.sca.implementation.data.collection.Entry<Object, Object> entry: collection) {
- Entry feedEntry = createFeedEntry(entry.getKey(), entry.getData());
+ Entry feedEntry = createFeedEntry(entry);
feed.getEntries().add(feedEntry);
}
}
@@ -347,12 +347,13 @@
}
/**
- * Create an Atom entry for a key and item from a collection.
- * @param key
- * @param item
+ * Create an Atom entry from a data collection entry.
+ * @param entry
* @return
*/
- private Entry createFeedEntry(Object key, Object data) {
+ private Entry createFeedEntry(org.apache.tuscany.sca.implementation.data.collection.Entry<Object, Object> entry) {
+ Object key = entry.getKey();
+ Object data = entry.getData();
if (data instanceof Item) {
Item item = (Item)data;
@@ -423,16 +424,16 @@
}
/**
- * Create a data item from an Atom entry.
- * @param key
- * @param item
+ * Create a data collection entry from an Atom entry.
+ * @param feedEntry
* @return
*/
- private Object createItem(Entry feedEntry) {
+ private org.apache.tuscany.sca.implementation.data.collection.Entry<Object, Object> createEntry(Entry feedEntry) {
if (feedEntry != null) {
if (itemClassType.getPhysical() == Item.class) {
- Item item = new Item();
+ String key = feedEntry.getId();
+ Item item = new Item();
item.setTitle(feedEntry.getTitle());
List<?> contents = feedEntry.getContents();
@@ -452,9 +453,10 @@
item.setDate(feedEntry.getCreated());
- return item;
+ return new org.apache.tuscany.sca.implementation.data.collection.Entry<Object, Object>(key, item);
} else {
+ String key = feedEntry.getId();
// Create the item from XML
List<?> contents = feedEntry.getContents();
@@ -465,7 +467,7 @@
String value = content.getValue();
Object data = mediator.mediate(value, itemXMLType, itemClassType, null);
- return data;
+ return new org.apache.tuscany.sca.implementation.data.collection.Entry<Object, Object>(key, data);
}
} else {
return null;
@@ -518,14 +520,14 @@
// The service implementation does not support feed entries, pass the data item to it
Message requestMessage = messageFactory.createMessage();
- Object item = createItem(feedEntry);
- requestMessage.setBody(new Object[] {item});
+ org.apache.tuscany.sca.implementation.data.collection.Entry<Object, Object> entry = createEntry(feedEntry);
+ requestMessage.setBody(new Object[] {entry.getKey(), entry.getData()});
Message responseMessage = postInvoker.invoke(requestMessage);
if (responseMessage.isFault()) {
throw new ServletException((Throwable)responseMessage.getBody());
}
- Object key = responseMessage.getBody();
- createdFeedEntry = createFeedEntry(key, item);
+ entry.setKey(responseMessage.getBody());
+ createdFeedEntry = createFeedEntry(entry);
}
} else if (contentType != null) {
@@ -632,8 +634,8 @@
// The service implementation does not support feed entries, pass the data item to it
Message requestMessage = messageFactory.createMessage();
- Object item = createItem(feedEntry);
- requestMessage.setBody(new Object[] {id, item});
+ org.apache.tuscany.sca.implementation.data.collection.Entry<Object, Object> entry = createEntry(feedEntry);
+ requestMessage.setBody(new Object[] {entry.getKey(), entry.getData()});
Message responseMessage = putInvoker.invoke(requestMessage);
if (responseMessage.isFault()) {
Object body = responseMessage.getBody();
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org