You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by mh...@apache.org on 2011/05/13 00:48:07 UTC
svn commit: r1102497 - in /shindig/trunk/java/gadgets/src:
main/java/org/apache/shindig/gadgets/js/
test/java/org/apache/shindig/gadgets/js/
test/java/org/apache/shindig/gadgets/servlet/
Author: mhermanto
Date: Thu May 12 22:48:06 2011
New Revision: 1102497
URL: http://svn.apache.org/viewvc?rev=1102497&view=rev
Log:
Force compilation and anon-func processor to run.
http://codereview.appspot.com/4517059/
Modified:
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/js/DefaultJsProcessorRegistry.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/js/JsServingPipelineModule.java
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/js/DefaultJsProcessorRegistryTest.java
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/JsServletTest.java
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/js/DefaultJsProcessorRegistry.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/js/DefaultJsProcessorRegistry.java?rev=1102497&r1=1102496&r2=1102497&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/js/DefaultJsProcessorRegistry.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/js/DefaultJsProcessorRegistry.java Thu May 12 22:48:06 2011
@@ -19,6 +19,7 @@
package org.apache.shindig.gadgets.js;
import com.google.inject.Inject;
+import com.google.inject.name.Named;
import java.util.List;
@@ -28,18 +29,29 @@ import java.util.List;
*/
public class DefaultJsProcessorRegistry implements JsProcessorRegistry {
- private final List<JsProcessor> processors;
+ private final List<JsProcessor> optionalProcessors;
+ private final List<JsProcessor> requiredProcessors;
@Inject
- public DefaultJsProcessorRegistry(List<JsProcessor> processors) {
- this.processors = processors;
+ public DefaultJsProcessorRegistry(
+ @Named("shindig.js.optional-processors") List<JsProcessor> optionalProcessors,
+ @Named("shindig.js.required-processors") List<JsProcessor> requiredProcessors) {
+ this.optionalProcessors = optionalProcessors;
+ this.requiredProcessors = requiredProcessors;
}
+ @Override
public void process(JsRequest request, JsResponseBuilder response) throws JsException {
- for (JsProcessor processor : processors) {
+ for (JsProcessor processor : optionalProcessors) {
if (!processor.process(request, response)) {
break;
}
}
+ // This pipeline sequentially executes JsProcessor, and can stop on any, bypassing
+ // the actual compilation process. This is put here so generated JS will still be
+ // compiled.
+ for (JsProcessor processor : requiredProcessors) {
+ processor.process(request, response);
+ }
}
}
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/js/JsServingPipelineModule.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/js/JsServingPipelineModule.java?rev=1102497&r1=1102496&r2=1102497&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/js/JsServingPipelineModule.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/js/JsServingPipelineModule.java Thu May 12 22:48:06 2011
@@ -22,6 +22,7 @@ import com.google.common.collect.Immutab
import com.google.inject.AbstractModule;
import com.google.inject.Inject;
import com.google.inject.Provides;
+import com.google.inject.name.Named;
import java.util.List;
@@ -37,6 +38,7 @@ public class JsServingPipelineModule ext
@Provides
@Inject
+ @Named("shindig.js.optional-processors")
public List<JsProcessor> provideProcessors(
AddJslInfoVariableProcessor addJslInfoVariableProcessor,
JsLoadProcessor jsLoaderGeneratorProcessor,
@@ -48,9 +50,7 @@ public class JsServingPipelineModule ext
ConfigInjectionProcessor configInjectionProcessor,
AddJslLoadedVariableProcessor addJslLoadedVariableProcessor,
AddOnloadFunctionProcessor addOnloadFunctionProcessor,
- AddJslCallbackProcessor addJslCallbackProcessor,
- CompilationProcessor compilationProcessor,
- AnonFuncWrappingProcessor anonFuncProcessor) {
+ AddJslCallbackProcessor addJslCallbackProcessor) {
return ImmutableList.of(
addJslInfoVariableProcessor,
jsLoaderGeneratorProcessor,
@@ -62,9 +62,17 @@ public class JsServingPipelineModule ext
configInjectionProcessor,
addJslLoadedVariableProcessor,
addOnloadFunctionProcessor,
- addJslCallbackProcessor,
+ addJslCallbackProcessor);
+ }
+
+ @Provides
+ @Inject
+ @Named("shindig.js.required-processors")
+ public List<JsProcessor> provideProcessors(
+ CompilationProcessor compilationProcessor,
+ AnonFuncWrappingProcessor anonFuncProcessor) {
+ return ImmutableList.of(
compilationProcessor,
anonFuncProcessor);
}
-
}
Modified: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/js/DefaultJsProcessorRegistryTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/js/DefaultJsProcessorRegistryTest.java?rev=1102497&r1=1102496&r2=1102497&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/js/DefaultJsProcessorRegistryTest.java (original)
+++ shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/js/DefaultJsProcessorRegistryTest.java Thu May 12 22:48:06 2011
@@ -18,7 +18,7 @@
package org.apache.shindig.gadgets.js;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
import com.google.common.collect.ImmutableList;
@@ -27,7 +27,6 @@ import org.easymock.IMocksControl;
import org.junit.Before;
import org.junit.Test;
-
/**
* Tests for {@link DefaultJsProcessorRegistry}.
*/
@@ -40,6 +39,7 @@ public class DefaultJsProcessorRegistryT
private JsResponseBuilder response;
private JsProcessor processor1;
private JsProcessor processor2;
+ private JsProcessor processor3;
private DefaultJsProcessorRegistry registry;
@Before
@@ -49,7 +49,10 @@ public class DefaultJsProcessorRegistryT
response = new JsResponseBuilder();
processor1 = control.createMock(JsProcessor.class);
processor2 = control.createMock(JsProcessor.class);
- registry = new DefaultJsProcessorRegistry(ImmutableList.of(processor1, processor2));
+ processor3 = control.createMock(JsProcessor.class);
+ registry = new DefaultJsProcessorRegistry(
+ ImmutableList.of(processor1, processor2),
+ ImmutableList.of(processor3));
}
@Test
@@ -60,7 +63,9 @@ public class DefaultJsProcessorRegistryT
return true;
}
};
- registry = new DefaultJsProcessorRegistry(ImmutableList.of(processor));
+ registry = new DefaultJsProcessorRegistry(
+ ImmutableList.of(processor),
+ ImmutableList.<JsProcessor>of());
control.replay();
registry.process(request, response);
assertEquals(JS_CODE, response.build().toJsString());
@@ -71,6 +76,7 @@ public class DefaultJsProcessorRegistryT
public void testTwoProcessorsAreRunOneAfterAnother() throws Exception {
EasyMock.expect(processor1.process(request, response)).andReturn(true);
EasyMock.expect(processor2.process(request, response)).andReturn(true);
+ EasyMock.expect(processor3.process(request, response)).andReturn(true);
control.replay();
registry.process(request, response);
control.verify();
@@ -79,6 +85,7 @@ public class DefaultJsProcessorRegistryT
@Test
public void testProcessorStopsProcessingWhenItReturnsFalse() throws Exception {
EasyMock.expect(processor1.process(request, response)).andReturn(false);
+ EasyMock.expect(processor3.process(request, response)).andReturn(true);
control.replay();
registry.process(request, response);
control.verify();
Modified: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/JsServletTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/JsServletTest.java?rev=1102497&r1=1102496&r2=1102497&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/JsServletTest.java (original)
+++ shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/JsServletTest.java Thu May 12 22:48:06 2011
@@ -79,7 +79,8 @@ public class JsServletTest extends Servl
JsProcessorRegistry jsProcessorRegistry =
new DefaultJsProcessorRegistry(
ImmutableList.<JsProcessor>of(jsLoadProcessor, new IfModifiedSinceProcessor(),
- getJsProcessorMock, new AddOnloadFunctionProcessor()));
+ getJsProcessorMock, new AddOnloadFunctionProcessor()),
+ ImmutableList.<JsProcessor>of());
jsServingPipeline = new DefaultJsServingPipeline(jsProcessorRegistry);
servlet.setJsServingPipeline(jsServingPipeline);