WEB开发网
开发学院软件开发Java 使用Apache Shindig为客户应用程序加入社区内容 阅读

使用Apache Shindig为客户应用程序加入社区内容

 2010-03-01 00:00:00 来源:WEB开发网   
核心提示: 清单7 禁止覆盖空消息体最后,当POST方式不会返回任何数据,使用Apache Shindig为客户应用程序加入社区内容(10),Shindig实现将空数据转换成一个空的JSON对象,返回的类型为“application/json”, Apache Shindig,提供A

清单7 禁止覆盖空消息体

最后,当POST方式不会返回任何数据,Shindig实现将空数据转换成一个空的JSON对象,返回的类型为“application/json”。这将导致浏览器尝试主动与用户会话。org.apache.shindig.protocol.DataServiceServlet(清单7)解决了这一问题:

org.apache.shindig.protocol.DataServiceServlet (Listing 7) solves this problem: 
 
  servletResponse.setContentType(converter.getContentType()); 
 
  
if
 (responseItem.getErrorCode() >= 200 && responseItem.getErrorCode() < 400) { 
 
   Object response = responseItem.getResponse(); 
 
   // TODO: ugliness resulting from not using RestfulItem
if
 (!(response 
instanceof
 DataCollection) && !(response 
instanceof
 RestfulCollection)) { 
 
     //BL - modified to not return fake responce 
 
    
if
(response 
instanceof
 Map){ 
 
    
if
(((Map)response).isEmpty()){ 
 
     servletResponse.setContentType("text/plain"); 
 
     
return
; 
 
    } 
 
    } 
 
    response = ImmutableMap.of("entry", response); 
 
   }

清单8 禁用空响应

示例应用程序

在这篇文章中,我们描述OpenSococial的实现,用于构造GeoSpatial OpenSocial mashup,允许用户和他的朋友把他们最喜欢的地方放在地图上(图6)

使用Apache Shindig为客户应用程序加入社区内容

图6 地图上用户和他的朋友

它还允许将用户信息和他最爱的地方以及社区网络信息(图7)发送给另一个朋友。

使用Apache Shindig为客户应用程序加入社区内容

图7 社区网络信息

这种简单的实现只是社区网络和地理空间数据之间许多潜在协同效应之一。基于以上所描述的结合两者的方法,能实现许多其他有趣的混搭网站。

结论

开源社区API的扩展使它很难开发出应用程序支持多种现有的社区网络。在本文中提出的一个解决方案,通过第三方提供的标准API“隐藏”前端实现差异来克服这些问题。 Apache Shindig,提供API和“插件”架构,大大简化了整个实现。

上一页  5 6 7 8 9 10 

Tags:使用 Apache Shindig

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接