You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shindig.apache.org by et...@apache.org on 2008/06/09 00:15:50 UTC

svn commit: r664567 - in /incubator/shindig/trunk/java/gadgets/src: main/java/org/apache/shindig/gadgets/GadgetServer.java test/java/org/apache/shindig/gadgets/GadgetServerTest.java

Author: etnu
Date: Sun Jun  8 15:15:45 2008
New Revision: 664567

URL: http://svn.apache.org/viewvc?rev=664567&view=rev
Log:
Fixed a problem in GadgetServer that was preventing nested msg elements from being interpreted correctly.


Modified:
    incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetServer.java
    incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/GadgetServerTest.java

Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetServer.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetServer.java?rev=664567&r1=664566&r2=664567&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetServer.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetServer.java Sun Jun  8 15:15:45 2008
@@ -114,12 +114,7 @@
       bundle = MessageBundle.EMPTY;
       dir = "ltr";
     } else {
-      if (localeSpec.getMessages() != null &&
-          localeSpec.getMessages().toString().length() > 0) {
-        bundle = getBundle(localeSpec, context);
-      } else {
-        bundle = MessageBundle.EMPTY;
-      }
+      bundle = getBundle(localeSpec, context);
       dir = localeSpec.getLanguageDirection();
     }
 

Modified: incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/GadgetServerTest.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/GadgetServerTest.java?rev=664567&r1=664566&r2=664567&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/GadgetServerTest.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/GadgetServerTest.java Sun Jun  8 15:15:45 2008
@@ -17,14 +17,15 @@
  */
 package org.apache.shindig.gadgets;
 
+import static org.easymock.EasyMock.eq;
+import static org.easymock.EasyMock.expect;
+
 import org.apache.shindig.common.BasicSecurityToken;
 import org.apache.shindig.common.SecurityToken;
 import org.apache.shindig.common.crypto.BlobCrypterException;
-import org.apache.shindig.gadgets.http.HttpResponse;
 import org.apache.shindig.gadgets.http.HttpRequest;
+import org.apache.shindig.gadgets.http.HttpResponse;
 import org.apache.shindig.gadgets.spec.GadgetSpec;
-import static org.easymock.EasyMock.eq;
-import static org.easymock.EasyMock.expect;
 
 import java.net.URI;
 import java.util.HashMap;
@@ -58,6 +59,13 @@
     public String getView() {
       return "v2";
     }
+
+    @Override
+    public UserPrefs getUserPrefs() {
+      Map<String, String> map = new HashMap<String, String>();
+      map.put("body", "BODY");
+      return new UserPrefs(map);
+    }
   };
   private final static String BASIC_SPEC_XML
       = "<Module>" +
@@ -93,28 +101,49 @@
           "  <Content type=\"html\">__UP_body__</Content>" +
           "</Module>";
 
+    HttpResponse spec = new HttpResponse(gadgetXml);
+    HttpResponse bundle = new HttpResponse(BASIC_BUNDLE_XML);
+
+    expect(fetcher.fetch(SPEC_REQUEST)).andReturn(spec);
+    expect(fetcher.fetch(BUNDLE_REQUEST)).andReturn(bundle);
+    replay();
+
+    Gadget gadget = gadgetServer.processGadget(BASIC_CONTEXT);
+
+    // No verification because the cache store ops happen on separate threads
+    // and easy mock doesn't handle that properly.
+
+    assertEquals("TITLE", gadget.getSpec().getModulePrefs().getTitle());
+    assertEquals("BODY",
+        gadget.getSpec().getView(GadgetSpec.DEFAULT_VIEW).getContent());
+  }
+
+  public void testBundledSubstitutionsDone() throws Exception {
+    String gadgetXml
+        = "<Module>" +
+          "  <ModulePrefs title=\"__MSG_title__\">" +
+          "    <Locale>" +
+          "      <msg name='title'>TITLE</msg>" +
+          "      <msg name='body'>BODY</msg>" +
+          "    </Locale>" +
+          "  </ModulePrefs>" +
+          "  <UserPref name=\"body\" datatype=\"string\"/>" +
+          "  <Content type=\"html\">__MSG_body__</Content>" +
+          "</Module>";
+
+    HttpResponse spec = new HttpResponse(gadgetXml);
+
     GadgetContext context = new GadgetContext() {
       @Override
       public URI getUrl() {
         return SPEC_URL;
       }
-
-      @Override
-      public UserPrefs getUserPrefs() {
-        Map<String, String> map = new HashMap<String, String>();
-        map.put("body", "BODY");
-        return new UserPrefs(map);
-      }
     };
 
-    HttpResponse spec = new HttpResponse(gadgetXml);
-    HttpResponse bundle = new HttpResponse(BASIC_BUNDLE_XML);
-
     expect(fetcher.fetch(SPEC_REQUEST)).andReturn(spec);
-    expect(fetcher.fetch(BUNDLE_REQUEST)).andReturn(bundle);
     replay();
 
-    Gadget gadget = gadgetServer.processGadget(context);
+    Gadget gadget = gadgetServer.processGadget(BASIC_CONTEXT);
 
     // No verification because the cache store ops happen on separate threads
     // and easy mock doesn't handle that properly.