You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shindig.apache.org by et...@apache.org on 2008/05/10 12:20:56 UTC
svn commit: r655039 - in /incubator/shindig/trunk: ./ java/social-api/
java/social-api/src/main/java/org/apache/shindig/social/
java/social-api/src/main/java/org/apache/shindig/social/abdera/
Author: etnu
Date: Sat May 10 03:20:54 2008
New Revision: 655039
URL: http://svn.apache.org/viewvc?rev=655039&view=rev
Log:
Applying SHINDIG-245, from Vasu Nori.
Modified:
incubator/shindig/trunk/java/social-api/pom.xml
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/RestServerServlet.java
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/abdera/RestServerCollectionAdapter.java
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/abdera/SocialApiProvider.java
incubator/shindig/trunk/pom.xml
Modified: incubator/shindig/trunk/java/social-api/pom.xml
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/pom.xml?rev=655039&r1=655038&r2=655039&view=diff
==============================================================================
--- incubator/shindig/trunk/java/social-api/pom.xml (original)
+++ incubator/shindig/trunk/java/social-api/pom.xml Sat May 10 03:20:54 2008
@@ -80,6 +80,14 @@
<groupId>commons-betwixt</groupId>
</dependency>
<dependency>
+ <groupId>org.apache.abdera</groupId>
+ <artifactId>abdera-extensions-main</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.abdera</groupId>
+ <artifactId>abdera-extensions-html</artifactId>
+ </dependency>
+ <dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty</artifactId>
<scope>test</scope>
Modified: incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/RestServerServlet.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/RestServerServlet.java?rev=655039&r1=655038&r2=655039&view=diff
==============================================================================
--- incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/RestServerServlet.java (original)
+++ incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/RestServerServlet.java Sat May 10 03:20:54 2008
@@ -19,10 +19,14 @@
package org.apache.shindig.social;
import org.apache.shindig.gadgets.http.GuiceServletContextListener;
+import org.apache.shindig.social.abdera.json.JSONWriter;
import com.google.inject.Injector;
import org.apache.abdera.protocol.server.Provider;
import org.apache.abdera.protocol.server.servlet.AbderaServlet;
+import org.apache.abdera.util.AbderaConfiguration;
+import org.apache.abdera.util.Configuration;
+import org.apache.abdera.writer.NamedWriter;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
@@ -30,6 +34,7 @@
import javax.servlet.UnavailableException;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
+import java.util.Map;
import java.util.logging.Logger;
/**
@@ -62,6 +67,33 @@
e.printStackTrace();
return null;
}
+
+ // init Writers
+ // setup my NamedWriter for "json"
+ // TODO why not inject here. because I am not ready to change code
+ // copied from abdera yet. but go to do it..everything gets guiced.
+ JSONWriter jsonWriter = new JSONWriter();
+ Configuration config = getAbdera().getConfiguration();
+ if (config instanceof AbderaConfiguration) {
+ ((AbderaConfiguration)config).addNamedWriter(jsonWriter);
+ } else {
+ logger.severe("Invalid Abdera configuration");
+ return null;
+ }
+
+ // print all the writers available
+ Map<String, NamedWriter> writersMap =
+ ((AbderaConfiguration)config).getNamedWriters();
+ for (NamedWriter writer : writersMap.values()) {
+ StringBuilder sbuf = new StringBuilder();
+ for (String s : writer.getOutputFormats()) {
+ sbuf.append(s + ", ");
+ }
+ logger.info("NamedWriter: " + writer.getClass().getName() +
+ " is for writing '" + writer.getName() + "'" +
+ ". Handles the following formats: " + sbuf.toString());
+
+ }
return provider;
}
Modified: incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/abdera/RestServerCollectionAdapter.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/abdera/RestServerCollectionAdapter.java?rev=655039&r1=655038&r2=655039&view=diff
==============================================================================
--- incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/abdera/RestServerCollectionAdapter.java (original)
+++ incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/abdera/RestServerCollectionAdapter.java Sat May 10 03:20:54 2008
@@ -153,7 +153,7 @@
break;
case JSON:
Object json = beanJsonConverter.convertToJson(obj);
- entry.setContent(json.toString(), "application/json");
+ entry.setContent(json.toString());
break;
}
Modified: incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/abdera/SocialApiProvider.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/abdera/SocialApiProvider.java?rev=655039&r1=655038&r2=655039&view=diff
==============================================================================
--- incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/abdera/SocialApiProvider.java (original)
+++ incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/abdera/SocialApiProvider.java Sat May 10 03:20:54 2008
@@ -19,6 +19,7 @@
import com.google.inject.Inject;
import com.google.inject.Provider;
+import org.apache.shindig.social.abdera.json.JSONFilter;
import org.apache.abdera.protocol.server.TargetType;
import org.apache.abdera.protocol.server.impl.DefaultProvider;
import org.apache.abdera.protocol.server.impl.RouteManager;
@@ -188,6 +189,7 @@
;
+ addFilter(new JSONFilter());
targetBuilder = routeManager;
targetResolver = routeManager;
}
Modified: incubator/shindig/trunk/pom.xml
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/pom.xml?rev=655039&r1=655038&r2=655039&view=diff
==============================================================================
--- incubator/shindig/trunk/pom.xml (original)
+++ incubator/shindig/trunk/pom.xml Sat May 10 03:20:54 2008
@@ -745,6 +745,16 @@
<artifactId>jetty</artifactId>
<version>6.1.9</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.abdera</groupId>
+ <artifactId>abdera-extensions-main</artifactId>
+ <version>0.5.0-incubating-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.abdera</groupId>
+ <artifactId>abdera-extensions-html</artifactId>
+ <version>0.5.0-incubating-SNAPSHOT</version>
+ </dependency>
</dependencies>
</dependencyManagement>
</project>