You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shindig.apache.org by aw...@apache.org on 2009/03/04 02:50:34 UTC
svn commit: r749876 - in
/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets:
DefaultGuiceModule.java preload/PreloadModule.java render/RenderModule.java
rewrite/RewriteModule.java
Author: awiner
Date: Wed Mar 4 01:50:33 2009
New Revision: 749876
URL: http://svn.apache.org/viewvc?rev=749876&view=rev
Log:
Factor out DefaultGuiceModule into per-package modules for easier composition
Added:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/preload/PreloadModule.java
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderModule.java
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/RewriteModule.java
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGuiceModule.java
Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGuiceModule.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGuiceModule.java?rev=749876&r1=749875&r2=749876&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGuiceModule.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGuiceModule.java Wed Mar 4 01:50:33 2009
@@ -20,31 +20,18 @@
import org.apache.shindig.gadgets.http.HttpResponse;
import org.apache.shindig.gadgets.parse.ParseModule;
-import org.apache.shindig.gadgets.preload.HttpPreloader;
-import org.apache.shindig.gadgets.preload.PipelinedDataPreloader;
-import org.apache.shindig.gadgets.preload.Preloader;
-import org.apache.shindig.gadgets.render.RenderingContentRewriter;
-import org.apache.shindig.gadgets.render.SanitizedRenderingContentRewriter;
-import org.apache.shindig.gadgets.rewrite.CSSContentRewriter;
-import org.apache.shindig.gadgets.rewrite.ContentRewriter;
-import org.apache.shindig.gadgets.rewrite.HTMLContentRewriter;
-import org.apache.shindig.gadgets.servlet.CajaContentRewriter;
+import org.apache.shindig.gadgets.preload.PreloadModule;
+import org.apache.shindig.gadgets.render.RenderModule;
+import org.apache.shindig.gadgets.rewrite.RewriteModule;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Lists;
-import com.google.inject.AbstractModule;
-import com.google.inject.Inject;
-import com.google.inject.Provider;
-import com.google.inject.TypeLiteral;
-
-import java.util.List;
-import java.util.Set;
import java.util.concurrent.Executor;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
+import com.google.inject.AbstractModule;
+
/**
- * Creates a module to supply all of the Basic* classes
+ * Creates a module to supply all of the core gadget classes.
*/
public class DefaultGuiceModule extends AbstractModule {
@@ -56,70 +43,12 @@
bind(Executor.class).toInstance(service);
bind(ExecutorService.class).toInstance(service);
- this.install(new ParseModule());
-
- bind(new TypeLiteral<List<ContentRewriter>>(){}).toProvider(ContentRewritersProvider.class);
- bind(new TypeLiteral<List<Preloader>>(){}).toProvider(PreloaderProvider.class);
-
- TypeLiteral<Set<String>> setLiteral = new TypeLiteral<Set<String>>(){};
-
- // NOTE: Sanitization only works when using the "full" Neko HTML parser. It is not recommended
- // that you attempt to use sanitization without it.
- bind(setLiteral)
- .annotatedWith(SanitizedRenderingContentRewriter.AllowedTags.class)
- .toInstance(ImmutableSet.of("a", "abbr", "acronym", "area", "b", "bdo", "big", "blockquote",
- "body", "br", "caption", "center", "cite", "code", "col", "colgroup", "dd", "del",
- "dfn", "div", "dl", "dt", "em", "font", "h1", "h2", "h3", "h4", "h5", "h6", "head",
- "hr", "html", "i", "img", "ins", "legend", "li", "map", "ol", "p", "pre", "q", "s",
- "samp", "small", "span", "strike", "strong", "style", "sub", "sup", "table",
- "tbody", "td", "tfoot", "th", "thead", "tr", "tt", "u", "ul"));
-
- bind(setLiteral)
- .annotatedWith(SanitizedRenderingContentRewriter.AllowedAttributes.class)
- .toInstance(ImmutableSet.of("abbr", "align", "alt", "axis", "bgcolor", "border",
- "cellpadding", "cellspacing", "char", "charoff", "cite", "class", "clear", "color",
- "cols", "colspan", "compact", "coords", "datetime", "dir", "face", "headers", "height",
- "href", "hreflang", "hspace", "id", "ismap", "lang", "longdesc", "name", "nohref",
- "noshade", "nowrap", "rel", "rev", "rowspan", "rules", "scope", "shape", "size", "span",
- "src", "start", "style", "summary", "title", "type", "usemap", "valign", "value",
- "vspace", "width"));
+ install(new ParseModule());
+ install(new PreloadModule());
+ install(new RenderModule());
+ install(new RewriteModule());
// We perform static injection on HttpResponse for cache TTLs.
requestStaticInjection(HttpResponse.class);
}
-
- private static class ContentRewritersProvider implements Provider<List<ContentRewriter>> {
- private final List<ContentRewriter> rewriters;
-
- @Inject
- public ContentRewritersProvider(HTMLContentRewriter optimizingRewriter,
- CSSContentRewriter cssRewriter,
- CajaContentRewriter cajaRewriter,
- SanitizedRenderingContentRewriter sanitizedRewriter,
- RenderingContentRewriter renderingRewriter) {
- rewriters = Lists.newArrayList();
- rewriters.add(optimizingRewriter);
- rewriters.add(cssRewriter);
- rewriters.add(cajaRewriter);
- rewriters.add(sanitizedRewriter);
- rewriters.add(renderingRewriter);
- }
-
- public List<ContentRewriter> get() {
- return rewriters;
- }
- }
-
- private static class PreloaderProvider implements Provider<List<Preloader>> {
- private final List<Preloader> preloaders;
-
- @Inject
- public PreloaderProvider(HttpPreloader httpPreloader, PipelinedDataPreloader socialPreloader) {
- preloaders = Lists.newArrayList(httpPreloader, socialPreloader);
- }
-
- public List<Preloader> get() {
- return preloaders;
- }
- }
}
Added: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/preload/PreloadModule.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/preload/PreloadModule.java?rev=749876&view=auto
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/preload/PreloadModule.java (added)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/preload/PreloadModule.java Wed Mar 4 01:50:33 2009
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.shindig.gadgets.preload;
+
+import java.util.List;
+
+import com.google.common.collect.Lists;
+import com.google.inject.AbstractModule;
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+import com.google.inject.TypeLiteral;
+
+/**
+ * Guice bindings for the render package.
+ */
+public class PreloadModule extends AbstractModule {
+ @Override
+ protected void configure() {
+ bind(new TypeLiteral<List<Preloader>>(){}).toProvider(PreloaderProvider.class);
+ }
+
+ private static class PreloaderProvider implements Provider<List<Preloader>> {
+ private final List<Preloader> preloaders;
+
+ @Inject
+ public PreloaderProvider(HttpPreloader httpPreloader, PipelinedDataPreloader socialPreloader) {
+ preloaders = Lists.newArrayList(httpPreloader, socialPreloader);
+ }
+
+ public List<Preloader> get() {
+ return preloaders;
+ }
+ }
+}
Added: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderModule.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderModule.java?rev=749876&view=auto
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderModule.java (added)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderModule.java Wed Mar 4 01:50:33 2009
@@ -0,0 +1,58 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.shindig.gadgets.render;
+
+import java.util.Set;
+
+import com.google.common.collect.ImmutableSet;
+import com.google.inject.AbstractModule;
+import com.google.inject.TypeLiteral;
+
+/**
+ * Guice bindings for the render package.
+ */
+public class RenderModule extends AbstractModule {
+ @Override
+ protected void configure() {
+ TypeLiteral<Set<String>> setLiteral = new TypeLiteral<Set<String>>(){};
+
+ // NOTE: Sanitization only works when using the "full" Neko HTML parser. It is not recommended
+ // that you attempt to use sanitization without it.
+ bind(setLiteral)
+ .annotatedWith(SanitizedRenderingContentRewriter.AllowedTags.class)
+ .toInstance(ImmutableSet.of("a", "abbr", "acronym", "area", "b", "bdo", "big", "blockquote",
+ "body", "br", "caption", "center", "cite", "code", "col", "colgroup", "dd", "del",
+ "dfn", "div", "dl", "dt", "em", "font", "h1", "h2", "h3", "h4", "h5", "h6", "head",
+ "hr", "html", "i", "img", "ins", "legend", "li", "map", "ol", "p", "pre", "q", "s",
+ "samp", "small", "span", "strike", "strong", "style", "sub", "sup", "table",
+ "tbody", "td", "tfoot", "th", "thead", "tr", "tt", "u", "ul"));
+
+ bind(setLiteral)
+ .annotatedWith(SanitizedRenderingContentRewriter.AllowedAttributes.class)
+ .toInstance(ImmutableSet.of("abbr", "align", "alt", "axis", "bgcolor", "border",
+ "cellpadding", "cellspacing", "char", "charoff", "cite", "class", "clear", "color",
+ "cols", "colspan", "compact", "coords", "datetime", "dir", "face", "headers", "height",
+ "href", "hreflang", "hspace", "id", "ismap", "lang", "longdesc", "name", "nohref",
+ "noshade", "nowrap", "rel", "rev", "rowspan", "rules", "scope", "shape", "size", "span",
+ "src", "start", "style", "summary", "title", "type", "usemap", "valign", "value",
+ "vspace", "width"));
+
+ }
+
+}
Added: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/RewriteModule.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/RewriteModule.java?rev=749876&view=auto
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/RewriteModule.java (added)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/RewriteModule.java Wed Mar 4 01:50:33 2009
@@ -0,0 +1,64 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.shindig.gadgets.rewrite;
+
+import org.apache.shindig.gadgets.render.RenderingContentRewriter;
+import org.apache.shindig.gadgets.render.SanitizedRenderingContentRewriter;
+import org.apache.shindig.gadgets.servlet.CajaContentRewriter;
+
+import java.util.List;
+
+import com.google.common.collect.Lists;
+import com.google.inject.AbstractModule;
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+import com.google.inject.TypeLiteral;
+
+/**
+ * Guice bindings for the rewrite package.
+ */
+public class RewriteModule extends AbstractModule {
+
+ @Override
+ protected void configure() {
+ bind(new TypeLiteral<List<ContentRewriter>>(){}).toProvider(ContentRewritersProvider.class);
+ }
+
+ private static class ContentRewritersProvider implements Provider<List<ContentRewriter>> {
+ private final List<ContentRewriter> rewriters;
+
+ @Inject
+ public ContentRewritersProvider(HTMLContentRewriter optimizingRewriter,
+ CSSContentRewriter cssRewriter,
+ CajaContentRewriter cajaRewriter,
+ SanitizedRenderingContentRewriter sanitizedRewriter,
+ RenderingContentRewriter renderingRewriter) {
+ rewriters = Lists.newArrayList();
+ rewriters.add(optimizingRewriter);
+ rewriters.add(cssRewriter);
+ rewriters.add(cajaRewriter);
+ rewriters.add(sanitizedRewriter);
+ rewriters.add(renderingRewriter);
+ }
+
+ public List<ContentRewriter> get() {
+ return rewriters;
+ }
+ }
+}
Re: svn commit: r749876 - in /incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets:
DefaultGuiceModule.java preload/PreloadModule.java render/RenderModule.java
rewrite/RewriteModule.java
Posted by Adam Winer <aw...@gmail.com>.
Sorry, Vincent - I missed your earlier comment. I'll get this set up
before any more commits.
-- Adam
On Wed, Mar 4, 2009 at 3:35 AM, Vincent Siveton
<vi...@gmail.com> wrote:
> Hi,
>
> 2009/3/3 <aw...@apache.org>:
>> Author: awiner
>> Date: Wed Mar 4 01:50:33 2009
>> New Revision: 749876
>>
>> URL: http://svn.apache.org/viewvc?rev=749876&view=rev
>> Log:
>> Factor out DefaultGuiceModule into per-package modules for easier composition
>>
>> Added:
>> incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/preload/PreloadModule.java
>> incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderModule.java
>> incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/RewriteModule.java
>
> Similar to my comment for r749769, could you set your svn client with
> this properties file [1]?
> You could read [2] for more informations.
>
> Cheers,
>
> Vincent
>
> [1] https://svn.apache.org/repos/asf/incubator/shindig/trunk/etc/svn-props
> [2] http://www.apache.org/dev/version-control.html#https-svn-config
>
Re: svn commit: r749876 - in /incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets: DefaultGuiceModule.java preload/PreloadModule.java render/RenderModule.java rewrite/RewriteModule.java
Posted by Paul Lindner <pl...@hi5.com>.
done, thanks
On Mar 4, 2009, at 3:35 AM, Vincent Siveton wrote:
> Hi,
>
> 2009/3/3 <aw...@apache.org>:
>> Author: awiner
>> Date: Wed Mar 4 01:50:33 2009
>> New Revision: 749876
>>
>> URL: http://svn.apache.org/viewvc?rev=749876&view=rev
>> Log:
>> Factor out DefaultGuiceModule into per-package modules for easier
>> composition
>>
>> Added:
>> incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/
>> shindig/gadgets/preload/PreloadModule.java
>> incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/
>> shindig/gadgets/render/RenderModule.java
>> incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/
>> shindig/gadgets/rewrite/RewriteModule.java
>
> Similar to my comment for r749769, could you set your svn client with
> this properties file [1]?
> You could read [2] for more informations.
>
> Cheers,
>
> Vincent
>
> [1] https://svn.apache.org/repos/asf/incubator/shindig/trunk/etc/svn-props
> [2] http://www.apache.org/dev/version-control.html#https-svn-config
Re: svn commit: r749876 - in /incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets:
DefaultGuiceModule.java preload/PreloadModule.java render/RenderModule.java
rewrite/RewriteModule.java
Posted by Vincent Siveton <vi...@gmail.com>.
Hi,
2009/3/3 <aw...@apache.org>:
> Author: awiner
> Date: Wed Mar 4 01:50:33 2009
> New Revision: 749876
>
> URL: http://svn.apache.org/viewvc?rev=749876&view=rev
> Log:
> Factor out DefaultGuiceModule into per-package modules for easier composition
>
> Added:
> incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/preload/PreloadModule.java
> incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderModule.java
> incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/RewriteModule.java
Similar to my comment for r749769, could you set your svn client with
this properties file [1]?
You could read [2] for more informations.
Cheers,
Vincent
[1] https://svn.apache.org/repos/asf/incubator/shindig/trunk/etc/svn-props
[2] http://www.apache.org/dev/version-control.html#https-svn-config