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"));