You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by ss...@apache.org on 2012/02/27 00:43:33 UTC
svn commit: r1293966 [6/12] - in /shindig/trunk:
extras/src/main/java/org/apache/shindig/extras/
java/common/src/main/java/org/apache/shindig/auth/
java/common/src/main/java/org/apache/shindig/common/
java/common/src/main/java/org/apache/shindig/common...
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/RpcSwfServlet.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/RpcSwfServlet.java?rev=1293966&r1=1293965&r2=1293966&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/RpcSwfServlet.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/RpcSwfServlet.java Sun Feb 26 23:43:20 2012
@@ -42,15 +42,15 @@ public class RpcSwfServlet extends HttpS
private static final String SWF_RESOURCE_NAME = "files/xpc.swf";
private static final int ONE_YEAR_IN_SEC = 365 * 24 * 60 * 60;
private static final int DEFAULT_SWF_TTL = 24 * 60 * 60;
-
+
private final byte[] swfBytes;
private final String hash;
private int defaultSwfTtl = DEFAULT_SWF_TTL;
-
+
public RpcSwfServlet() {
this(SWF_RESOURCE_NAME);
}
-
+
public RpcSwfServlet(String swfResource) {
try {
InputStream is = ResourceLoader.openResource(swfResource);
@@ -63,20 +63,20 @@ public class RpcSwfServlet extends HttpS
throw new RuntimeException(e);
}
}
-
+
@Inject(optional = true)
public void setDefaultRpcSwfTtl(@Named("shindig.rpc.swf.defaultTtl") Integer defaultTtl) {
defaultSwfTtl = defaultTtl;
}
-
+
public String getSwfHash() {
return hash;
}
-
+
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
resp.setStatus(HttpServletResponse.SC_OK);
-
+
// Similar versioning method to other APIs, implemented more compactly.
String v = req.getParameter(UriCommon.Param.VERSION.getKey());
if (v != null && v.equals(hash)) {
@@ -86,7 +86,7 @@ public class RpcSwfServlet extends HttpS
}
resp.setHeader("Content-Type", "application/x-shockwave-flash");
-
+
resp.getOutputStream().write(swfBytes);
}
}
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/BaseOAuthService.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/BaseOAuthService.java?rev=1293966&r1=1293965&r2=1293966&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/BaseOAuthService.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/BaseOAuthService.java Sun Feb 26 23:43:20 2012
@@ -42,9 +42,9 @@ public abstract class BaseOAuthService {
BaseOAuthService() { }
public BaseOAuthService(Element serviceElement, Uri base) throws SpecParserException{
-
+
}
-
+
/**
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/Feature.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/Feature.java?rev=1293966&r1=1293965&r2=1293966&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/Feature.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/Feature.java Sun Feb 26 23:43:20 2012
@@ -38,7 +38,7 @@ import com.google.common.collect.Multima
public class Feature {
public static final Feature CORE_FEATURE = new Feature("core");
public static final Feature SECURITY_TOKEN_FEATURE = new Feature("security-token");
-
+
// Instantiable only by CORE_FEATURE.
private Feature(String name) {
this.params = ImmutableMultimap.of();
@@ -46,7 +46,7 @@ public class Feature {
this.name = name;
this.views = ImmutableSet.of();
}
-
+
/**
* Require@feature
* Optional@feature
@@ -67,7 +67,7 @@ public class Feature {
public Multimap<String, String> getParams() {
return params;
}
-
+
/**
* Returns the first value for any feature parameter, or null
* if the parameter does not exist.
@@ -77,7 +77,7 @@ public class Feature {
if (values == null || values.isEmpty()) {
return null;
}
-
+
return values.iterator().next();
}
@@ -95,11 +95,11 @@ public class Feature {
public boolean getRequired() {
return required;
}
-
+
/**
* Require@views
* Optional@views
- *
+ *
* Views associated with this feature
*/
private final Set<String> views;
@@ -166,7 +166,7 @@ public class Feature {
this.views = ImmutableSet.copyOf(Splitter.on(',').omitEmptyStrings().trimResults().split(viewNames));
}
-
+
/**
* @param name feature name
* @param params feature parameters
@@ -180,6 +180,6 @@ public class Feature {
this.required = required;
this.views = views;
}
-
-
+
+
}
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/LocaleSpec.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/LocaleSpec.java?rev=1293966&r1=1293965&r2=1293966&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/LocaleSpec.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/LocaleSpec.java Sun Feb 26 23:43:20 2012
@@ -61,7 +61,7 @@ public class LocaleSpec {
String viewNames = XmlUtil.getAttribute(element, "views", "").trim();
this.views = ImmutableSet.copyOf(Splitter.on(',').omitEmptyStrings().trimResults().split(viewNames));
-
+
String messagesString = XmlUtil.getAttribute(element, "messages");
if (messagesString == null) {
this.messages = Uri.parse("");
@@ -113,10 +113,10 @@ public class LocaleSpec {
public MessageBundle getMessageBundle() {
return messageBundle;
}
-
+
/**
* Locale@views
- *
+ *
* Views associated with this Locale
*/
private final Set<String> views;
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/ModulePrefs.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/ModulePrefs.java?rev=1293966&r1=1293965&r2=1293966&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/ModulePrefs.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/ModulePrefs.java Sun Feb 26 23:43:20 2012
@@ -60,7 +60,7 @@ import java.util.Set;
* Content and UserPref nodes.
*/
public class ModulePrefs {
-
+
private static final String ATTR_TITLE = "title";
private static final String ATTR_TITLE_URL = "title_url";
@@ -88,7 +88,7 @@ public class ModulePrefs {
private static final String ATTR_CATEGORY2 = "category2";
private static final Uri EMPTY_URI = Uri.parse("");
private static final String UP_SUBST_PREFIX = "__UP_";
-
+
// Used to identify Locales that are globally scoped
private static final String GLOBAL_LOCALE = "";
@@ -109,7 +109,7 @@ public class ModulePrefs {
// Eventually use a list of classes
MutableBoolean oauthMarker = new MutableBoolean(false);
-
+
Set<ElementVisitor> visitors = ImmutableSet.of(
new FeatureVisitor(oauthMarker),
new PreloadVisitor(),
@@ -171,11 +171,11 @@ public class ModulePrefs {
String substituted = substituter.substituteString(attr.getValue());
attributes.put(attr.getKey(), substituted);
}
-
+
ImmutableMap.Builder<String, Feature> featureBuilder= ImmutableMap.builder();
for (Map.Entry<String, Feature> feature : features.entrySet()) {
ImmutableMultimap.Builder<String, String> params = ImmutableMultimap.builder();
- for (Map.Entry<String, String> param: feature.getValue().getParams().entries()){
+ for (Map.Entry<String, String> param: feature.getValue().getParams().entries()){
String substituted=substituter.substituteString(param.getValue());
params.put(param.getKey(), substituted);
}
@@ -184,8 +184,8 @@ public class ModulePrefs {
featureBuilder.put(feature.getKey(), newFeature);
}
this.features=featureBuilder.build();
-
-
+
+
this.extraElements = ImmutableMultimap.copyOf(prefs.extraElements);
this.attributes = attributes.build();
this.needsUserPrefSubstitution = prefs.needsUserPrefSubstitution;
@@ -370,10 +370,10 @@ public class ModulePrefs {
public int getHeight() {
return getIntAttribute(ATTR_HEIGHT);
}
-
+
/**
* Returns this Gadget's doctype mode. If null, we will use default mode.
- *
+ *
* @return Value of doctype attribute
*/
public String getDoctype(){
@@ -473,17 +473,17 @@ public class ModulePrefs {
public List<String> getCategories() {
return categories;
}
-
+
/**
- * All features are included in ModulePrefs.
+ * All features are included in ModulePrefs.
* View level features have view qualifiers appended.
* @return a map of ModulePrefs/Require and ModulePrefs/Optional elements to Feature
*/
public Map<String, Feature> getFeatures() {
return features;
}
-
-
+
+
/**
* All features elements defined in ModulePrefs
* @return a list of all Features included in ModulePrefs
@@ -491,7 +491,7 @@ public class ModulePrefs {
public List<Feature> getAllFeatures() {
return allFeatures;
}
-
+
/**
* Returns Map of features to load for the given View
* @return a map of ModuleSpec/Require and ModuleSpec/Optional elements to Feature
@@ -543,7 +543,7 @@ public class ModulePrefs {
public OAuthSpec getOAuthSpec() {
return oauth;
}
-
+
/**
* @return an OAuth2Spec built from the ModuleSpec/OAuthSpec element
*/
@@ -575,7 +575,7 @@ public class ModulePrefs {
public LocaleSpec getGlobalLocale(Locale locale) {
return getLocale(locale, GLOBAL_LOCALE);
}
-
+
/**
* Gets the locale spec for the given locale and view, if any exists.
*
@@ -654,7 +654,7 @@ public class ModulePrefs {
if (oauth != null) {
buf.append(oauth).append('\n');
}
-
+
if (extraElements != null) {
for (Node node : extraElements.values()) {
Source source = new DOMSource(node);
@@ -739,7 +739,7 @@ public class ModulePrefs {
private final class OAuthVisitor implements ElementVisitor {
private OAuthSpec oauthSpec = null;
private final MutableBoolean oauthMarker;
-
+
private OAuthVisitor(MutableBoolean oauthMarker) {
this.oauthMarker = oauthMarker;
}
@@ -760,14 +760,14 @@ public class ModulePrefs {
}
}
-
+
/**
* Process ModulePrefs/OAuth2
*/
private final class OAuth2Visitor implements ElementVisitor {
private OAuth2Spec oauth2Spec = null;
private final MutableBoolean oauth2Marker;
-
+
private OAuth2Visitor(MutableBoolean oauth2Marker) {
this.oauth2Marker = oauth2Marker;
}
@@ -799,7 +799,7 @@ public class ModulePrefs {
private boolean coreIncluded = false;
private static final Set<String> TAGS = ImmutableSet.of("Require", "Optional");
-
+
private FeatureVisitor(MutableBoolean oauthMarker) {
this.oauthMarker = oauthMarker;
}
@@ -829,7 +829,7 @@ public class ModulePrefs {
}
return true;
}
-
+
public void apply(ModulePrefs moduleprefs) {
if (!coreIncluded) {
// No library was explicitly included from core - add it as an implicit dependency.
@@ -887,7 +887,7 @@ public class ModulePrefs {
}
return true;
}
-
+
public void apply(ModulePrefs moduleprefs) {
Map<Locale, LocaleSpec> allLocales = Maps.newHashMap();
moduleprefs.locales = locales;
@@ -896,7 +896,7 @@ public class ModulePrefs {
}
moduleprefs.allLocales = ImmutableMap.copyOf(allLocales);
}
-
+
private void storeLocaleSpec(String view, LocaleSpec locale){
Map<Locale, LocaleSpec> viewLocaleSpecs;
if (locales.get(view) == null) {
@@ -905,9 +905,9 @@ public class ModulePrefs {
} else {
viewLocaleSpecs = locales.get(view);
}
- viewLocaleSpecs.put(new Locale(locale.getLanguage(), locale.getCountry()), locale);
+ viewLocaleSpecs.put(new Locale(locale.getLanguage(), locale.getCountry()), locale);
}
-
+
}
/**
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/OAuth2Service.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/OAuth2Service.java?rev=1293966&r1=1293965&r2=1293966&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/OAuth2Service.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/OAuth2Service.java Sun Feb 26 23:43:20 2012
@@ -85,14 +85,14 @@ public class OAuth2Service extends BaseO
public String getScope() {
return scope;
}
-
+
/**
* Represents /OAuth/Service@name
*/
public String getName() {
return name;
}
-
+
}
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/OAuth2Spec.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/OAuth2Spec.java?rev=1293966&r1=1293965&r2=1293966&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/OAuth2Spec.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/OAuth2Spec.java Sun Feb 26 23:43:20 2012
@@ -42,7 +42,7 @@ public class OAuth2Spec {
* @param element the OAuth2 spec element
* @param base The uri that the spec is loaded from. messages is assumed
* to be relative to this path.
- * @throws SpecParserException
+ * @throws SpecParserException
*/
public OAuth2Spec(Element element, Uri base) throws SpecParserException {
serviceMap = Maps.newHashMap();
@@ -77,7 +77,7 @@ public class OAuth2Spec {
sb.append(service.getAuthorizationUrl().toString("Authorization"));
}
if (service.getTokenUrl() != null) {
- sb.append(service.getTokenUrl().toString("Token"));
+ sb.append(service.getTokenUrl().toString("Token"));
}
sb.append("</Service>");
}
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/OAuthService.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/OAuthService.java?rev=1293966&r1=1293965&r2=1293966&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/OAuthService.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/OAuthService.java Sun Feb 26 23:43:20 2012
@@ -26,7 +26,7 @@ import org.w3c.dom.NodeList;
/**
* Information about an OAuth service that a gadget wants to use.
- *
+ *
* Instances are immutable.
*/
public class OAuthService extends BaseOAuthService {
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/PipelinedData.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/PipelinedData.java?rev=1293966&r1=1293965&r2=1293966&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/PipelinedData.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/PipelinedData.java Sun Feb 26 23:43:20 2012
@@ -68,20 +68,20 @@ public class PipelinedData {
}
Element child = (Element) node;
-
+
if (EXTENSION_NAMESPACE.equals(child.getNamespaceURI())) {
if ("Variable".equals(child.getLocalName())) {
allPreloads.put(child.getAttribute("key"), createVariableRequest(child));
}
-
+
} else if (OPENSOCIAL_NAMESPACE.equals(child.getNamespaceURI())) {
String elementName = child.getLocalName();
-
+
String key = child.getAttribute("key");
if (key == null) {
throw new SpecParserException("Missing key attribute on os:" + elementName);
}
-
+
try {
if ("PeopleRequest".equals(elementName)) {
allPreloads.put(key, createPeopleRequest(child));
@@ -123,7 +123,7 @@ public class PipelinedData {
for (Map.Entry<String, BatchItemData> preload : socialData.allPreloads.entrySet()) {
allPreloads.put(preload.getKey(), preload.getValue().substitute(substituter));
}
-
+
this.allPreloads = Collections.unmodifiableMap(allPreloads);
}
@@ -139,26 +139,26 @@ public class PipelinedData {
Map<String, BatchItem> getPreloads();
Batch getNextBatch(ELResolver rootObjects);
}
-
+
/** Temporary type until BatchItem is made fully polymorphic */
public enum BatchType {
SOCIAL,
HTTP,
VARIABLE
}
-
+
/** Item within a batch */
public interface BatchItem {
BatchType getType();
Object getData();
}
-
+
/** Shared data used to generate BatchItems */
interface BatchItemData {
BatchItem evaluate(Expressions expressions, ELContext elContext);
BatchItemData substitute(Substitutions substituter);
}
-
+
/**
* Gets the first batch of preload requests. Preloads that require root
* objects not yet available will not be executed in this batch, but may
@@ -186,7 +186,7 @@ public class PipelinedData {
Map<String, BatchItem> evaluatedPreloads = Maps.newHashMap();
Map<String, BatchItemData> pendingPreloads = null;
-
+
if (currentPreloads != null) {
for (Map.Entry<String, BatchItemData> preload : currentPreloads.entrySet()) {
try {
@@ -199,7 +199,7 @@ public class PipelinedData {
if (pendingPreloads == null) {
pendingPreloads = Maps.newHashMap();
}
-
+
pendingPreloads.put(preload.getKey(), preload.getValue());
} catch (ELException e) {
// TODO: Handle!?!
@@ -207,7 +207,7 @@ public class PipelinedData {
}
}
}
-
+
// Nothing evaluated or pending; return null for the batch. Note that
// there may be multiple PipelinedData objects (e.g., from multiple
// <script type="text/os-data"> elements), so even if all evaluations
@@ -320,10 +320,10 @@ public class PipelinedData {
copyAttribute("count", child, expression, Integer.class);
// TODO: add activity paging support
-
+
return expression;
}
-
+
/** Handle the os:ActivityStreamsRequest element */
private SocialData createActivityStreamRequest(Element child) throws ELException {
SocialData expression = new SocialData(child.getAttribute("key"), "activitystreams.get");
@@ -524,7 +524,7 @@ public class PipelinedData {
return signViewer;
}
};
-
+
return new BatchItem() {
public Object getData() {
return info;
@@ -532,7 +532,7 @@ public class PipelinedData {
public BatchType getType() {
return BatchType.HTTP;
- }
+ }
};
}
@@ -634,7 +634,7 @@ public class PipelinedData {
public VariableData(String value) {
this.value = value;
}
-
+
public BatchItem evaluate(Expressions expressions, ELContext elContext) throws ELException {
ValueExpression expression = expressions.parse(value, Object.class);
final Object result = expression.getValue(elContext);
@@ -646,7 +646,7 @@ public class PipelinedData {
public BatchType getType() {
return BatchType.VARIABLE;
}
-
+
};
}
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/SpecParserException.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/SpecParserException.java?rev=1293966&r1=1293965&r2=1293966&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/SpecParserException.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/SpecParserException.java Sun Feb 26 23:43:20 2012
@@ -34,9 +34,9 @@ public class SpecParserException extends
public SpecParserException(XmlException e) {
super(GadgetException.Code.MALFORMED_XML_DOCUMENT, e);
}
-
+
public SpecParserException(String message, XmlException e) {
super(GadgetException.Code.MALFORMED_XML_DOCUMENT, message, e);
}
-
+
}
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/View.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/View.java?rev=1293966&r1=1293965&r2=1293966&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/View.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/View.java Sun Feb 26 23:43:20 2012
@@ -160,12 +160,12 @@ public class View implements RequestAuth
content = substituter.substituteString(view.content);
base = view.base;
href = base.resolve(substituter.substituteUri(view.href));
-
+
// Facilitates type=url support of dual-schema endpoints.
if (view.getType() == ContentType.URL && view.href.getScheme() == null) {
href = new UriBuilder(href).setScheme(null).toUri();
}
-
+
Map<String, String> attributes = Maps.newHashMap();
for (Map.Entry<String, String> entry : view.attributes.entrySet()) {
attributes.put(entry.getKey(), substituter.substituteString(entry.getValue()));
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/ContainerTagLibraryFactory.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/ContainerTagLibraryFactory.java?rev=1293966&r1=1293965&r2=1293966&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/ContainerTagLibraryFactory.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/ContainerTagLibraryFactory.java Sun Feb 26 23:43:20 2012
@@ -43,7 +43,7 @@ import com.google.inject.Singleton;
public class ContainerTagLibraryFactory {
private static final Logger LOG = Logger.getLogger(
ContainerTagLibraryFactory.class.getName());
-
+
private final ContainerConfig config;
private final LoadingCache<String, TemplateLibrary> osmlLibraryCache = CacheBuilder
.newBuilder()
@@ -64,21 +64,21 @@ public class ContainerTagLibraryFactory
public TemplateLibrary getLibrary(String container) {
return getOsmlLibrary(container);
}
-
+
private TemplateLibrary getOsmlLibrary(String container) {
String library = config.getString(container,
"${Cur['gadgets.features'].osml.library}");
if (Strings.isNullOrEmpty(library)) {
return NullTemplateLibrary.INSTANCE;
}
-
+
return osmlLibraryCache.getUnchecked(library);
}
-
+
static private TemplateLibrary loadTrustedLibrary(String resource) {
try {
String content = ResourceLoader.getContent(resource);
- return new XmlTemplateLibrary(Uri.parse("#OSML"), XmlUtil.parse(content),
+ return new XmlTemplateLibrary(Uri.parse("#OSML"), XmlUtil.parse(content),
content, true);
} catch (IOException ioe) {
LOG.log(Level.WARNING, null, ioe);
@@ -89,5 +89,5 @@ public class ContainerTagLibraryFactory
}
return NullTemplateLibrary.INSTANCE;
- }
+ }
}
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/DefaultTemplateProcessor.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/DefaultTemplateProcessor.java?rev=1293966&r1=1293965&r2=1293966&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/DefaultTemplateProcessor.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/DefaultTemplateProcessor.java Sun Feb 26 23:43:20 2012
@@ -60,32 +60,32 @@ import com.google.inject.Inject;
* - Handle built-in/custom tags
*/
public class DefaultTemplateProcessor implements TemplateProcessor {
-
+
//class name for logging purpose
private static final String classname = DefaultTemplateProcessor.class.getName();
private static final Logger LOG = Logger.getLogger(classname,MessageKeys.MESSAGES);
-
-
+
+
public static final String PROPERTY_INDEX = "Index";
public static final String PROPERTY_COUNT = "Count";
-
+
public static final String ATTRIBUTE_IF = "if";
public static final String ATTRIBUTE_INDEX = "index";
public static final String ATTRIBUTE_REPEAT = "repeat";
public static final String ATTRIBUTE_VAR = "var";
public static final String ATTRIBUTE_CUR = "cur";
-
- /**
+
+ /**
* Set of attributes in HTML 4 that are boolean, and may only be set
- * to that value, and should be omitted to indicate "false".
+ * to that value, and should be omitted to indicate "false".
*/
private static final Set<String> HTML4_BOOLEAN_ATTRIBUTES =
ImmutableSet.of("checked", "compact", "declare", "defer", "disabled", "ismap",
"multiple", "nohref", "noresize", "noshade", "nowrap", "readonly", "selected");
-
+
private static final Set<String> ONCREATE_ATTRIBUTES =
ImmutableSet.of("oncreate", "x-oncreate");
-
+
private final Expressions expressions;
// Reused buffer for creating template output
private final StringBuilder outputBuffer;
@@ -93,18 +93,18 @@ public class DefaultTemplateProcessor im
private TagRegistry registry;
private TemplateContext templateContext;
private ELContext elContext;
-
+
private int uniqueIdCounter = 0;
-
+
@Inject
- public DefaultTemplateProcessor(Expressions expressions) {
+ public DefaultTemplateProcessor(Expressions expressions) {
this.expressions = expressions;
outputBuffer = new StringBuilder();
}
/**
* Process an entire template.
- *
+ *
* @param template the DOM template, typically a script element
* @param templateContext a template context providing top-level
* variables
@@ -126,7 +126,7 @@ public class DefaultTemplateProcessor im
processChildNodes(result, template);
return result;
}
-
+
/** Process the children of an element or document. */
public void processChildNodes(Node result, Node source) {
NodeList nodes = source.getChildNodes();
@@ -134,14 +134,14 @@ public class DefaultTemplateProcessor im
processNode(result, nodes.item(i));
}
}
-
+
public TemplateContext getTemplateContext() {
return templateContext;
}
-
+
/**
* Process a node.
- *
+ *
* @param result the target node where results should be inserted
* @param source the source node of the template being processed
*/
@@ -168,7 +168,7 @@ public class DefaultTemplateProcessor im
*/
private void processText(Node result, String textContent) {
Document ownerDocument = result.getOwnerDocument();
-
+
int start = 0;
int current = 0;
while (current < textContent.length()) {
@@ -177,7 +177,7 @@ public class DefaultTemplateProcessor im
if (current < 0) {
break;
}
-
+
// An escaped expression "\${"
if (current > 0 && textContent.charAt(current - 1) == '\\') {
// Drop the \ by outputting everything before it, and moving past
@@ -186,27 +186,27 @@ public class DefaultTemplateProcessor im
String staticText = textContent.substring(start, current - 1);
result.appendChild(ownerDocument.createTextNode(staticText));
}
-
+
start = current;
current = current + 2;
continue;
}
-
+
// Not a real expression, we're done
int expressionEnd = textContent.indexOf('}', current + 2);
if (expressionEnd < 0) {
break;
}
-
+
// Append the existing static text, if any
if (current > start) {
result.appendChild(ownerDocument.createTextNode(textContent.substring(start, current)));
}
-
+
// Isolate the expression, parse and evaluate
String expression = textContent.substring(current, expressionEnd + 1);
String value = evaluate(expression, String.class, "");
-
+
if (!"".equals(value)) {
// And now escape
outputBuffer.setLength(0);
@@ -216,14 +216,14 @@ public class DefaultTemplateProcessor im
// Can't happen writing to StringBuilder
throw new RuntimeException(e);
}
-
+
result.appendChild(ownerDocument.createTextNode(outputBuffer.toString()));
}
-
- // And continue with the next expression
+
+ // And continue with the next expression
current = start = expressionEnd + 1;
}
-
+
// Add any static text left over
if (start < textContent.length()) {
result.appendChild(ownerDocument.createTextNode(textContent.substring(start)));
@@ -257,16 +257,16 @@ public class DefaultTemplateProcessor im
if (dataList == null) {
return;
}
-
+
// Compute list size
int size = Iterables.size(dataList);
-
+
if (size > 0) {
// Save the initial EL state
Map<String, ? extends Object> oldContext = templateContext.getContext();
Object oldCur = templateContext.getCur();
ValueExpression oldVarExpression = null;
-
+
// Set the new Context variable. Copy the old context to preserve
// any existing "index" variable
Map<String, Object> loopData = Maps.newHashMap(oldContext);
@@ -285,39 +285,39 @@ public class DefaultTemplateProcessor im
Attr indexVarAttr = element.getAttributeNode(ATTRIBUTE_INDEX);
String indexVar = indexVarAttr == null ? PROPERTY_INDEX : indexVarAttr.getValue();
-
+
int index = 0;
for (Object data : dataList) {
loopData.put(indexVar, index++);
-
+
// Set up context for rendering inner node
templateContext.setCur(data);
if (varAttr != null) {
ValueExpression varExpression = expressions.constant(data, Object.class);
elContext.getVariableMapper().setVariable(varAttr.getValue(), varExpression);
}
-
+
onEachLoop.run();
}
-
- // Restore EL state
+
+ // Restore EL state
if (varAttr == null) {
templateContext.setCur(oldCur);
} else {
elContext.getVariableMapper().setVariable(varAttr.getValue(), oldVarExpression);
}
-
+
templateContext.setContext(oldContext);
}
}
-
+
/**
- * Process conditionals and non-repeat attributes on an element
+ * Process conditionals and non-repeat attributes on an element
*/
private void processElementInner(Node result, Element element) {
TagHandler handler = registry.getHandlerFor(element);
-
+
// An ugly special-case: <os:Repeat> will re-evaluate the "if" attribute
// (as it should) for each loop of the repeat. Don't evaluate it here.
if (!(handler instanceof RepeatTagHandler)) {
@@ -336,7 +336,7 @@ public class DefaultTemplateProcessor im
if (curAttribute != null) {
templateContext.setCur(evaluate(curAttribute.getValue(), Object.class, null));
}
-
+
if (handler != null) {
handler.process(result, element, this);
} else {
@@ -350,18 +350,18 @@ public class DefaultTemplateProcessor im
} else {
resultNode = (Element)element.cloneNode(false);
}
-
+
clearSpecialAttributes(resultNode);
Node additionalNode = processAttributes(resultNode);
-
+
processChildNodes(resultNode, element);
- result.appendChild(resultNode);
-
+ result.appendChild(resultNode);
+
if (additionalNode != null) {
result.appendChild(additionalNode);
}
}
-
+
if (curAttribute != null) {
templateContext.setCur(oldCur);
}
@@ -374,7 +374,7 @@ public class DefaultTemplateProcessor im
element.removeAttribute(ATTRIBUTE_VAR);
element.removeAttribute(ATTRIBUTE_CUR);
}
-
+
/**
* Process expressions on attributes.
* @param element The Element to process attributes on
@@ -383,14 +383,14 @@ public class DefaultTemplateProcessor im
private Node processAttributes(Element element) {
NamedNodeMap attributes = element.getAttributes();
Node additionalNode = null;
-
+
// Mutations to perform after iterating (if needed)
List<Attr> attrsToRemove = null;
String newId = null;
-
+
for (int i = 0; i < attributes.getLength(); i++) {
boolean removeThisAttribute = false;
-
+
Attr attribute = (Attr) attributes.item(i);
// Boolean attributes: evaluate as a boolean. If true, set the value to the
// name of the attribute, e.g. selected="selected". If false, remove the attribute
@@ -410,44 +410,44 @@ public class DefaultTemplateProcessor im
if (id.length() == 0) {
newId = id = getUniqueId();
}
-
+
additionalNode = buildOnCreateScript(
evaluate(attribute.getValue(), String.class, null), id, element.getOwnerDocument());
removeThisAttribute = true;
- } else {
+ } else {
attribute.setNodeValue(evaluate(attribute.getValue(), String.class, null));
}
-
+
// Because NamedNodeMaps are live, removing them interferes with iteration.
// Remove the attributes in a later pass
if (removeThisAttribute) {
if (attrsToRemove == null) {
attrsToRemove = Lists.newArrayListWithCapacity(attributes.getLength());
}
-
+
attrsToRemove.add(attribute);
}
}
-
+
// Now that iteration is complete, perform mutations
if (attrsToRemove != null) {
for (Attr attr : attrsToRemove) {
element.removeAttributeNode(attr);
}
}
-
+
if (newId != null) {
element.setAttribute("id", newId);
}
-
+
return additionalNode;
}
-
+
/**
- * Inserts an inline script element that executes a snippet of Javascript
+ * Inserts an inline script element that executes a snippet of Javascript
* code after the element is emitted.
* <p>
- * The approach used involves using Javascript to find the previous sibling
+ * The approach used involves using Javascript to find the previous sibling
* node and apply the code to it - this avoids decorating nodes with IDs, an
* approach that could potentially clash with existing element IDs that could
* be non-unique.
@@ -457,7 +457,7 @@ public class DefaultTemplateProcessor im
* @param code Javascript code to execute
* @param id Element ID which should be used
* @param document document for creating elements
- *
+ *
* TODO: Move boilerplate code for finding the right node out to a function
* to reduce code size.
*/
@@ -473,7 +473,7 @@ public class DefaultTemplateProcessor im
script.setTextContent(builder.toString());
return script;
}
-
+
/**
* Evaluates an expression within the scope of this processor's context.
* @param expression The String expression
@@ -489,7 +489,7 @@ public class DefaultTemplateProcessor im
return type.cast(result);
} catch (ELException e) {
if (LOG.isLoggable(Level.WARNING)) {
- LOG.logp(Level.WARNING, classname, "evaluate", MessageKeys.EL_FAILURE,
+ LOG.logp(Level.WARNING, classname, "evaluate", MessageKeys.EL_FAILURE,
new Object[] {getTemplateContext().getGadget().getContext().getUrl(), e.getMessage()});
}
return defaultValue;
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/ElementELResolver.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/ElementELResolver.java?rev=1293966&r1=1293965&r2=1293966&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/ElementELResolver.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/ElementELResolver.java Sun Feb 26 23:43:20 2012
@@ -41,11 +41,11 @@ public class ElementELResolver extends E
*/
public static class ElementWrapper {
public final Element element;
-
+
public ElementWrapper(Element element) {
this.element = element;
}
-
+
@Override
public String toString() {
return element.getTextContent();
@@ -77,42 +77,42 @@ public class ElementELResolver extends E
if (!(base instanceof ElementWrapper)) {
return null;
}
-
+
context.setPropertyResolved(true);
Element element = ((ElementWrapper) base).element;
String propertyString = property.toString();
-
- // See if there is an Object property.
+
+ // See if there is an Object property.
Object data = element.getUserData(propertyString);
if (data != null) {
return data;
}
-
+
// Next, check for an attribute.
Attr attribute = element.getAttributeNode(propertyString);
if (attribute != null) {
return attribute.getValue();
}
-
+
// Finally, look for child nodes with matching local names.
List<ElementWrapper> childElements = null;
for (Node child = element.getFirstChild(); child != null; child = child.getNextSibling()) {
if (!(child instanceof Element)) {
continue;
}
-
+
Element childElement = (Element) child;
if (!propertyString.equals(childElement.getLocalName())) {
continue;
}
-
+
if (childElements == null) {
childElements = Lists.newArrayListWithCapacity(2);
}
-
+
childElements.add(new ElementWrapper(childElement));
}
-
+
if (childElements == null) {
return null;
} else if (childElements.size() == 1) {
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/MessageELResolver.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/MessageELResolver.java?rev=1293966&r1=1293965&r2=1293966&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/MessageELResolver.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/MessageELResolver.java Sun Feb 26 23:43:20 2012
@@ -44,13 +44,13 @@ public class MessageELResolver extends E
this.expressions = expressions;
this.bundle = bundle;
}
-
+
@Override
public Class<?> getCommonPropertyType(ELContext context, Object base) {
if (base == null) {
return String.class;
}
-
+
return null;
}
@@ -77,7 +77,7 @@ public class MessageELResolver extends E
context.setPropertyResolved(true);
return null;
}
-
+
List<Object> properties = null;
try {
properties = pushCurrentProperty(context, property);
@@ -88,7 +88,7 @@ public class MessageELResolver extends E
context.setPropertyResolved(true);
}
}
-
+
return null;
}
@@ -108,7 +108,7 @@ public class MessageELResolver extends E
throw new ELException("Recursive invocation of message bundle properties");
}
}
-
+
propertyList.add(property);
return propertyList;
}
@@ -125,7 +125,7 @@ public class MessageELResolver extends E
context.setPropertyResolved(true);
return true;
}
-
+
return false;
}
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/NullTemplateLibrary.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/NullTemplateLibrary.java?rev=1293966&r1=1293965&r2=1293966&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/NullTemplateLibrary.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/NullTemplateLibrary.java Sun Feb 26 23:43:20 2012
@@ -31,10 +31,10 @@ public final class NullTemplateLibrary i
public static final TemplateLibrary INSTANCE = new NullTemplateLibrary();
private final TagRegistry registry = new DefaultTagRegistry(ImmutableSet.<TagHandler>of());
-
- private NullTemplateLibrary() {
+
+ private NullTemplateLibrary() {
}
-
+
public Uri getLibraryUri() {
return null;
}
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/TagRegistry.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/TagRegistry.java?rev=1293966&r1=1293965&r2=1293966&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/TagRegistry.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/TagRegistry.java Sun Feb 26 23:43:20 2012
@@ -32,9 +32,9 @@ import com.google.inject.ImplementedBy;
public interface TagRegistry {
public TagHandler getHandlerFor(Element element);
-
+
public TagHandler getHandlerFor(NSName name);
-
+
/**
* A namespace-name pair used as Hash key for handler lookups.
*/
@@ -42,29 +42,29 @@ public interface TagRegistry {
private final String namespaceUri;
private final String localName;
private final int hash;
-
+
public NSName(String namespaceUri, String localName) {
this.namespaceUri = namespaceUri;
this.localName = localName;
hash = (namespaceUri.hashCode() * 37) ^ localName.hashCode();
}
-
+
@Override
public String toString() {
return namespaceUri + ':' + localName;
}
-
+
@Override
public boolean equals(Object obj) {
- if (this == obj) { return true; }
+ if (this == obj) { return true; }
if (!(obj instanceof NSName)) { return false; }
NSName nsn = (NSName) obj;
return namespaceUri.equals(nsn.namespaceUri) && localName.equals(nsn.localName);
}
-
+
@Override
- public int hashCode() {
+ public int hashCode() {
return hash;
- }
+ }
}
}
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/TemplateContext.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/TemplateContext.java?rev=1293966&r1=1293965&r2=1293966&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/TemplateContext.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/TemplateContext.java Sun Feb 26 23:43:20 2012
@@ -40,17 +40,17 @@ public class TemplateContext {
private Map<String, Object> myMap = null;
private Node templateRoot;
private Map<Object, TemplateResource> resources = Maps.newLinkedHashMap();
-
+
public TemplateContext(Gadget gadget, Map<String, ? extends Object> top) {
this.gadget = gadget;
this.top = top;
this.cur = top;
}
-
+
public Map<String, ? extends Object> getTop() {
return top;
}
-
+
public Object getCur() {
return cur;
}
@@ -70,17 +70,17 @@ public class TemplateContext {
context = newContext;
return oldContext;
}
-
+
public Map<String, Object> setMy(Map<String, Object> myMap) {
Map<String, Object> oldMy = this.myMap;
this.myMap = myMap;
return oldMy;
}
-
+
public Map<String, Object> getMy() {
return myMap;
}
-
+
public Gadget getGadget() {
return gadget;
}
@@ -90,17 +90,17 @@ public class TemplateContext {
this.templateRoot = root;
return oldRoot;
}
-
+
public Node getTemplateRoot() {
return this.templateRoot;
}
-
+
public void addResource(Object key, TemplateResource resource) {
if (!resources.containsKey(key)) {
resources.put(key, resource);
}
}
-
+
public Collection<TemplateResource> getResources() {
return resources.values();
}
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/TemplateELResolver.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/TemplateELResolver.java?rev=1293966&r1=1293965&r2=1293966&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/TemplateELResolver.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/TemplateELResolver.java Sun Feb 26 23:43:20 2012
@@ -42,22 +42,22 @@ public class TemplateELResolver extends
public static final String PROPERTY_CONTEXT = "Context";
public static final String PROPERTY_CUR = "Cur";
public static final String PROPERTY_MY = "My";
-
+
private static final Set<String> TOP_LEVEL_PROPERTIES =
ImmutableSet.of(PROPERTY_TOP, PROPERTY_CONTEXT, PROPERTY_CUR, PROPERTY_MY);
-
+
private final TemplateContext templateContext;
public TemplateELResolver(TemplateContext templateContext) {
- this.templateContext = templateContext;
+ this.templateContext = templateContext;
}
-
+
@Override
public Class<?> getCommonPropertyType(ELContext context, Object base) {
if (base == null) {
return String.class;
}
-
+
return null;
}
@@ -88,7 +88,7 @@ public class TemplateELResolver extends
return templateContext.getCur();
}
}
-
+
// Check variables.
if (property instanceof String) {
// Workaround for inability of Jasper-EL resolvers to access VariableMapper
@@ -99,7 +99,7 @@ public class TemplateELResolver extends
return valueExp.getValue(context);
}
}
-
+
// Check ${Cur} next.
Object cur = templateContext.getCur();
// Resolve through "cur" as if it were a value - if "isPropertyResolved()"
@@ -114,14 +114,14 @@ public class TemplateELResolver extends
}
}
}
-
+
// Check ${My} next.
Map<String, ? extends Object> scope = templateContext.getMy();
if (scope != null && scope.containsKey(property)) {
context.setPropertyResolved(true);
return scope.get(property);
}
-
+
// Look at ${Top} context last.
scope = templateContext.getTop();
if (scope != null && scope.containsKey(property)) {
@@ -129,7 +129,7 @@ public class TemplateELResolver extends
return scope.get(property);
}
}
-
+
return null;
}
@@ -139,7 +139,7 @@ public class TemplateELResolver extends
context.setPropertyResolved(true);
return true;
}
-
+
return false;
}
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/TemplateLibrary.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/TemplateLibrary.java?rev=1293966&r1=1293965&r2=1293966&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/TemplateLibrary.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/TemplateLibrary.java Sun Feb 26 23:43:20 2012
@@ -30,11 +30,11 @@ public interface TemplateLibrary {
* @return a registry of tags in this library.
*/
TagRegistry getTagRegistry();
-
+
Uri getLibraryUri();
boolean isSafe();
-
+
String serialize();
-
+
}
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/TemplateModule.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/TemplateModule.java?rev=1293966&r1=1293965&r2=1293966&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/TemplateModule.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/TemplateModule.java Sun Feb 26 23:43:20 2012
@@ -40,7 +40,7 @@ public class TemplateModule extends Abst
bindTagHandlers();
}
- /* No need to subclass.
+ /* No need to subclass.
You can add the same construct in your own modules to register your own tag handler.. */
protected void bindTagHandlers() {
Multibinder<TagHandler> tagBinder = Multibinder.newSetBinder(binder(), TagHandler.class);
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/TemplateParserException.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/TemplateParserException.java?rev=1293966&r1=1293965&r2=1293966&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/TemplateParserException.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/TemplateParserException.java Sun Feb 26 23:43:20 2012
@@ -34,9 +34,9 @@ public class TemplateParserException ext
public TemplateParserException(XmlException e) {
super(GadgetException.Code.MALFORMED_XML_DOCUMENT, e);
}
-
+
public TemplateParserException(String message, XmlException e) {
super(GadgetException.Code.MALFORMED_XML_DOCUMENT, message, e);
}
-
+
}
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/TemplateProcessor.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/TemplateProcessor.java?rev=1293966&r1=1293965&r2=1293966&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/TemplateProcessor.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/TemplateProcessor.java Sun Feb 26 23:43:20 2012
@@ -32,7 +32,7 @@ public interface TemplateProcessor {
/**
* Process an entire template.
- *
+ *
* @param template the DOM template, typically a script element
* @param templateContext a template context providing top-level
* variables
@@ -41,21 +41,21 @@ public interface TemplateProcessor {
* @return a document fragment with the resolved content
*/
DocumentFragment processTemplate(Element template,
- TemplateContext templateContext, ELResolver globals, TagRegistry registry);
-
-
+ TemplateContext templateContext, ELResolver globals, TagRegistry registry);
+
+
/**
* @return the current template context.
*/
TemplateContext getTemplateContext();
-
+
/**
* Process the children of an element or document.
* @param result the node to which results should be appended
* @param source the node whose children should be processed
*/
void processChildNodes(Node result, Node source);
-
+
void processRepeat(Node result, Element element, Iterable<?> dataList,
Runnable onEachLoop);
@@ -63,7 +63,7 @@ public interface TemplateProcessor {
* Evaluates an expression within the scope of this processor's context.
* @param expression The String expression
* @param type Expected result type
- * @param defaultValue Default value to return
+ * @param defaultValue Default value to return
*/
<T> T evaluate(String expression, Class<T> type, @Nullable T defaultValue);
}
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/TemplateResource.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/TemplateResource.java?rev=1293966&r1=1293965&r2=1293966&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/TemplateResource.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/TemplateResource.java Sun Feb 26 23:43:20 2012
@@ -37,7 +37,7 @@ public final class TemplateResource {
public static TemplateResource newJavascriptResource(String javascript, TemplateLibrary library) {
return new TemplateResource(javascript, Type.JAVASCRIPT, library.isSafe());
}
-
+
/**
* Create a CSS resource.
* @param style the CSS content
@@ -64,7 +64,7 @@ public final class TemplateResource {
public boolean isSafe() {
return isSafe;
}
-
+
@Override
public String toString() {
return "<" + type + '>' + content + "</" + type + '>';
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/XmlTemplateLibrary.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/XmlTemplateLibrary.java?rev=1293966&r1=1293965&r2=1293966&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/XmlTemplateLibrary.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/XmlTemplateLibrary.java Sun Feb 26 23:43:20 2012
@@ -39,15 +39,15 @@ import java.util.Set;
/**
* An Object representing a Library of Template-based custom OSML tags.
*/
-public class XmlTemplateLibrary implements TemplateLibrary {
-
+public class XmlTemplateLibrary implements TemplateLibrary {
+
public static final String TAG_ATTRIBUTE = "tag";
public static final String NAMESPACE_TAG = "Namespace";
public static final String TEMPLATE_TAG = "Template";
public static final String STYLE_TAG = "Style";
public static final String JAVASCRIPT_TAG = "JavaScript";
public static final String TEMPLATEDEF_TAG = "TemplateDef";
-
+
private final Uri libraryUri;
private final String source;
private final boolean safe;
@@ -62,7 +62,7 @@ public class XmlTemplateLibrary implemen
* @param uri URI of the template library
* @param root Element representing the Templates tag of this library
*/
- public XmlTemplateLibrary(Uri uri, Element root, String source)
+ public XmlTemplateLibrary(Uri uri, Element root, String source)
throws GadgetException {
this(uri, root, source, false);
}
@@ -72,7 +72,7 @@ public class XmlTemplateLibrary implemen
* @param root Element representing the Templates tag of this library
* @param safe Is this library exempt from being sanitized?
*/
- public XmlTemplateLibrary(Uri uri, Element root, String source, boolean safe)
+ public XmlTemplateLibrary(Uri uri, Element root, String source, boolean safe)
throws GadgetException {
this.libraryUri = uri;
this.source = source;
@@ -85,7 +85,7 @@ public class XmlTemplateLibrary implemen
if (javaScript != null) {
resources.add(TemplateResource.newJavascriptResource(javaScript, this));
}
-
+
this.libraryResources = resources.build();
}
@@ -95,7 +95,7 @@ public class XmlTemplateLibrary implemen
public TagRegistry getTagRegistry() {
return registry;
}
-
+
/**
* @return the URI from which the library was loaded. (This is not the
* namespace of tags in the library.)
@@ -103,21 +103,21 @@ public class XmlTemplateLibrary implemen
public Uri getLibraryUri() {
return libraryUri;
}
-
+
/**
- * @return this library is safe and its content doesn't need to be sanitized.
+ * @return this library is safe and its content doesn't need to be sanitized.
*/
public boolean isSafe() {
return safe;
}
-
+
/**
* @return This library as XML source.
*/
public String serialize() {
return source;
}
-
+
/**
* Creates a tag handler wrapping an element. By default, creates
* a {@link TemplateBasedTagHandler}. Override this to create custom
@@ -127,17 +127,17 @@ public class XmlTemplateLibrary implemen
String localName) {
return new TemplateBasedTagHandler(template, namespaceUri, localName);
}
-
+
private Set<TagHandler> parseLibraryDocument(Element root) throws GadgetException {
ImmutableSet.Builder<TagHandler> handlers = ImmutableSet.builder();
-
+
NodeList nodes = root.getChildNodes();
for (int i = 0; i < nodes.getLength(); i++) {
Node node = nodes.item(i);
if (!(node instanceof Element)) {
continue;
}
-
+
Element element = (Element) node;
if (NAMESPACE_TAG.equals(element.getLocalName())) {
processNamespace(element);
@@ -151,10 +151,10 @@ public class XmlTemplateLibrary implemen
processTemplateDef(handlers, element);
}
}
-
+
return handlers.build();
}
-
+
private void processTemplateDef(Builder<TagHandler> handlers, Element defElement)
throws TemplateParserException {
Attr tagAttribute = defElement.getAttributeNode(TAG_ATTRIBUTE);
@@ -163,12 +163,12 @@ public class XmlTemplateLibrary implemen
}
ImmutableSet.Builder<TemplateResource> resources = ImmutableSet.builder();
-
+
Element scriptElement = (Element) DomUtil.getFirstNamedChildNode(defElement, JAVASCRIPT_TAG);
if (scriptElement != null) {
resources.add(TemplateResource.newJavascriptResource(scriptElement.getTextContent(), this));
}
-
+
Element styleElement = (Element) DomUtil.getFirstNamedChildNode(defElement, STYLE_TAG);
if (styleElement != null) {
resources.add(TemplateResource.newStyleResource(styleElement.getTextContent(), this));
@@ -188,7 +188,7 @@ public class XmlTemplateLibrary implemen
if (tagAttribute == null) {
throw new TemplateParserException("Missing tag attribute on Template");
}
-
+
TagHandler handler = createHandler(tagAttribute.getNodeValue(), templateElement,
ImmutableSet.<TemplateResource>of());
if (handler != null) {
@@ -216,12 +216,12 @@ public class XmlTemplateLibrary implemen
if ((nsPrefix != null) || (nsUri != null)) {
throw new TemplateParserException("Duplicate Namespace elements");
}
-
+
nsPrefix = namespaceNode.getAttribute("prefix");
if ("".equals(nsPrefix)) {
throw new TemplateParserException("Missing prefix attribute on Namespace");
}
-
+
nsUri = namespaceNode.getAttribute("url");
if ("".equals(nsUri)) {
throw new TemplateParserException("Missing url attribute on Namespace");
@@ -241,16 +241,16 @@ public class XmlTemplateLibrary implemen
throw new TemplateParserException(
"Can't create tags in undeclared namespace: " + nameParts[0]);
}
-
+
if (isSafe()) {
bypassTemplateSanitization(template);
}
-
+
return new LibraryTagHandler(
createTagHandler(template, namespaceUri, nameParts[1]),
resources);
}
-
+
/**
* For "safe" libraries, bypass sanitization. Sanitization should
* be bypassed on each element in the tree, but not on the whole
@@ -270,7 +270,7 @@ public class XmlTemplateLibrary implemen
/**
* TagHandler delegate reponsible for adding necessary tag resources
- * as each tag gets processed.
+ * as each tag gets processed.
*/
private class LibraryTagHandler implements TagHandler {
private final TagHandler tagHandler;
@@ -297,7 +297,7 @@ public class XmlTemplateLibrary implemen
for (TemplateResource resource : tagResources) {
processor.getTemplateContext().addResource(resource, resource);
}
-
+
for (TemplateResource resource : libraryResources) {
processor.getTemplateContext().addResource(resource, resource);
}
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/tags/AbstractTagHandler.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/tags/AbstractTagHandler.java?rev=1293966&r1=1293965&r2=1293966&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/tags/AbstractTagHandler.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/tags/AbstractTagHandler.java Sun Feb 26 23:43:20 2012
@@ -56,7 +56,7 @@ public abstract class AbstractTagHandler
/**
* Returns the value of a tag attribute, evaluating any contained EL
* expressions if necessary.
- *
+ *
* @param <T> the type of the value
* @param tag the element
* @param name the attribute name
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/tags/AbstractTagRegistry.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/tags/AbstractTagRegistry.java?rev=1293966&r1=1293965&r2=1293966&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/tags/AbstractTagRegistry.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/tags/AbstractTagRegistry.java Sun Feb 26 23:43:20 2012
@@ -29,7 +29,7 @@ public abstract class AbstractTagRegistr
public final TagHandler getHandlerFor(Element element) {
if (element.getNamespaceURI() == null) {
return null;
- }
+ }
return getHandlerFor(new NSName(element.getNamespaceURI(), element.getLocalName()));
}
}
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/tags/CompositeTagRegistry.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/tags/CompositeTagRegistry.java?rev=1293966&r1=1293965&r2=1293966&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/tags/CompositeTagRegistry.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/tags/CompositeTagRegistry.java Sun Feb 26 23:43:20 2012
@@ -27,11 +27,11 @@ import java.util.Collection;
*/
public class CompositeTagRegistry extends AbstractTagRegistry {
private final Collection<? extends TagRegistry> registries;
-
+
public CompositeTagRegistry(Collection<? extends TagRegistry> registries) {
this.registries = registries;
}
-
+
public TagHandler getHandlerFor(NSName name) {
TagHandler handler;
for (TagRegistry registry : registries) {
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/tags/DefaultTagRegistry.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/tags/DefaultTagRegistry.java?rev=1293966&r1=1293965&r2=1293966&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/tags/DefaultTagRegistry.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/tags/DefaultTagRegistry.java Sun Feb 26 23:43:20 2012
@@ -36,9 +36,9 @@ public class DefaultTagRegistry extends
public DefaultTagRegistry(Set<TagHandler> handlers) {
for (TagHandler handler : handlers) {
this.handlers.put(new NSName(handler.getNamespaceUri(), handler.getTagName()), handler);
- }
+ }
}
-
+
public TagHandler getHandlerFor(NSName name) {
return handlers.get(name);
}
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/tags/IfTagHandler.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/tags/IfTagHandler.java?rev=1293966&r1=1293965&r2=1293966&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/tags/IfTagHandler.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/tags/IfTagHandler.java Sun Feb 26 23:43:20 2012
@@ -43,7 +43,7 @@ public class IfTagHandler extends Abstra
return;
}
- // Condition succeeded, process all child nodes
+ // Condition succeeded, process all child nodes
processor.processChildNodes(result, tag);
}
}
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/tags/RenderTagHandler.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/tags/RenderTagHandler.java?rev=1293966&r1=1293965&r2=1293966&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/tags/RenderTagHandler.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/tags/RenderTagHandler.java Sun Feb 26 23:43:20 2012
@@ -34,20 +34,20 @@ import com.google.inject.Inject;
public class RenderTagHandler extends AbstractTagHandler {
public static final String DEFAULT_NAME = "Render";
-
+
public static final String ATTR_CONTENT = "content";
-
+
@Inject
public RenderTagHandler() {
super(TagHandler.OPENSOCIAL_NAMESPACE, DEFAULT_NAME);
}
-
+
public void process(Node result, Element tag, TemplateProcessor processor) {
Map<String, Object> myMap = processor.getTemplateContext().getMy();
if (myMap == null) {
return;
}
-
+
String content = tag.getAttribute(ATTR_CONTENT);
// No @content specified - move it all.
if ("".equals(content)) {
@@ -69,7 +69,7 @@ public class RenderTagHandler extends Ab
copyChildren((ElementWrapper) probablyAnElement, result);
}
}
- }
+ }
}
}
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/tags/RepeatTagHandler.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/tags/RepeatTagHandler.java?rev=1293966&r1=1293965&r2=1293966&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/tags/RepeatTagHandler.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/tags/RepeatTagHandler.java Sun Feb 26 23:43:20 2012
@@ -43,7 +43,7 @@ public class RepeatTagHandler extends Ab
Iterable<?> repeat = getValueFromTag(tag, EXPRESSION_ATTR, processor, Iterable.class);
if (repeat != null) {
final Attr ifAttribute = tag.getAttributeNode(IF_ATTR);
-
+
// On each iteration, process child nodes, after checking the value of the "if" attribute
processor.processRepeat(result, tag, repeat, new Runnable() {
public void run() {
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/tags/TagHandler.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/tags/TagHandler.java?rev=1293966&r1=1293965&r2=1293966&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/tags/TagHandler.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/tags/TagHandler.java Sun Feb 26 23:43:20 2012
@@ -36,7 +36,7 @@ public interface TagHandler {
* @return the local name of the element this tag parses.
*/
String getTagName();
-
+
/**
* @return the namespace of the element this tag parses.
*/
@@ -45,11 +45,11 @@ public interface TagHandler {
/**
* Processes the custom tag.
* @param result A Node to append output to.
- * @param tag The Element reference to the tag, useful for inspecting
+ * @param tag The Element reference to the tag, useful for inspecting
* attributes and children
* @param processor A TemplateProcessor, used to evaluate expressions and render
* sub-templates if needed.
*/
void process(Node result, Element tag, TemplateProcessor processor);
-
+
}
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/tags/TemplateBasedTagHandler.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/tags/TemplateBasedTagHandler.java?rev=1293966&r1=1293965&r2=1293966&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/tags/TemplateBasedTagHandler.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/tags/TemplateBasedTagHandler.java Sun Feb 26 23:43:20 2012
@@ -38,45 +38,45 @@ import com.google.common.collect.Maps;
public class TemplateBasedTagHandler extends AbstractTagHandler {
private final Element templateDefinition;
-
+
public TemplateBasedTagHandler(Element templateDefinition, String namespaceUri, String tagName) {
super(namespaceUri, tagName);
this.templateDefinition = templateDefinition;
}
-
+
public void process(Node result, Element tagInstance, TemplateProcessor processor) {
// Process the children of the tag
DocumentFragment processedContent = processChildren(tagInstance, processor);
-
+
// Save the old values of "My", "Cur", and the template root element,
// and update each
Map<String, Object> oldMy = processor.getTemplateContext().setMy(
computeMy(tagInstance, processedContent, processor));
Object oldCur = processor.getTemplateContext().setCur(null);
Node oldTemplateRoot = processor.getTemplateContext().setTemplateRoot(processedContent);
-
+
processTemplate(result, tagInstance, processor);
-
+
// And restore the template context
processor.getTemplateContext().setMy(oldMy);
processor.getTemplateContext().setCur(oldCur);
processor.getTemplateContext().setTemplateRoot(oldTemplateRoot);
}
-
+
/** Process the template content in the new EL state */
protected void processTemplate(Node result, Element tagInstance, TemplateProcessor processor) {
processor.processChildNodes(result, templateDefinition);
}
-
+
/**
* Compute the value of ${My} for this tag execution.
*/
protected Map<String, Object> computeMy(Element tagInstance, Node processedContent,
TemplateProcessor processor) {
Map<String, Object> myMap = Maps.newHashMap();
-
+
NodeList children = processedContent.getChildNodes();
-
+
for (int i = 0; i < children.getLength(); i++) {
Node child = children.item(i);
if (child instanceof Element) {
@@ -110,10 +110,10 @@ public class TemplateBasedTagHandler ext
String name = atts.item(i).getNodeName();
// Overwrite any pre-existing values, as attributes take
// precedence over elements. This is wasteful if there are attributes
- // and elements with the same name, but that should be very rare
+ // and elements with the same name, but that should be very rare
myMap.put(name, getValueFromTag(tagInstance, name, processor, Object.class));
}
-
+
return myMap;
}
}
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/tags/VariableTagHandler.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/tags/VariableTagHandler.java?rev=1293966&r1=1293965&r2=1293966&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/tags/VariableTagHandler.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/tags/VariableTagHandler.java Sun Feb 26 23:43:20 2012
@@ -44,10 +44,10 @@ public class VariableTagHandler extends
if ("".equals(key)) {
return;
}
-
+
// Get the value (with EL)
Object value = getValueFromTag(tag, "value", processor, Object.class);
-
+
if (processor.getTemplateContext().getMy() == null) {
processor.getTemplateContext().setMy(Maps.<String, Object> newHashMap());
}
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/AllJsIframeVersioner.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/AllJsIframeVersioner.java?rev=1293966&r1=1293965&r2=1293966&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/AllJsIframeVersioner.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/AllJsIframeVersioner.java Sun Feb 26 23:43:20 2012
@@ -44,7 +44,7 @@ import com.google.inject.Inject;
*/
public class AllJsIframeVersioner implements Versioner {
private final String allJsChecksum;
-
+
@Inject
public AllJsIframeVersioner(FeatureRegistry registry) {
StringBuilder jsBuf = new StringBuilder();
@@ -62,11 +62,11 @@ public class AllJsIframeVersioner implem
if (value == null || value.length() == 0) {
return UriStatus.VALID_UNVERSIONED;
}
-
+
if (value.equals(allJsChecksum)) {
return UriStatus.VALID_VERSIONED;
}
-
+
return UriStatus.INVALID_VERSION;
}
}
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/ConcatUriManager.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/ConcatUriManager.java?rev=1293966&r1=1293965&r2=1293966&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/ConcatUriManager.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/ConcatUriManager.java Sun Feb 26 23:43:20 2012
@@ -29,7 +29,7 @@ import java.util.List;
import java.util.Map;
/**
- * Generates concat servlet specific uris.
+ * Generates concat servlet specific uris.
*
* @since 2.0.0
*/
@@ -37,35 +37,35 @@ public interface ConcatUriManager {
public enum Type {
JS("text/javascript", "src", "js", "script"), // JavaScript
CSS("text/css", "href", "css", "link"); // CSS/styling
-
+
private final String mimeType;
private final String srcAttrib;
private final String type;
private final String tagName;
-
+
private Type(String mimeType, String srcAttrib, String type, String tagName) {
this.mimeType = mimeType;
this.srcAttrib = srcAttrib;
this.type = type;
this.tagName = tagName;
}
-
+
public String getMimeType() {
return mimeType;
}
-
+
public String getSrcAttrib() {
return srcAttrib;
}
-
+
public String getType() {
return type;
}
-
+
public String getTagName() {
return tagName;
}
-
+
public static Type fromType(String type) {
for (Type val : Type.values()) {
if (val.getType().equalsIgnoreCase(type)) {
@@ -74,7 +74,7 @@ public interface ConcatUriManager {
}
return null;
}
-
+
public static Type fromMime(String mime) {
for (Type val : Type.values()) {
if (val.getMimeType().equals(mime)) {
@@ -93,7 +93,7 @@ public interface ConcatUriManager {
* in index-correlated order, one per input.
*/
List<ConcatData> make(List<ConcatUri> batches, boolean isAdjacent);
-
+
/**
* Represents a single concatenated Uri. This must include a Uri for
* loading the given resource(s), and may optionally include a
@@ -122,19 +122,19 @@ public interface ConcatUriManager {
null : snippets.get(orig);
}
}
-
+
public static class ConcatUri extends ProxyUriBase {
private final List<Uri> batch;
private final Type type;
private final String splitParam;
-
+
public ConcatUri(Gadget gadget, List<Uri> batch, Type type) {
super(gadget);
this.batch = batch;
this.type = type;
this.splitParam = null;
}
-
+
public ConcatUri(
UriStatus status, List<Uri> uris, String splitParam, Type type, Uri origUri) {
super(status, origUri);
@@ -149,10 +149,10 @@ public interface ConcatUriManager {
return true;
}
if (!(obj instanceof ConcatUri)) {
- return false;
+ return false;
}
ConcatUri objUri = (ConcatUri) obj;
- return (super.equals(obj)
+ return (super.equals(obj)
&& Objects.equal(this.batch, objUri.batch)
&& Objects.equal(this.splitParam, objUri.splitParam)
&& Objects.equal(this.type, objUri.type));
@@ -166,11 +166,11 @@ public interface ConcatUriManager {
public List<Uri> getBatch() {
return batch;
}
-
+
public Type getType() {
return type;
}
-
+
public String getSplitParam() {
return splitParam;
}
@@ -183,7 +183,7 @@ public interface ConcatUriManager {
return ctx;
}
}
-
+
/**
* Parses a given Uri indicating whether it's a concat Uri and if so,
* whether it's valid.
@@ -191,7 +191,7 @@ public interface ConcatUriManager {
* @return Uri validation status
*/
ConcatUri process(Uri uri);
-
+
public interface Versioner {
/**
* Generates a version for each of the provided resources.
@@ -204,7 +204,7 @@ public interface ConcatUriManager {
*/
List<String> version(List<List<Uri>> resourceUris, String container,
List<String> resourceTags);
-
+
/**
* Validate the version of the resource list.
* @param resourceUris Uris of a proxied resource
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultAccelUriManager.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultAccelUriManager.java?rev=1293966&r1=1293965&r2=1293966&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultAccelUriManager.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultAccelUriManager.java Sun Feb 26 23:43:20 2012
@@ -50,7 +50,7 @@ public class DefaultAccelUriManager impl
this.proxyUriManager = proxyUriManager;
config.addConfigObserver(this, true);
}
-
+
public void containersChanged(
ContainerConfig config, Collection<String> changed, Collection<String> removed) {
accelHost = config.getString(AccelUriManager.CONTAINER, PROXY_HOST_PARAM);
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultOAuthUriManager.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultOAuthUriManager.java?rev=1293966&r1=1293965&r2=1293966&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultOAuthUriManager.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultOAuthUriManager.java Sun Feb 26 23:43:20 2012
@@ -29,9 +29,9 @@ import com.google.inject.Inject;
public class DefaultOAuthUriManager implements OAuthUriManager {
static final String OAUTH_GADGET_CALLBACK_URI_PARAM =
"gadgets.uri.oauth.callbackTemplate";
-
+
private final ContainerConfig config;
-
+
@Inject
public DefaultOAuthUriManager(ContainerConfig config) {
this.config = config;
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/IframeUriManager.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/IframeUriManager.java?rev=1293966&r1=1293965&r2=1293966&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/IframeUriManager.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/IframeUriManager.java Sun Feb 26 23:43:20 2012
@@ -58,7 +58,7 @@ public interface IframeUriManager {
* @return Version string for the pair.
*/
String version(Uri gadgetUri, String container);
-
+
/**
* @param gadgetUri Gadget whose version to validate.
* @param container Container in which gadget is being rendered.
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/ProxyUriManager.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/ProxyUriManager.java?rev=1293966&r1=1293965&r2=1293966&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/ProxyUriManager.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/ProxyUriManager.java Sun Feb 26 23:43:20 2012
@@ -39,13 +39,13 @@ import java.util.List;
public interface ProxyUriManager {
/**
* Generate a Uri that proxies the given resource Uri.
- *
+ *
* @param resource Resource Uri to proxy
* @param forcedRefresh Forced expires value to use for resource
* @return Uri of proxied resource
*/
List<Uri> make(List<ProxyUri> resource, Integer forcedRefresh);
-
+
public static class ProxyUri extends ProxyUriBase {
private final Uri resource;
private String fallbackUrl;
@@ -102,10 +102,10 @@ public interface ProxyUriManager {
return true;
}
if (!(obj instanceof ProxyUri)) {
- return false;
+ return false;
}
ProxyUri objUri = (ProxyUri) obj;
- return (super.equals(obj)
+ return (super.equals(obj)
&& Objects.equal(this.resource, objUri.resource)
&& Objects.equal(this.fallbackUrl, objUri.fallbackUrl)
&& Objects.equal(this.resizeHeight, objUri.resizeHeight)
@@ -157,7 +157,7 @@ public interface ProxyUriManager {
public Uri getResource() {
return resource;
}
-
+
public Uri getFallbackUri() throws GadgetException {
if (fallbackUrl == null) {
return null;
@@ -205,9 +205,9 @@ public interface ProxyUriManager {
}
return builder;
}
-
+
@Override
- public HttpRequest makeHttpRequest(Uri targetUri)
+ public HttpRequest makeHttpRequest(Uri targetUri)
throws GadgetException {
HttpRequest req = super.makeHttpRequest(targetUri);
// Set image params:
@@ -221,7 +221,7 @@ public interface ProxyUriManager {
req.setParam(Param.HTML_TAG_CONTEXT.getKey(), htmlTagContext);
return req;
}
-
+
// Creates new ProxyUri's for the given list of resource uri's. Note that
// the proxy uri's will have default values for internal parameters.
public static List<ProxyUri> fromList(Gadget gadget, List<Uri> uris) {
@@ -232,16 +232,16 @@ public interface ProxyUriManager {
return res;
}
}
-
+
/**
* Parse and validate the proxied Uri.
- *
+ *
* @param uri A Uri presumed to be a proxied Uri generated
* by this class or in a compatible way
* @return Status of the Uri passed in
*/
ProxyUri process(Uri uri) throws GadgetException;
-
+
public interface Versioner {
/**
* Generates a version for each of the provided resources.
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/UriModule.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/UriModule.java?rev=1293966&r1=1293965&r2=1293966&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/UriModule.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/UriModule.java Sun Feb 26 23:43:20 2012
@@ -32,16 +32,16 @@ public class UriModule extends AbstractM
protected void configure() {
bind(IframeUriManager.class).to(DefaultIframeUriManager.class);
bind(IframeUriManager.Versioner.class).to(AllJsIframeVersioner.class);
-
+
bind(JsUriManager.class).to(DefaultJsUriManager.class);
bind(JsUriManager.Versioner.class).to(DefaultJsVersioner.class);
-
+
bind(OAuthUriManager.class).to(DefaultOAuthUriManager.class);
-
+
bind(ProxyUriManager.class).to(DefaultProxyUriManager.class);
bind(ProxyUriManager.Versioner.class)
.toProvider(Providers.<ProxyUriManager.Versioner>of(null));
-
+
bind(ConcatUriManager.class).to(DefaultConcatUriManager.class);
bind(ConcatUriManager.Versioner.class)
.toProvider(Providers.<ConcatUriManager.Versioner>of(null));
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/UriUtils.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/UriUtils.java?rev=1293966&r1=1293965&r2=1293966&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/UriUtils.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/UriUtils.java Sun Feb 26 23:43:20 2012
@@ -44,7 +44,7 @@ public final class UriUtils {
private static final Logger LOG = Logger.getLogger(classname, MessageKeys.MESSAGES);
private UriUtils() {}
-
+
/**
* Enum of disallowed response headers that should not be passed on as is to
* the user. The webserver serving out the response should be responsible
@@ -142,7 +142,7 @@ public final class UriUtils {
* @param setHeaders If true, then setHeader method of HttpServletResponse is
* called, otherwise addHeader is called for every header.
* @param disallowedResponseHeaders Disallowed response headers to omit from the response
- * returned to the user.
+ * returned to the user.
* @throws IOException In case the http response was not successful.
*/
public static void copyResponseHeadersAndStatusCode(
@@ -203,7 +203,7 @@ public final class UriUtils {
for (Map.Entry<String, List<String>> inHeader : origRequest.getHeaders().entrySet()) {
String header = inHeader.getKey();
List<String> headerValues = inHeader.getValue();
-
+
if (headerValues != null && !headerValues.isEmpty() &&
isValidHeaderName(header) &&
!allDisallowedHeaders.contains(header.toLowerCase())) {