diff options
author | mcombellack <mcombellack@13f79535-47bb-0310-9956-ffa450edef68> | 2009-06-20 23:41:05 +0000 |
---|---|---|
committer | mcombellack <mcombellack@13f79535-47bb-0310-9956-ffa450edef68> | 2009-06-20 23:41:05 +0000 |
commit | f6935c5980c68e02be6886edd2a463484a1327d5 (patch) | |
tree | 0d2d259b9663ee287919bc0ae8a78f538c162552 | |
parent | 70c644c3827d05a5f555bcc06855f87d509208a6 (diff) |
TUSCANY-3310 - Updated the atom binding so that the description can be set using the description attribute. This is similar to the way that we set the title of the feed using the title attribute
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@786928 13f79535-47bb-0310-9956-ffa450edef68
6 files changed, 57 insertions, 6 deletions
diff --git a/branches/sca-java-1.x/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomBindingListenerServlet.java b/branches/sca-java-1.x/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomBindingListenerServlet.java index f41284624e..5eebc6dff7 100644 --- a/branches/sca-java-1.x/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomBindingListenerServlet.java +++ b/branches/sca-java-1.x/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomBindingListenerServlet.java @@ -95,6 +95,7 @@ class AtomBindingListenerServlet extends HttpServlet { private Invoker deleteInvoker; private MessageFactory messageFactory; private String title; + private String description; private Mediator mediator; private DataType<?> itemClassType; private DataType<?> itemXMLType; @@ -107,11 +108,12 @@ class AtomBindingListenerServlet extends HttpServlet { * @param messageFactory * @param feedType */ - AtomBindingListenerServlet(RuntimeWire wire, MessageFactory messageFactory, Mediator mediator, String title) { + AtomBindingListenerServlet(RuntimeWire wire, MessageFactory messageFactory, Mediator mediator, String title, String description) { this.wire = wire; this.messageFactory = messageFactory; this.mediator = mediator; this.title = title; + this.description = description; // Get the invokers for the supported operations Operation getOperation = null; @@ -515,6 +517,9 @@ class AtomBindingListenerServlet extends HttpServlet { } else { feed.setTitle("Feed"); } + if (description != null) { + feed.setSubtitle(description); + } // All feeds must provide Id and updated elements. // However, some do not, so provide some program protection. feed.setId( "Feed" + feed.hashCode()); diff --git a/branches/sca-java-1.x/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomServiceBindingProvider.java b/branches/sca-java-1.x/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomServiceBindingProvider.java index 9e08b5b92e..0a5a90204e 100644 --- a/branches/sca-java-1.x/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomServiceBindingProvider.java +++ b/branches/sca-java-1.x/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomServiceBindingProvider.java @@ -71,7 +71,7 @@ class AtomServiceBindingProvider implements ServiceBindingProvider { RuntimeWire wire = componentService.getRuntimeWire(binding); AtomBindingListenerServlet servlet = - new AtomBindingListenerServlet(wire, messageFactory, mediator, binding.getTitle()); + new AtomBindingListenerServlet(wire, messageFactory, mediator, binding.getTitle(), binding.getDescription()); servletMapping = binding.getURI(); if (!servletMapping.endsWith("/")) { diff --git a/branches/sca-java-1.x/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/AtomFeedNonCollectionTest.java b/branches/sca-java-1.x/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/AtomFeedNonCollectionTest.java index 9968bc8352..4f91ff492a 100644 --- a/branches/sca-java-1.x/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/AtomFeedNonCollectionTest.java +++ b/branches/sca-java-1.x/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/AtomFeedNonCollectionTest.java @@ -182,4 +182,21 @@ public class AtomFeedNonCollectionTest { // Validate the title Assert.assertEquals(expectedFeedTitle, feedTitle); } + + /** + * Tests that the description of the feed can be set by the description + * attribute on the binding.atom + */ + @Test + public void testThatFeedDescriptionSet() { + final String expectedFeedDescription = "Feed used for unit testing"; + + // Get the description of the feed + final Collection resourceCollection = testService.getCustomerCollection(); + Assert.assertNotNull(resourceCollection); + final String feedDescription = resourceCollection.getFeed().getSubtitle(); + + // Validate the description + Assert.assertEquals(expectedFeedDescription, feedDescription); + } } diff --git a/branches/sca-java-1.x/modules/binding-atom-abdera/src/test/resources/org/apache/tuscany/sca/binding/atom/ProviderNonCollection.composite b/branches/sca-java-1.x/modules/binding-atom-abdera/src/test/resources/org/apache/tuscany/sca/binding/atom/ProviderNonCollection.composite index f84dcaef5f..ddb660cada 100644 --- a/branches/sca-java-1.x/modules/binding-atom-abdera/src/test/resources/org/apache/tuscany/sca/binding/atom/ProviderNonCollection.composite +++ b/branches/sca-java-1.x/modules/binding-atom-abdera/src/test/resources/org/apache/tuscany/sca/binding/atom/ProviderNonCollection.composite @@ -22,9 +22,10 @@ targetNamespace = "http://customer" name="ProviderNonCollection">
- <service name="customer" promote="CustomerCollection">
- <tuscany:binding.atom uri = "http://localhost:8084/customer" title="Atom binding Non Collection"/>
- </service>
+ <service name="customer" promote="CustomerCollection">
+ <tuscany:binding.atom uri = "http://localhost:8084/customer"
+ title="Atom binding Non Collection" description="Feed used for unit testing"/>
+ </service>
<component name="CustomerCollection">
<implementation.java class="org.apache.tuscany.sca.binding.atom.CustomerNonCollectionImpl"/>
diff --git a/branches/sca-java-1.x/modules/binding-atom/src/main/java/org/apache/tuscany/sca/binding/atom/AtomBinding.java b/branches/sca-java-1.x/modules/binding-atom/src/main/java/org/apache/tuscany/sca/binding/atom/AtomBinding.java index 807d6a8971..f81100087c 100644 --- a/branches/sca-java-1.x/modules/binding-atom/src/main/java/org/apache/tuscany/sca/binding/atom/AtomBinding.java +++ b/branches/sca-java-1.x/modules/binding-atom/src/main/java/org/apache/tuscany/sca/binding/atom/AtomBinding.java @@ -39,5 +39,18 @@ public interface AtomBinding extends Binding { * @param title */ void setTitle(String title); - + + /** + * Returns the description of the Atom collection. + * + * @return The description of the Atom collection + */ + String getDescription(); + + /** + * Sets the description of the Atom collection. + * + * @param description The description of the Atom collection + */ + void setDescription(String description); } diff --git a/branches/sca-java-1.x/modules/binding-atom/src/main/java/org/apache/tuscany/sca/binding/atom/impl/AtomBindingImpl.java b/branches/sca-java-1.x/modules/binding-atom/src/main/java/org/apache/tuscany/sca/binding/atom/impl/AtomBindingImpl.java index 1c68ab5bc1..a7c3997b22 100644 --- a/branches/sca-java-1.x/modules/binding-atom/src/main/java/org/apache/tuscany/sca/binding/atom/impl/AtomBindingImpl.java +++ b/branches/sca-java-1.x/modules/binding-atom/src/main/java/org/apache/tuscany/sca/binding/atom/impl/AtomBindingImpl.java @@ -42,6 +42,7 @@ class AtomBindingImpl implements AtomBinding, PolicySetAttachPoint { private String name; private String uri; private String title; + private String description; private List<Intent> requiredIntents = new ArrayList<Intent>(); private List<PolicySet> policySets = new ArrayList<PolicySet>(); private IntentAttachPointType intentAttachPointType; @@ -71,6 +72,20 @@ class AtomBindingImpl implements AtomBinding, PolicySetAttachPoint { this.title = title; } + /** + * {@inheritDoc} + */ + public String getDescription() { + return description; + } + + /** + * {@inheritDoc} + */ + public void setDescription(String description) { + this.description = description; + } + public boolean isUnresolved() { // The binding is always resolved return false; |