Author: awiner
Date: Wed Mar 11 21:45:24 2009
New Revision: 752639

URL: http://svn.apache.org/viewvc?rev=752639&view=rev
Log:
Eliminate Expressions.sharedInstance(), and use injection everywhere (or just 
new instances in tests).
This will enable customization of the Expressions instance, in particular for 
experimenting with EL functions

Modified:
    
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/expressions/Expressions.java
    
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/preload/PipelinedDataPreloader.java
    
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/PipelineDataContentRewriter.java
    
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/PipelinedData.java
    
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/preload/PipelinedDataPreloaderTest.java
    
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/PipelineDataContentRewriterTest.java
    
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/TemplateRewriterTest.java
    
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/spec/PipelinedDataTest.java
    
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/spec/ViewTest.java

Modified: 
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/expressions/Expressions.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/expressions/Expressions.java?rev=752639&r1=752638&r2=752639&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/expressions/Expressions.java
 (original)
+++ 
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/expressions/Expressions.java
 Wed Mar 11 21:45:24 2009
@@ -48,21 +48,10 @@
  */
 @Singleton
 public class Expressions {
-  private static final Expressions sharedInstance = new Expressions();
-  
   private final ExpressionFactory factory;
   private final ELContext parseContext;
   private final ELResolver defaultELResolver;
 
-  /**
-   * Return a shared instance.
-   * TODO: inject Expressions into the gadget spec code and get rid of
-   * this singleton.
-   */
-  public static Expressions sharedInstance() {
-    return sharedInstance;
-  }
-  
   @Inject
   public Expressions() {
     factory = newExpressionFactory();

Modified: 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/preload/PipelinedDataPreloader.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/preload/PipelinedDataPreloader.java?rev=752639&r1=752638&r2=752639&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/preload/PipelinedDataPreloader.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/preload/PipelinedDataPreloader.java
 Wed Mar 11 21:45:24 2009
@@ -21,6 +21,7 @@
 import org.apache.shindig.common.uri.Uri;
 import org.apache.shindig.common.uri.UriBuilder;
 import org.apache.shindig.config.ContainerConfig;
+import org.apache.shindig.expressions.Expressions;
 import org.apache.shindig.gadgets.AuthType;
 import org.apache.shindig.gadgets.GadgetContext;
 import org.apache.shindig.gadgets.GadgetELResolver;
@@ -58,11 +59,14 @@
   private final ContainerConfig config;
 
   private static final Charset UTF8 = Charset.forName("UTF-8");
+  private final Expressions expressions;
 
   @Inject
-  public PipelinedDataPreloader(RequestPipeline requestPipeline, 
ContainerConfig config) {
+  public PipelinedDataPreloader(RequestPipeline requestPipeline, 
ContainerConfig config,
+      Expressions expressions) {
     this.requestPipeline = requestPipeline;
     this.config = config;
+    this.expressions = expressions;
   }
 
   /** Create preloads from a gadget view */
@@ -74,7 +78,8 @@
         && phase == PreloaderService.PreloadPhase.PROXY_FETCH) {
 
       ELResolver resolver = new GadgetELResolver(context);
-      PipelinedData.Batch batch = view.getPipelinedData().getBatch(resolver);
+      PipelinedData.Batch batch = view.getPipelinedData().getBatch(expressions,
+          resolver);
       if (batch != null) {
         return createPreloadTasks(context, batch);
       }

Modified: 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/PipelineDataContentRewriter.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/PipelineDataContentRewriter.java?rev=752639&r1=752638&r2=752639&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/PipelineDataContentRewriter.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/PipelineDataContentRewriter.java
 Wed Mar 11 21:45:24 2009
@@ -20,6 +20,7 @@
 
 import org.apache.shindig.common.JsonSerializer;
 import org.apache.shindig.common.xml.DomUtil;
+import org.apache.shindig.expressions.Expressions;
 import org.apache.shindig.expressions.RootELResolver;
 import org.apache.shindig.gadgets.Gadget;
 import org.apache.shindig.gadgets.GadgetELResolver;
@@ -66,12 +67,15 @@
   
   private final PipelinedDataPreloader preloader;
   private final PreloaderService preloaderService;
+  private final Expressions expressions;
 
   @Inject
   public PipelineDataContentRewriter(PipelinedDataPreloader preloader,
-      PreloaderService preloaderService) {
+      PreloaderService preloaderService,
+      Expressions expressions) {
     this.preloader = preloader;
     this.preloaderService = preloaderService;
+    this.expressions = expressions;
   }
   
   public RewriterResults rewrite(HttpRequest request, HttpResponse original, 
MutableContent content) {
@@ -110,7 +114,7 @@
     for (Node n = nodeIterator.nextNode(); n != null ; n = 
nodeIterator.nextNode()) {
       try {
         PipelinedData pipelineData = new PipelinedData((Element) n, 
gadget.getSpec().getUrl());
-        PipelinedData.Batch batch = pipelineData.getBatch(rootObjects);
+        PipelinedData.Batch batch = pipelineData.getBatch(expressions, 
rootObjects);
         if (batch == null) {
           // An empty pipeline element - just remove it
           n.getParentNode().removeChild(n);

Modified: 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/PipelinedData.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/PipelinedData.java?rev=752639&r1=752638&r2=752639&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/PipelinedData.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/PipelinedData.java
 Wed Mar 11 21:45:24 2009
@@ -153,20 +153,21 @@
    * @see GadgetELResolver
    * @return a batch, or null if no batch could be created
    */
-  public Batch getBatch(ELResolver rootObjects) {
-    return getBatch(rootObjects, socialPreloads, httpPreloads);
+  public Batch getBatch(Expressions expressions, ELResolver rootObjects) {
+    return getBatch(expressions, rootObjects, socialPreloads, httpPreloads);
   }
 
   /**
    * Create a Batch of preload requests
+   * @param expressions expressions instance for parsing expressions
    * @param rootObjects an ELResolver that can evaluate currently available
    *     root objects.
    * @param currentSocialPreloads the remaining social preloads
    * @param currentHttpPreloads the remaining http preloads
    */
-  private Batch getBatch(ELResolver rootObjects, Map<String, SocialData> 
currentSocialPreloads,
+  private Batch getBatch(Expressions expressions, ELResolver rootObjects,
+      Map<String, SocialData> currentSocialPreloads,
       Map<String, HttpData> currentHttpPreloads) {
-    Expressions expressions = Expressions.sharedInstance();
     ELContext elContext = expressions.newELContext(rootObjects);
 
     // Evaluate all existing social preloads
@@ -176,7 +177,7 @@
     if (currentSocialPreloads != null) {
       for (Map.Entry<String, SocialData> preload : 
currentSocialPreloads.entrySet()) {
         try {
-          Object value = preload.getValue().toJson(elContext);
+          Object value = preload.getValue().toJson(expressions, elContext);
           evaluatedSocialPreloads.put(preload.getKey(), value);
         } catch (PropertyNotFoundException pnfe) {
           // Missing top-level property: put it in the pending set
@@ -197,7 +198,7 @@
     if (currentHttpPreloads != null) {
       for (Map.Entry<String, HttpData> preload : 
currentHttpPreloads.entrySet()) {
         try {
-          RequestAuthenticationInfo value = 
preload.getValue().evaluate(elContext);
+          RequestAuthenticationInfo value = 
preload.getValue().evaluate(expressions, elContext);
           evaluatedHttpPreloads.put(preload.getKey(), value);
         } catch (PropertyNotFoundException pnfe) {
           if (pendingHttpPreloads == null) {
@@ -220,21 +221,24 @@
       return null;
     }
 
-    return new BatchImpl(evaluatedSocialPreloads, evaluatedHttpPreloads,
+    return new BatchImpl(expressions, evaluatedSocialPreloads, 
evaluatedHttpPreloads,
         pendingSocialPreloads, pendingHttpPreloads);
   }
 
   /** Batch implementation */
   class BatchImpl implements Batch {
 
+    private final Expressions expressions;
     private final Map<String, Object> evaluatedSocialPreloads;
     private final Map<String, RequestAuthenticationInfo> evaluatedHttpPreloads;
     private final Map<String, SocialData> pendingSocialPreloads;
     private final Map<String, HttpData> pendingHttpPreloads;
 
-    public BatchImpl(Map<String, Object> evaluatedSocialPreloads,
+    public BatchImpl(Expressions expressions,
+        Map<String, Object> evaluatedSocialPreloads,
         Map<String, RequestAuthenticationInfo> evaluatedHttpPreloads,
         Map<String, SocialData> pendingSocialPreloads, Map<String, HttpData> 
pendingHttpPreloads) {
+      this.expressions = expressions;
       this.evaluatedSocialPreloads = evaluatedSocialPreloads;
       this.evaluatedHttpPreloads = evaluatedHttpPreloads;
       this.pendingSocialPreloads = pendingSocialPreloads;
@@ -250,7 +254,7 @@
     }
 
     public Batch getNextBatch(ELResolver rootObjects) {
-      return getBatch(rootObjects, pendingSocialPreloads, pendingHttpPreloads);
+      return getBatch(expressions, rootObjects, pendingSocialPreloads, 
pendingHttpPreloads);
     }
   }
 
@@ -424,7 +428,7 @@
     private final String href;
     private final boolean signOwner;
     private final boolean signViewer;
-    private final Map<String, ValueExpression> attributes;
+    private final Map<String, String> attributes;
 
     private static final Set<String> KNOWN_ATTRIBUTES =
           ImmutableSet.of("authz", "href", "sign_owner", "sign_viewer");
@@ -445,19 +449,16 @@
       this.signOwner = booleanValue(element, "sign_owner", true);
       this.signViewer = booleanValue(element, "sign_viewer", true);
 
-      Expressions expressions = Expressions.sharedInstance();
-
       // TODO: many of these attributes should not be EL enabled
-      Map<String, ValueExpression> attributes = Maps.newHashMap();
+      ImmutableMap.Builder<String, String> attributes = ImmutableMap.builder();
       for (int i = 0; i < element.getAttributes().getLength(); i++) {
         Node attr = element.getAttributes().item(i);
         if (!KNOWN_ATTRIBUTES.contains(attr.getNodeName())) {
-          attributes.put(attr.getNodeName(),
-              expressions.parse(attr.getNodeValue(), String.class));
+          attributes.put(attr.getNodeName(), attr.getNodeValue());
         }
       }
 
-      this.attributes = ImmutableMap.copyOf(attributes);
+      this.attributes = attributes.build();
     }
 
     private HttpData(HttpData data, Substitutions substituter) {
@@ -478,15 +479,17 @@
      * Evaluate expressions and return a RequestAuthenticationInfo.
      * @throws ELException if expression evaluation fails.
      */
-    public RequestAuthenticationInfo evaluate(ELContext context) throws 
ELException {
-      Expressions expressions = Expressions.sharedInstance();
+    public RequestAuthenticationInfo evaluate(Expressions expressions, 
ELContext context)
+        throws ELException {
       String hrefString = String.valueOf(expressions.parse(href, String.class)
           .getValue(context));
       final Uri evaluatedHref = base.resolve(Uri.parse(hrefString));
 
       final Map<String, String> evaluatedAttributes = Maps.newHashMap();
-      for (Map.Entry<String, ValueExpression> attr : attributes.entrySet()) {
-        evaluatedAttributes.put(attr.getKey(), (String) 
attr.getValue().getValue(context));
+      for (Map.Entry<String, String> attr : attributes.entrySet()) {
+        ValueExpression expression = expressions.parse(attr.getValue(), 
String.class);
+        evaluatedAttributes.put(attr.getKey(),
+            String.valueOf(expression.getValue(context)));
       }
 
       return new RequestAuthenticationInfo() {
@@ -537,12 +540,11 @@
     }
 
     public void addProperty(String name, String value, Class<?> type) throws 
ELException {
-      ValueExpression expression = Expressions.sharedInstance().parse(value, 
type);
-      properties.add(new Property(name, expression));
+      properties.add(new Property(name, value, type));
     }
 
     /** Create the JSON request form for the social data */
-    public JSONObject toJson(ELContext elContext) throws ELException {
+    public JSONObject toJson(Expressions expressions, ELContext elContext) 
throws ELException {
       JSONObject object = new JSONObject();
       try {
         object.put("method", method);
@@ -550,7 +552,7 @@
 
         JSONObject params = new JSONObject();
         for (Property property : properties) {
-          property.set(elContext, params);
+          property.set(expressions, elContext, params);
         }
         object.put("params", params);
       } catch (JSONException je) {
@@ -562,15 +564,19 @@
 
     /** Single property for an expression */
     private static class Property {
-      private final ValueExpression expression;
       private final String name;
+      private final String value;
+      private final Class<?> type;
 
-      public Property(String name, ValueExpression expression) {
+      public Property(String name, String value, Class<?> type) {
         this.name = name;
-        this.expression = expression;
+        this.value = value;
+        this.type = type;
       }
 
-      public void set(ELContext elContext, JSONObject object) throws 
ELException {
+      public void set(Expressions expressions, ELContext elContext, JSONObject 
object)
+          throws ELException {
+        ValueExpression expression = expressions.parse(value, type);
         Object value = expression.getValue(elContext);
         try {
           if (value != null) {

Modified: 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/preload/PipelinedDataPreloaderTest.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/preload/PipelinedDataPreloaderTest.java?rev=752639&r1=752638&r2=752639&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/preload/PipelinedDataPreloaderTest.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/preload/PipelinedDataPreloaderTest.java
 Wed Mar 11 21:45:24 2009
@@ -22,6 +22,7 @@
 import static org.junit.Assert.assertTrue;
 
 import org.apache.shindig.config.ContainerConfig;
+import org.apache.shindig.expressions.Expressions;
 import org.apache.shindig.gadgets.http.HttpRequest;
 import org.apache.shindig.gadgets.http.HttpResponse;
 import org.apache.shindig.gadgets.http.HttpResponseBuilder;
@@ -45,6 +46,7 @@
  */
 public class PipelinedDataPreloaderTest extends PreloaderTestFixture {
   private ContainerConfig containerConfig;
+  private Expressions expressions = new Expressions();
 
   private static final String XML = "<Module xmlns:os=\"" + 
PipelinedData.OPENSOCIAL_NAMESPACE
       + "\">" + "<ModulePrefs title=\"Title\"/>"
@@ -78,6 +80,7 @@
     + "  <os:HttpRequest key=\"p\" href=\"" + HTTP_REQUEST_URL + "\" "
     + "                  method=\"GET\" params=\"" + XML_PARAMS + "\"/>"
     + "</Content></Module>";
+  
   @Before
   public void createContainerConfig() {
     containerConfig = EasyMock.createMock(ContainerConfig.class);
@@ -92,7 +95,9 @@
 
     String socialResult = "[{id:'p', data:1}, {id:'a', data:2}]";
     RecordingRequestPipeline pipeline = new 
RecordingRequestPipeline(socialResult);
-    PipelinedDataPreloader preloader = new PipelinedDataPreloader(pipeline, 
containerConfig);
+    PipelinedDataPreloader preloader = new PipelinedDataPreloader(pipeline, 
containerConfig,
+        expressions);
+    
     view = "profile";
     contextParams.put("st", "token");
 
@@ -127,7 +132,8 @@
 
     String httpResult = "{foo: 'bar'}";
     RecordingRequestPipeline pipeline = new 
RecordingRequestPipeline(httpResult);
-    PipelinedDataPreloader preloader = new PipelinedDataPreloader(pipeline, 
containerConfig);
+    PipelinedDataPreloader preloader = new PipelinedDataPreloader(pipeline, 
containerConfig,
+        expressions);
     view = "profile";
 
     Collection<Callable<PreloadedData>> tasks = 
preloader.createPreloadTasks(context, spec,
@@ -157,7 +163,8 @@
 
     String httpResult = "{foo: 'bar'}";
     RecordingRequestPipeline pipeline = new 
RecordingRequestPipeline(httpResult);
-    PipelinedDataPreloader preloader = new PipelinedDataPreloader(pipeline, 
containerConfig);
+    PipelinedDataPreloader preloader = new PipelinedDataPreloader(pipeline, 
containerConfig,
+        expressions);
     view = "profile";
 
     Collection<Callable<PreloadedData>> tasks = 
preloader.createPreloadTasks(context, spec,
@@ -179,7 +186,8 @@
 
     String httpResult = "{foo: 'bar'}";
     RecordingRequestPipeline pipeline = new 
RecordingRequestPipeline(httpResult);
-    PipelinedDataPreloader preloader = new PipelinedDataPreloader(pipeline, 
containerConfig);
+    PipelinedDataPreloader preloader = new PipelinedDataPreloader(pipeline, 
containerConfig,
+        expressions);
     view = "profile";
 
     Collection<Callable<PreloadedData>> tasks = 
preloader.createPreloadTasks(context, spec,
@@ -201,7 +209,8 @@
 
     String socialResult = "[{id:'p', data:1}, {id:'a', data:2}]";
     RecordingRequestPipeline pipeline = new 
RecordingRequestPipeline(socialResult);
-    PipelinedDataPreloader preloader = new PipelinedDataPreloader(pipeline, 
containerConfig);
+    PipelinedDataPreloader preloader = new PipelinedDataPreloader(pipeline, 
containerConfig,
+        expressions);
     view = "canvas";
     contextParams.put("st", "token");
 
@@ -216,7 +225,8 @@
 
     String socialResult = "[{id:'p', data:1}, {id:'a', data:2}]";
     RecordingRequestPipeline pipeline = new 
RecordingRequestPipeline(socialResult);
-    PipelinedDataPreloader preloader = new PipelinedDataPreloader(pipeline, 
containerConfig);
+    PipelinedDataPreloader preloader = new PipelinedDataPreloader(pipeline, 
containerConfig,
+        expressions);
     view = "profile";
     contextParams.put("st", "token");
 

Modified: 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/PipelineDataContentRewriterTest.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/PipelineDataContentRewriterTest.java?rev=752639&r1=752638&r2=752639&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/PipelineDataContentRewriterTest.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/PipelineDataContentRewriterTest.java
 Wed Mar 11 21:45:24 2009
@@ -29,6 +29,7 @@
 import static org.junit.Assert.assertTrue;
 
 import org.apache.shindig.common.uri.Uri;
+import org.apache.shindig.expressions.Expressions;
 import org.apache.shindig.gadgets.Gadget;
 import org.apache.shindig.gadgets.GadgetContext;
 import org.apache.shindig.gadgets.parse.ParseModule;
@@ -101,9 +102,9 @@
   public void setUp() throws Exception {
     control = EasyMock.createStrictControl();
     preloader = control.createMock(PipelinedDataPreloader.class);
-//    preloaderService = control.createMock(PreloaderService.class);
     preloaderService = new 
ConcurrentPreloaderService(Executors.newSingleThreadExecutor(), null);
-    rewriter = new PipelineDataContentRewriter(preloader, preloaderService);
+    rewriter = new PipelineDataContentRewriter(preloader, preloaderService,
+        new Expressions());
   }
 
   private void setupGadget(String gadgetXml) throws SpecParserException {

Modified: 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/TemplateRewriterTest.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/TemplateRewriterTest.java?rev=752639&r1=752638&r2=752639&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/TemplateRewriterTest.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/TemplateRewriterTest.java
 Wed Mar 11 21:45:24 2009
@@ -80,7 +80,7 @@
         new Provider<TemplateProcessor>() {
           public TemplateProcessor get() {
             Set<TagHandler> handlers = ImmutableSet.of();
-            return new DefaultTemplateProcessor(Expressions.sharedInstance(), 
+            return new DefaultTemplateProcessor(new Expressions(), 
                 new TagRegistry(handlers));
           }
         },

Modified: 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/spec/PipelinedDataTest.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/spec/PipelinedDataTest.java?rev=752639&r1=752638&r2=752639&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/spec/PipelinedDataTest.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/spec/PipelinedDataTest.java
 Wed Mar 11 21:45:24 2009
@@ -26,6 +26,7 @@
 
 import org.apache.shindig.common.uri.Uri;
 import org.apache.shindig.common.xml.XmlUtil;
+import org.apache.shindig.expressions.Expressions;
 import org.apache.shindig.expressions.RootELResolver;
 import org.apache.shindig.gadgets.AuthType;
 
@@ -47,12 +48,13 @@
   private static final Uri GADGET_URI = Uri.parse("http://example.org/";);
   private ELResolver elResolver;
   private Map<String, Object> elValues;
+  private Expressions expressions;
 
   @Before
   public void setUp() {
     elValues = Maps.newHashMap();
     elResolver = new RootELResolver(elValues);
-    
+    expressions = new Expressions();
   }
   
   @Test
@@ -81,7 +83,7 @@
         + "fields: ['name','id']"
         + "}}");
 
-    PipelinedData.Batch batch = socialData.getBatch(elResolver);
+    PipelinedData.Batch batch = socialData.getBatch(expressions, elResolver);
     assertTrue(batch.getHttpPreloads().isEmpty());
     assertEquals(1, batch.getSocialPreloads().size());
     assertEquals(expected.toString(), 
batch.getSocialPreloads().get("key").toString());
@@ -110,7 +112,7 @@
         + "fields: ['name','id']"
         + "}}");
 
-    PipelinedData.Batch batch = socialData.getBatch(elResolver);
+    PipelinedData.Batch batch = socialData.getBatch(expressions, elResolver);
     assertTrue(batch.getHttpPreloads().isEmpty());
     assertEquals(1, batch.getSocialPreloads().size());
     assertEquals(expected.toString(), 
batch.getSocialPreloads().get("key").toString());
@@ -143,7 +145,7 @@
         + "fields: ['name','id']"
         + "}}");
 
-    PipelinedData.Batch batch = socialData.getBatch(elResolver);
+    PipelinedData.Batch batch = socialData.getBatch(expressions, elResolver);
     assertTrue(batch.getHttpPreloads().isEmpty());
     assertEquals(1, batch.getSocialPreloads().size());
     assertEquals(expected.toString(), 
batch.getSocialPreloads().get("key").toString());
@@ -165,7 +167,7 @@
         + "fields: ['name','id']"
         + "}}");
 
-    PipelinedData.Batch batch = socialData.getBatch(elResolver);
+    PipelinedData.Batch batch = socialData.getBatch(expressions, elResolver);
     assertTrue(batch.getHttpPreloads().isEmpty());
     assertEquals(1, batch.getSocialPreloads().size());
     assertEquals(expected.toString(), 
batch.getSocialPreloads().get("key").toString());
@@ -187,7 +189,7 @@
         + "fields: ['name','id']"
         + "}}");
 
-    PipelinedData.Batch batch = socialData.getBatch(elResolver);
+    PipelinedData.Batch batch = socialData.getBatch(expressions, elResolver);
     assertTrue(batch.getHttpPreloads().isEmpty());
     assertEquals(1, batch.getSocialPreloads().size());
     assertEquals(expected.toString(), 
batch.getSocialPreloads().get("key").toString());
@@ -210,7 +212,7 @@
         + "fields: ['foo','bar']"
         + "}}");
 
-    PipelinedData.Batch batch = socialData.getBatch(elResolver);
+    PipelinedData.Batch batch = socialData.getBatch(expressions, elResolver);
     assertTrue(batch.getHttpPreloads().isEmpty());
     assertEquals(1, batch.getSocialPreloads().size());
     assertEquals(expected.toString(), 
batch.getSocialPreloads().get("key").toString());
@@ -233,7 +235,7 @@
         + "fields: ['foo','bar']"
         + "}}");
 
-    PipelinedData.Batch batch = socialData.getBatch(elResolver);
+    PipelinedData.Batch batch = socialData.getBatch(expressions, elResolver);
     assertTrue(batch.getHttpPreloads().isEmpty());
     assertEquals(1, batch.getSocialPreloads().size());
     assertEquals(expected.toString(), 
batch.getSocialPreloads().get("key").toString());
@@ -250,7 +252,7 @@
     PipelinedData socialData = new PipelinedData(XmlUtil.parse(xml), null);
     assertFalse(socialData.needsOwner());
 
-    PipelinedData.Batch batch = socialData.getBatch(elResolver);
+    PipelinedData.Batch batch = socialData.getBatch(expressions, elResolver);
     assertNull(batch);
   }
 
@@ -271,7 +273,7 @@
 
     PipelinedData socialData = new PipelinedData(XmlUtil.parse(xml), 
GADGET_URI);
     
-    PipelinedData.Batch batch = socialData.getBatch(elResolver);
+    PipelinedData.Batch batch = socialData.getBatch(expressions, elResolver);
     assertTrue(batch.getSocialPreloads().isEmpty());
     assertTrue(batch.getHttpPreloads().isEmpty());
 
@@ -297,7 +299,7 @@
         + "/></Content>";
 
     PipelinedData pipelinedData = new PipelinedData(XmlUtil.parse(xml), 
GADGET_URI);
-    PipelinedData.Batch batch = pipelinedData.getBatch(elResolver);
+    PipelinedData.Batch batch = pipelinedData.getBatch(expressions, 
elResolver);
     assertFalse(pipelinedData.needsViewer());
     assertFalse(pipelinedData.needsOwner());
     
@@ -318,7 +320,7 @@
         + "/></Content>";
 
     PipelinedData pipelinedData = new PipelinedData(XmlUtil.parse(xml), 
GADGET_URI);
-    PipelinedData.Batch batch = pipelinedData.getBatch(elResolver);
+    PipelinedData.Batch batch = pipelinedData.getBatch(expressions, 
elResolver);
     assertTrue(pipelinedData.needsViewer());
     assertFalse(pipelinedData.needsOwner());
     

Modified: 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/spec/ViewTest.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/spec/ViewTest.java?rev=752639&r1=752638&r2=752639&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/spec/ViewTest.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/spec/ViewTest.java
 Wed Mar 11 21:45:24 2009
@@ -21,6 +21,7 @@
 
 import org.apache.shindig.common.uri.Uri;
 import org.apache.shindig.common.xml.XmlUtil;
+import org.apache.shindig.expressions.Expressions;
 import org.apache.shindig.expressions.RootELResolver;
 import org.apache.shindig.gadgets.variables.Substitutions;
 import org.apache.shindig.gadgets.variables.Substitutions.Type;
@@ -222,7 +223,8 @@
         + " fields=\"name,id\""
         + "/></Content>";
     View view = new View("test", Arrays.asList(XmlUtil.parse(xml)), SPEC_URL);
-    PipelinedData.Batch batch = view.getPipelinedData().getBatch(new 
RootELResolver());
+    PipelinedData.Batch batch = view.getPipelinedData().getBatch(
+        new Expressions(), new RootELResolver());
     
     assertEquals(1, batch.getSocialPreloads().size());
     assertTrue(batch.getSocialPreloads().containsKey("key"));


Reply via email to