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/29 02:37:07 UTC
svn commit: r616132 - in /incubator/abdera/java/trunk/spring/src:
main/java/org/apache/abdera/spring/WorkspaceDefinitionParser.java
test/java/org/apache/abdera/spring/ProviderDefinitionParserTest.java
Author: dandiep
Date: Mon Jan 28 17:37:05 2008
New Revision: 616132
URL: http://svn.apache.org/viewvc?rev=616132&view=rev
Log:
Fix Spring workspace parsing so it actually works with multiple collectionadapters.
Modified:
incubator/abdera/java/trunk/spring/src/main/java/org/apache/abdera/spring/WorkspaceDefinitionParser.java
incubator/abdera/java/trunk/spring/src/test/java/org/apache/abdera/spring/ProviderDefinitionParserTest.java
Modified: incubator/abdera/java/trunk/spring/src/main/java/org/apache/abdera/spring/WorkspaceDefinitionParser.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/spring/src/main/java/org/apache/abdera/spring/WorkspaceDefinitionParser.java?rev=616132&r1=616131&r2=616132&view=diff
==============================================================================
--- incubator/abdera/java/trunk/spring/src/main/java/org/apache/abdera/spring/WorkspaceDefinitionParser.java (original)
+++ incubator/abdera/java/trunk/spring/src/main/java/org/apache/abdera/spring/WorkspaceDefinitionParser.java Mon Jan 28 17:37:05 2008
@@ -18,33 +18,40 @@
*/
package org.apache.abdera.spring;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.abdera.protocol.server.Provider;
-import org.apache.abdera.protocol.server.WorkspaceInfo;
-import org.apache.abdera.protocol.server.impl.DefaultProvider;
import org.apache.abdera.protocol.server.impl.SimpleWorkspaceInfo;
-import org.springframework.beans.factory.BeanDefinitionStoreException;
-import org.springframework.beans.factory.support.AbstractBeanDefinition;
+import org.springframework.beans.factory.config.BeanDefinitionHolder;
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
+import org.springframework.beans.factory.support.ManagedList;
import org.springframework.beans.factory.xml.ParserContext;
import org.w3c.dom.Element;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
public class WorkspaceDefinitionParser
extends org.apache.abdera.spring.AbstractSingleBeanDefinitionParser {
@Override
- protected void mapAttribute(BeanDefinitionBuilder bean, Element element, String name, String val) {
- if (name.equals("title")) {
- bean.addPropertyValue(name, val);
+ protected void doParse(Element element, ParserContext ctx, BeanDefinitionBuilder bean) {
+ ManagedList collections = new ManagedList();
+ NodeList nodes = element.getChildNodes();
+ for (int i = 0; i < nodes.getLength(); i++) {
+ Node n = nodes.item(i);
+ if (n.getNodeType() == org.w3c.dom.Node.ELEMENT_NODE) {
+ Element childElement = (Element)n;
+ BeanDefinitionHolder child = ctx.getDelegate().parseBeanDefinitionElement(childElement);
+ collections.add(child);
+ }
+
}
- }
+ bean.addPropertyValue("collections", collections);
- @Override
- protected void mapElement(ParserContext ctx, BeanDefinitionBuilder bean, Element element, String name) {
- bean.addPropertyValue("collections", ctx.getDelegate().parseBeanDefinitionElement(element));
+ NamedNodeMap atts = element.getAttributes();
+ Node title = atts.getNamedItem("title");
+ if (title != null) {
+ bean.addPropertyValue("title", title.getNodeValue());
+ }
}
@Override
Modified: incubator/abdera/java/trunk/spring/src/test/java/org/apache/abdera/spring/ProviderDefinitionParserTest.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/spring/src/test/java/org/apache/abdera/spring/ProviderDefinitionParserTest.java?rev=616132&r1=616131&r2=616132&view=diff
==============================================================================
--- incubator/abdera/java/trunk/spring/src/test/java/org/apache/abdera/spring/ProviderDefinitionParserTest.java (original)
+++ incubator/abdera/java/trunk/spring/src/test/java/org/apache/abdera/spring/ProviderDefinitionParserTest.java Mon Jan 28 17:37:05 2008
@@ -47,6 +47,7 @@
assertEquals(1, workspaces.size());
WorkspaceInfo w = workspaces.iterator().next();
+ assertNotNull(w);
assertEquals("Foo Workspace", w.getTitle(null));
Collection<CollectionInfo> collections = w.getCollections(null);