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>