You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by li...@apache.org on 2009/10/27 22:34:21 UTC
svn commit: r830351 - in /incubator/shindig/trunk/java/gadgets/src:
main/java/org/apache/shindig/gadgets/
main/java/org/apache/shindig/gadgets/render/
test/java/org/apache/shindig/gadgets/render/
Author: lindner
Date: Tue Oct 27 21:34:20 2009
New Revision: 830351
URL: http://svn.apache.org/viewvc?rev=830351&view=rev
Log:
SHINDIG-1199 | Patch from Jon Weygandt | OpenSocialI18NGadgetRewriter's creation of JsLibrary should be consistent with JsFeatureLoader
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/JsFeatureLoader.java
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/OpenSocialI18NGadgetRewriter.java
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/OpenSocialI18NGadgetRewriterTest.java
Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/JsFeatureLoader.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/JsFeatureLoader.java?rev=830351&r1=830350&r2=830351&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/JsFeatureLoader.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/JsFeatureLoader.java Tue Oct 27 21:34:20 2009
@@ -21,6 +21,7 @@
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.inject.Inject;
+import com.google.inject.Singleton;
import org.apache.shindig.common.util.ResourceLoader;
import org.apache.shindig.common.xml.XmlException;
@@ -53,6 +54,7 @@
* loader.loadFeatures("res://features/", registry);
* loader.loadFeatures("/home/user/my-features/", registry);
*/
+@Singleton
public class JsFeatureLoader {
public final static char FILE_SEPARATOR = ',';
@@ -316,7 +318,7 @@
}
}
- protected JsLibrary createJsLibrary(JsLibrary.Type type, String content, String feature,
+ public JsLibrary createJsLibrary(JsLibrary.Type type, String content, String feature,
HttpFetcher fetcher) throws GadgetException {
return JsLibrary.create(type, content, feature, fetcher);
}
Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/OpenSocialI18NGadgetRewriter.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/OpenSocialI18NGadgetRewriter.java?rev=830351&r1=830350&r2=830351&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/OpenSocialI18NGadgetRewriter.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/OpenSocialI18NGadgetRewriter.java Tue Oct 27 21:34:20 2009
@@ -22,6 +22,7 @@
import org.apache.shindig.common.xml.DomUtil;
import org.apache.shindig.gadgets.Gadget;
import org.apache.shindig.gadgets.GadgetException;
+import org.apache.shindig.gadgets.JsFeatureLoader;
import org.apache.shindig.gadgets.JsLibrary;
import org.apache.shindig.gadgets.rewrite.GadgetRewriter;
import org.apache.shindig.gadgets.rewrite.MutableContent;
@@ -29,10 +30,12 @@
import org.w3c.dom.Element;
import org.w3c.dom.Node;
+import com.google.inject.Inject;
+
import java.io.IOException;
-import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
/**
* Produce data constants that are needed by the opensocial-i18n
@@ -41,8 +44,14 @@
public class OpenSocialI18NGadgetRewriter implements GadgetRewriter {
private static final String I18N_FEATURE_NAME = "opensocial-i18n";
private static final String DATA_PATH = "features/i18n/data/";
- private Map<Locale, String> i18nConstantsCache = new HashMap<Locale, String>();
+ private Map<Locale, String> i18nConstantsCache = new ConcurrentHashMap<Locale, String>();
+ private JsFeatureLoader jsFeatureLoader;
+ @Inject
+ public OpenSocialI18NGadgetRewriter(JsFeatureLoader jsFeatureLoader) {
+ this.jsFeatureLoader = jsFeatureLoader;
+ }
+
public void rewrite(Gadget gadget, MutableContent mutableContent) {
// Don't touch sanitized gadgets.
if (gadget.sanitizeOutput()) {
@@ -73,10 +82,10 @@
} else {
// load gadgets.i18n.DateTimeConstants and gadgets.i18n.NumberFormatConstants
String localeName = getLocaleNameForLoadingI18NConstants(locale);
- JsLibrary dateTimeConstants = JsLibrary.create(JsLibrary.Type.RESOURCE,
+ JsLibrary dateTimeConstants = jsFeatureLoader.createJsLibrary(JsLibrary.Type.RESOURCE,
DATA_PATH + "DateTimeConstants__" + localeName + ".js",
"opensocial-i18n", null);
- JsLibrary numberConstants = JsLibrary.create(JsLibrary.Type.RESOURCE,
+ JsLibrary numberConstants = jsFeatureLoader.createJsLibrary(JsLibrary.Type.RESOURCE,
DATA_PATH + "NumberFormatConstants__" + localeName + ".js",
"opensocial-i18n", null);
inlineJs.append(dateTimeConstants.getContent())
@@ -94,7 +103,7 @@
String country = locale.getCountry();
if (!language.equalsIgnoreCase("ALL")) {
try {
- String content = attemptToLoadResource(language);
+ attemptToLoadResource(language);
localeName = language;
} catch (IOException e) {
}
@@ -102,7 +111,7 @@
if (!country.equalsIgnoreCase("ALL")) {
try {
- String content = attemptToLoadResource(localeName + '_' + country);
+ attemptToLoadResource(localeName + '_' + country);
localeName += '_' + country;
} catch (IOException e) {
}
Modified: incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/OpenSocialI18NGadgetRewriterTest.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/OpenSocialI18NGadgetRewriterTest.java?rev=830351&r1=830350&r2=830351&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/OpenSocialI18NGadgetRewriterTest.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/OpenSocialI18NGadgetRewriterTest.java Tue Oct 27 21:34:20 2009
@@ -20,7 +20,7 @@
import static org.junit.Assert.assertEquals;
-import org.apache.shindig.common.util.ResourceLoader;
+import org.apache.shindig.gadgets.JsFeatureLoader;
import org.junit.Before;
import org.junit.Test;
@@ -111,6 +111,7 @@
private static class FakeOpenSocialI18NGadgetRewriter extends OpenSocialI18NGadgetRewriter {
private Map<String, String> resources = new HashMap<String,String>();
public FakeOpenSocialI18NGadgetRewriter() {
+ super(new JsFeatureLoader(null));
resources.put("features/i18n/data/DateTimeConstants__en.js", "content for en");
resources.put("features/i18n/data/DateTimeConstants__en_US.js", "content for en_US");
resources.put("features/i18n/data/DateTimeConstants__zh.js", "content for zh");