- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我一直致力于集成 Open Social进入服务,并修改 Apache Shindig以适应。有一些非开放社交功能我想使用,到目前为止我已经弄清楚如何添加基本的js功能和服务器端数据方法。不过,我想添加到 Data Pipelining标准,而且我很难找到文档。有人知道如何更改 Apache Shindig 的开放社交模板部分吗?文档非常稀疏。
最佳答案
我没有太多与 Shindig 合作的经验,但我会尽力提供帮助。
Apache Shindig 使用Google Guice作为依赖注入(inject)框架,它使得覆盖shindig服务实现变得简单。使用 google guice,您可以构建自己的模块并将它们注入(inject)到 shindig 中。
可能,您需要扩展org.apache.shindig.gadgets.render.ProxyRenderer
,实现org.netmera.portal.shindig.RequestPipeline
、org.apache.shindig.gadgets.templates.TemplateModule
等等......
我认为,要 Hook 你的服务,需要这样的模块。这里,MyHandler.class是我自己的处理程序:
/**
* Provides social api component injection.
*/
public class MySocialApiModule extends SocialApiGuiceModule {
/*
* (non-Javadoc)
*
* @see
* org.apache.shindig.social.core.config.SocialApiGuiceModule#configure()
*/
@Override
protected void configure(){
this.bind(ParameterFetcher.class).annotatedWith(Names.named("DataServiceServlet")).to(DataServiceServletFetcher.class);
this.bind(Boolean.class).annotatedWith(Names.named(AnonymousAuthenticationHandler.ALLOW_UNAUTHENTICATED)).toInstance(Boolean.TRUE);
this.bind(XStreamConfiguration.class).to(XStream081Configuration.class);
this.bind(BeanConverter.class).annotatedWith(Names.named("shindig.bean.converter.xml")).to(BeanXStreamConverter.class);
this.bind(BeanConverter.class).annotatedWith(Names.named("shindig.bean.converter.json")).to(BeanJsonConverter.class);
this.bind(BeanConverter.class).annotatedWith(Names.named("shindig.bean.converter.atom")).to(BeanXStreamAtomConverter.class);
this.bind(new TypeLiteral<List<AuthenticationHandler>>(){}).toProvider(AuthenticationHandlerProvider.class);
final Multibinder<Object> handlerBinder = Multibinder.newSetBinder(this.binder(), Object.class, Names.named("org.apache.shindig.handlers"));
for (final Class handler : this.getHandlers()) {
handlerBinder.addBinding().toInstance(handler);
}
this.bind(OAuthDataStore.class).to(MyOAuthDataStore.class);
}
/**
* Hook to provide a Set of request handlers. Subclasses may override to add
* or replace additional handlers.
*/
@Override
protected Set<Class<?>> getHandlers(){
return ImmutableSet.<Class<?>> of(ActivityHandler.class, AppDataHandler.class, MyPersonHandler.class, MessageHandler.class, MyHandler.class, ACLHandler.class);
}
}
但是,您应该挖掘 Shindig 和 Guice 来使事情完全符合您的要求。网络上有很多示例解释了如何使用 Guice 扩展和配置 Shindig。
关于java - 修改 Apache Shindig 以接受新的数据管道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3557257/
我一直致力于集成 Open Social进入服务,并修改 Apache Shindig以适应。有一些非开放社交功能我想使用,到目前为止我已经弄清楚如何添加基本的js功能和服务器端数据方法。不过,我想添
本文整理了Java中org.apache.shindig.common.xml.XmlException类的一些代码示例,展示了XmlException类的具体用法。这些代码示例主要来源于Github
本文整理了Java中org.apache.shindig.gadgets.config.XhrwrapperConfigContributor类的一些代码示例,展示了XhrwrapperConfigC
本文整理了Java中org.apache.shindig.gadgets.templates.XmlTemplateLibrary类的一些代码示例,展示了XmlTemplateLibrary类的具体用
本文整理了Java中org.apache.shindig.protocol.conversion.xstream.WriterStack类的一些代码示例,展示了WriterStack类的具体用法。这些
我想根据 Shindig Gadget 内部的内容动态调整其 iframe 的高度。经过一番研究,我发现需要这样的 iframe src有使用以下代码声明获取 iframe 内内容的高度: docum
本文整理了Java中org.apache.shindig.common.xml.XmlException.()方法的一些代码示例,展示了XmlException.()的具体用法。这些代码示例主要来源于
本文整理了Java中org.apache.shindig.common.xml.XmlException.getMessage()方法的一些代码示例,展示了XmlException.getMessag
本文整理了Java中org.apache.shindig.social.core.util.xstream.XStream081Configuration类的一些代码示例,展示了XStream081C
本文整理了Java中org.apache.shindig.gadgets.config.XhrwrapperConfigContributor.addOAuthConfig()方法的一些代码示例,展示
本文整理了Java中org.apache.shindig.gadgets.config.XhrwrapperConfigContributor.()方法的一些代码示例,展示了XhrwrapperCon
本文整理了Java中org.apache.shindig.gadgets.templates.XmlTemplateLibrary.processNamespace()方法的一些代码示例,展示了Xml
本文整理了Java中org.apache.shindig.gadgets.templates.XmlTemplateLibrary.isSafe()方法的一些代码示例,展示了XmlTemplateLi
本文整理了Java中org.apache.shindig.gadgets.templates.XmlTemplateLibrary.processTemplateDef()方法的一些代码示例,展示了X
本文整理了Java中org.apache.shindig.gadgets.templates.XmlTemplateLibrary.createHandler()方法的一些代码示例,展示了XmlTem
本文整理了Java中org.apache.shindig.gadgets.templates.XmlTemplateLibrary.processStyle()方法的一些代码示例,展示了XmlTemp
本文整理了Java中org.apache.shindig.gadgets.templates.XmlTemplateLibrary.()方法的一些代码示例,展示了XmlTemplateLibrary.
本文整理了Java中org.apache.shindig.gadgets.templates.XmlTemplateLibrary.processJavaScript()方法的一些代码示例,展示了Xm
本文整理了Java中org.apache.shindig.gadgets.templates.XmlTemplateLibrary.processTemplate()方法的一些代码示例,展示了XmlT
本文整理了Java中org.apache.shindig.gadgets.templates.XmlTemplateLibrary.parseLibraryDocument()方法的一些代码示例,展示
我是一名优秀的程序员,十分优秀!