Author: etnu
Date: Wed Mar 12 02:31:04 2008
New Revision: 636263
URL: http://svn.apache.org/viewvc?rev=636263&view=rev
Log:
Fix for SHINDIG-70. Also fixed a bug that was manifesting when message bundle
urls are empty, and improved end-user error display in GadgetRenderer.
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetServer.java
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/GadgetRenderer.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=636263&r1=636262&r2=636263&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
Wed Mar 12 02:31:04 2008
@@ -118,7 +118,12 @@
bundle = MessageBundle.EMPTY;
dir = "ltr";
} else {
- bundle = getBundle(localeSpec, context);
+ if (localeSpec.getMessages() != null &&
+ localeSpec.getMessages().toString().length() > 0) {
+ bundle = getBundle(localeSpec, context);
+ } else {
+ bundle = MessageBundle.EMPTY;
+ }
dir = localeSpec.getLanguageDirection();
}
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/GadgetRenderer.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/GadgetRenderer.java?rev=636263&r1=636262&r2=636263&view=diff
==============================================================================
---
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/GadgetRenderer.java
(original)
+++
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/GadgetRenderer.java
Wed Mar 12 02:31:04 2008
@@ -28,6 +28,7 @@
import org.apache.shindig.gadgets.JsLibrary;
import org.apache.shindig.gadgets.SyndicatorConfig;
import org.apache.shindig.gadgets.spec.Feature;
+import org.apache.shindig.gadgets.spec.LocaleSpec;
import org.apache.shindig.gadgets.spec.MessageBundle;
import org.apache.shindig.gadgets.spec.ModulePrefs;
import org.apache.shindig.gadgets.spec.View;
@@ -101,6 +102,11 @@
outputGadget(gadget);
} catch (GadgetException e) {
outputErrors(e);
+ } catch (Exception e) {
+ logger.log(Level.WARNING, "Unhandled exception ", e);
+ outputErrors(new GadgetException(
+ GadgetException.Code.INTERNAL_SERVER_ERROR,
+ "There was a problem rendering the gadget: " + e.getMessage()));
}
}
@@ -147,13 +153,23 @@
// TODO: Substitute gadgets.skins values in here.
String boilerPlate
- = "<style type=\"text/css\">" +
+ = "<html><head><style type=\"text/css\">" +
"body,td,div,span,p{font-family:arial,sans-serif;}" +
"a {color:#0000cc;}a:visited {color:#551a8b;}" +
"a:active {color:#ff0000;}" +
"body{margin: 0px;padding: 0px;background-color:white;}" +
- "</style></head></body>";
+ "</style></head>";
markup.append(boilerPlate);
+ LocaleSpec localeSpec = gadget.getSpec().getModulePrefs().getLocale(
+ gadget.getContext().getLocale());
+ if (localeSpec == null) {
+ markup.append("<body>");
+ } else {
+ markup.append("<body dir=\"")
+ .append(localeSpec.getLanguageDirection())
+ .append("\">");
+ }
+
StringBuilder externJs = new StringBuilder();
StringBuilder inlineJs = new StringBuilder();
String externFmt = "<script src=\"%s\"></script>";