Author: ieb
Date: Sun Jul 20 11:00:48 2008
New Revision: 678290

URL: http://svn.apache.org/viewvc?rev=678290&view=rev
Log:
Unbound the DataServiceServlet BeanConverters from their implementations and 
rebound them to the
Interface. Modified the injected setter to use named beans and updated the 
relevant modules to inject the same
implementations as before.

This change will allow alternative implementations of a BeanConverter to be 
injected by Guice, and avoid binding
to implementations. There is no functional change created by this patch. About 
10 lines in total.

I am assuming commits like this, which dont generate functional change  are 
small enough not to require
JIRA discussion, but please tell me if this is not the case ?

Very happy to revert/modify if required, just let me know.

Modified:
    
incubator/shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndModule.java
    
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/SocialApiGuiceModule.java
    
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/dataservice/DataServiceServlet.java

Modified: 
incubator/shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndModule.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndModule.java?rev=678290&r1=678289&r2=678290&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndModule.java
 (original)
+++ 
incubator/shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndModule.java
 Sun Jul 20 11:00:48 2008
@@ -19,6 +19,9 @@
 
 import org.apache.shindig.common.servlet.ParameterFetcher;
 import org.apache.shindig.social.dataservice.DataServiceServletFetcher;
+import org.apache.shindig.social.opensocial.util.BeanConverter;
+import org.apache.shindig.social.opensocial.util.BeanJsonConverter;
+import org.apache.shindig.social.opensocial.util.BeanXmlConverter;
 
 import com.google.inject.AbstractModule;
 import com.google.inject.name.Names;
@@ -33,5 +36,8 @@
         .toInstance("sampledata/canonicaldb.json");
     
bind(ParameterFetcher.class).annotatedWith(Names.named("DataServiceServlet"))
         .to(DataServiceServletFetcher.class);
+    
bind(BeanConverter.class).annotatedWith(Names.named("bean.converter.xml")).to(BeanXmlConverter.class);
+    
bind(BeanConverter.class).annotatedWith(Names.named("bean.converter.json")).to(BeanJsonConverter.class);
+
   }
 }

Modified: 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/SocialApiGuiceModule.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/SocialApiGuiceModule.java?rev=678290&r1=678289&r2=678290&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/SocialApiGuiceModule.java
 (original)
+++ 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/SocialApiGuiceModule.java
 Sun Jul 20 11:00:48 2008
@@ -28,6 +28,9 @@
 import org.apache.shindig.social.oauth.OAuthConsumerStore;
 import org.apache.shindig.social.oauth.OAuthTokenPrincipalMapper;
 import org.apache.shindig.social.oauth.OAuthTokenStore;
+import org.apache.shindig.social.opensocial.util.BeanConverter;
+import org.apache.shindig.social.opensocial.util.BeanJsonConverter;
+import org.apache.shindig.social.opensocial.util.BeanXmlConverter;
 import 
org.apache.shindig.social.samplecontainer.SampleContainerHandlerProvider;
 
 import com.google.inject.AbstractModule;
@@ -65,6 +68,8 @@
         .to(BasicOAuthConsumerStore.class).in(Scopes.SINGLETON);
     bind(OAuthTokenPrincipalMapper.class)
         .to(BasicOAuthTokenPrincipalMapper.class).in(Scopes.SINGLETON);
+    
bind(BeanConverter.class).annotatedWith(Names.named("bean.converter.xml")).to(BeanXmlConverter.class);
+    
bind(BeanConverter.class).annotatedWith(Names.named("bean.converter.json")).to(BeanJsonConverter.class);
   }
 
 }

Modified: 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/dataservice/DataServiceServlet.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/dataservice/DataServiceServlet.java?rev=678290&r1=678289&r2=678290&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/dataservice/DataServiceServlet.java
 (original)
+++ 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/dataservice/DataServiceServlet.java
 Sun Jul 20 11:00:48 2008
@@ -25,8 +25,6 @@
 import org.apache.shindig.social.ResponseItem;
 import org.apache.shindig.social.ResponseError;
 import org.apache.shindig.social.opensocial.util.BeanConverter;
-import org.apache.shindig.social.opensocial.util.BeanJsonConverter;
-import org.apache.shindig.social.opensocial.util.BeanXmlConverter;
 
 import com.google.common.collect.Maps;
 import com.google.inject.Inject;
@@ -65,8 +63,8 @@
 
   private transient SecurityTokenDecoder securityTokenDecoder;
   private transient Map<String, Class<? extends DataRequestHandler>> handlers;
-  private transient BeanJsonConverter jsonConverter;
-  private transient BeanXmlConverter xmlConverter;
+  private transient BeanConverter jsonConverter;
+  private transient BeanConverter xmlConverter;
   private transient ParameterFetcher parameterFetcher;
 
   private static final String JSON_BATCH_ROUTE = "jsonBatch";
@@ -82,7 +80,7 @@
   }
 
   @Inject
-  public void setBeanConverters(BeanJsonConverter jsonConverter, 
BeanXmlConverter xmlConverter) {
+  public void setBeanConverters(@Named("bean.converter.json") BeanConverter 
jsonConverter, @Named("bean.converter.xml") BeanConverter xmlConverter) {
     this.jsonConverter = jsonConverter;
     this.xmlConverter = xmlConverter;
   }


Reply via email to