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 2010/06/02 11:05:02 UTC
svn commit: r950443 [2/7] - in /shindig/branches/2.0.x: ./ config/
content/samplecontainer/ content/samplecontainer/examples/
content/samplecontainer/examples/ActivityStreams/ content/sampledata/
extras/src/main/java/org/apache/shindig/extras/ extras/s...
Modified: shindig/branches/2.0.x/features/src/main/javascript/features/rpc/fe.transport.js
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/features/src/main/javascript/features/rpc/fe.transport.js?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/features/src/main/javascript/features/rpc/fe.transport.js (original)
+++ shindig/branches/2.0.x/features/src/main/javascript/features/rpc/fe.transport.js Wed Jun 2 09:04:51 2010
@@ -117,9 +117,9 @@ gadgets.rpctx.frameElement = function()
ready('..', true);
var ackFn = function() {
window.setTimeout(function() {
- gadgets.rpc.call(receiverId, gadgets.rpc.ACK)
+ gadgets.rpc.call(receiverId, gadgets.rpc.ACK);
}, 500);
- }
+ };
// Setup to container always happens before onload.
// If it didn't, the correct fix would be in gadgets.util.
gadgets.util.registerOnLoadHandler(ackFn);
Modified: shindig/branches/2.0.x/features/src/main/javascript/features/rpc/nix.transport.js
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/features/src/main/javascript/features/rpc/nix.transport.js?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/features/src/main/javascript/features/rpc/nix.transport.js (original)
+++ shindig/branches/2.0.x/features/src/main/javascript/features/rpc/nix.transport.js Wed Jun 2 09:04:51 2010
@@ -159,7 +159,7 @@ gadgets.rpctx.nix = function() {
if (typeof window[NIX_GET_WRAPPER] !== 'unknown') {
window[NIX_HANDLE_MESSAGE] = function(data) {
window.setTimeout(
- function() { processFn(gadgets.json.parse(data)) }, 0);
+ function() { processFn(gadgets.json.parse(data)); }, 0);
};
window[NIX_CREATE_CHANNEL] = function(name, channel, token) {
Modified: shindig/branches/2.0.x/features/src/main/javascript/features/rpc/rmr.transport.js
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/features/src/main/javascript/features/rpc/rmr.transport.js?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/features/src/main/javascript/features/rpc/rmr.transport.js (original)
+++ shindig/branches/2.0.x/features/src/main/javascript/features/rpc/rmr.transport.js Wed Jun 2 09:04:51 2010
@@ -85,10 +85,10 @@ gadgets.rpctx.rmr = function() {
// contentWindow is null, making it impossible to do so.
channelFrame.onload = function() {
processRmrData(opt_frameId);
- }
+ };
}
channelFrame.src = relayUri + '#' + data;
- }
+ };
if (document.body) {
appendFn();
@@ -121,7 +121,7 @@ gadgets.rpctx.rmr = function() {
// The width here is important as RMR
// makes use of the resize handler for the frame.
// Do not modify unless you test thoroughly!
- frameStyle.width = '10px'
+ frameStyle.width = '10px';
frameStyle.height = '1px';
channelFrame.id = 'rmrtransport-' + frameId;
channelFrame.name = channelFrame.id;
Modified: shindig/branches/2.0.x/features/src/main/javascript/features/rpc/rpc.js
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/features/src/main/javascript/features/rpc/rpc.js?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/features/src/main/javascript/features/rpc/rpc.js (original)
+++ shindig/branches/2.0.x/features/src/main/javascript/features/rpc/rpc.js Wed Jun 2 09:04:51 2010
@@ -122,7 +122,7 @@ gadgets.rpc = function() {
gadgets.json.stringify(Array.prototype.slice.call(arguments)) +
"): call ignored. [caller: " + document.location +
", isChild: " + isChild + "]");
- }
+ };
}
return {
getCode: function() {
@@ -134,7 +134,7 @@ gadgets.rpc = function() {
init: logFn("init"),
setup: logFn("setup"),
call: logFn("call")
- }
+ };
})();
// Load the authentication token for speaking to the container
Propchange: shindig/branches/2.0.x/features/src/main/javascript/features/setprefs/
('svn:mergeinfo' removed)
Propchange: shindig/branches/2.0.x/features/src/main/javascript/features/settitle/
('svn:mergeinfo' removed)
Propchange: shindig/branches/2.0.x/features/src/main/javascript/features/skins/
('svn:mergeinfo' removed)
Propchange: shindig/branches/2.0.x/features/src/main/javascript/features/tabs/
('svn:mergeinfo' removed)
Propchange: shindig/branches/2.0.x/features/src/main/javascript/features/views/
('svn:mergeinfo' removed)
Propchange: shindig/branches/2.0.x/features/src/main/javascript/features/xmlutil/
('svn:mergeinfo' removed)
Modified: shindig/branches/2.0.x/features/src/test/javascript/features/core.io/iotest.js
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/features/src/test/javascript/features/core.io/iotest.js?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/features/src/test/javascript/features/core.io/iotest.js (original)
+++ shindig/branches/2.0.x/features/src/test/javascript/features/core.io/iotest.js Wed Jun 2 09:04:51 2010
@@ -171,7 +171,7 @@ IoTest.prototype.testNoMethod_nonDefault
resp = data;
},
{
- "REFRESH_INTERVAL" : 1800,
+ "REFRESH_INTERVAL" : 1800
});
this.assertEquals('some data', resp.text);
};
@@ -194,7 +194,7 @@ IoTest.prototype.testNoMethod_disableRef
resp = data;
},
{
- "REFRESH_INTERVAL" : 0,
+ "REFRESH_INTERVAL" : 0
});
this.assertEquals('some data', resp.text);
};
@@ -772,7 +772,7 @@ IoTest.prototype.testServerFailure = fun
resp = data;
},
{
- "CONTENT_TYPE" : "JSON",
+ "CONTENT_TYPE" : "JSON"
});
this.assertEquals(500, resp.rc);
this.assertEquals(gadgets.json.stringify(["500 Error"]), gadgets.json.stringify(resp.errors));
@@ -800,7 +800,7 @@ IoTest.prototype.testJsonNonAuthoritativ
resp = data;
},
{
- "CONTENT_TYPE" : "JSON",
+ "CONTENT_TYPE" : "JSON"
});
this.assertEquals(3, resp.data.somejsonparam);
};
@@ -826,7 +826,7 @@ IoTest.prototype.testJson = function() {
resp = data;
},
{
- "CONTENT_TYPE" : "JSON",
+ "CONTENT_TYPE" : "JSON"
});
this.assertEquals(3, resp.data.somejsonparam);
};
@@ -852,7 +852,7 @@ IoTest.prototype.testJson_malformed = fu
resp = data;
},
{
- "CONTENT_TYPE" : "JSON",
+ "CONTENT_TYPE" : "JSON"
});
this.assertEquals("500 Failed to parse JSON", resp.errors[0]);
};
@@ -865,7 +865,7 @@ IoTest.prototype.testPreload = function(
"body" : "preloadedbody",
"headers": {
"set-cookie": ["foo=bar","baz=quux"],
- "location": ["somewhere"],
+ "location": ["somewhere"]
}
}
];
@@ -907,7 +907,7 @@ IoTest.prototype.testPreloadMiss_postReq
{
"id": "http://target.example.com/somepage",
"rc" : 200,
- "body" : "preloadedbody",
+ "body" : "preloadedbody"
}
];
@@ -943,7 +943,7 @@ IoTest.prototype.testPreloadMiss_wrongUr
{
"id": "http://target.example.com/somepage2",
"rc" : 200,
- "body" : "preloadedbody",
+ "body" : "preloadedbody"
}
];
@@ -971,7 +971,7 @@ IoTest.prototype.testPreload_error404 =
gadgets.io.preloaded_ = [
{
"id": "http://target.example.com/somepage",
- "rc" : 404,
+ "rc" : 404
}
];
@@ -1010,7 +1010,7 @@ IoTest.prototype.testPreload_oauthApprov
"id": "http://target.example.com/somepage",
"rc" : 200,
"oauthState" : "stateinfo",
- "oauthApprovalUrl" : "http://example.com/approve",
+ "oauthApprovalUrl" : "http://example.com/approve"
}
];
Propchange: shindig/branches/2.0.x/features/src/test/javascript/features/core.io/iotest.js
('svn:mergeinfo' removed)
Propchange: shindig/branches/2.0.x/features/src/test/javascript/features/core/authtest.js
('svn:mergeinfo' removed)
Modified: shindig/branches/2.0.x/features/src/test/javascript/features/core/config-test.js
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/features/src/test/javascript/features/core/config-test.js?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/features/src/test/javascript/features/core/config-test.js (original)
+++ shindig/branches/2.0.x/features/src/test/javascript/features/core/config-test.js Wed Jun 2 09:04:51 2010
@@ -174,7 +174,7 @@ ConfigTest.prototype.testLikeValidator =
key1: function(data) {
key1value = data;
return true;
- },
+ }
});
this.assertTrue(validator({key0:"Key0", key1: "Key1"}));
@@ -193,7 +193,7 @@ ConfigTest.prototype.testLikeValidatorWi
key1: function(data) {
key1value = data;
return true;
- },
+ }
});
this.assertFalse(validator({key0:"Key0", key1: "Key1"}));
Propchange: shindig/branches/2.0.x/features/src/test/javascript/features/core/config-test.js
('svn:mergeinfo' removed)
Propchange: shindig/branches/2.0.x/features/src/test/javascript/features/core/prefstest.js
('svn:mergeinfo' removed)
Propchange: shindig/branches/2.0.x/features/src/test/javascript/features/core/utiltest.js
('svn:mergeinfo' removed)
Propchange: shindig/branches/2.0.x/features/src/test/javascript/features/mocks/
('svn:mergeinfo' removed)
Propchange: shindig/branches/2.0.x/features/src/test/javascript/features/oauthpopup/oauthpopup-test.js
('svn:mergeinfo' removed)
Propchange: shindig/branches/2.0.x/features/src/test/javascript/features/opensocial-base/jsonactivitytest.js
('svn:mergeinfo' removed)
Propchange: shindig/branches/2.0.x/features/src/test/javascript/features/opensocial-data-context/datacontexttest.js
('svn:mergeinfo' removed)
Modified: shindig/branches/2.0.x/features/src/test/javascript/features/opensocial-data/datatest.js
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/features/src/test/javascript/features/opensocial-data/datatest.js?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/features/src/test/javascript/features/opensocial-data/datatest.js (original)
+++ shindig/branches/2.0.x/features/src/test/javascript/features/opensocial-data/datatest.js Wed Jun 2 09:04:51 2010
@@ -126,5 +126,5 @@ DataTest.prototype.testListener = functi
});
opensocial.data.DataContext.putDataSet('testKey', {});
this.assertEquals(true, fired);
-}
+};
Propchange: shindig/branches/2.0.x/features/src/test/javascript/features/opensocial-reference/activitytest.js
('svn:mergeinfo' removed)
Propchange: shindig/branches/2.0.x/features/src/test/javascript/features/opensocial-templates/compiler_test.js
('svn:mergeinfo' removed)
Propchange: shindig/branches/2.0.x/features/src/test/javascript/features/opensocial-templates/container_test.js
('svn:mergeinfo' removed)
Propchange: shindig/branches/2.0.x/features/src/test/javascript/features/opensocial-templates/loader_test.js
('svn:mergeinfo' removed)
Propchange: shindig/branches/2.0.x/features/src/test/javascript/features/opensocial-templates/os_test.js
('svn:mergeinfo' removed)
Propchange: shindig/branches/2.0.x/features/src/test/javascript/features/opensocial-templates/template_test.js
('svn:mergeinfo' removed)
Propchange: shindig/branches/2.0.x/features/src/test/javascript/features/opensocial-templates/util_test.js
('svn:mergeinfo' removed)
Modified: shindig/branches/2.0.x/features/src/test/javascript/features/osapi/osapitest.js
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/features/src/test/javascript/features/osapi/osapitest.js?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/features/src/test/javascript/features/osapi/osapitest.js (original)
+++ shindig/branches/2.0.x/features/src/test/javascript/features/osapi/osapitest.js Wed Jun 2 09:04:51 2010
@@ -36,8 +36,10 @@ OsapiTest.prototype.testCall = function(
var transportCalled = false;
transport.execute = function(requests, callback) {
transportCalled = true;
- callback([{id:"test.method",result:{a:"b"}}]);
- }
+ callback([
+ {id:"test.method",result:{a:"b"}}
+ ]);
+ };
var callbackCalled = false;
osapi.test.method({}).execute(function(result) {
callbackCalled = true;
Propchange: shindig/branches/2.0.x/features/src/test/javascript/features/setprefs/setprefstest.js
('svn:mergeinfo' removed)
Propchange: shindig/branches/2.0.x/features/src/test/javascript/features/views/requestnavigateto-test.js
('svn:mergeinfo' removed)
Propchange: shindig/branches/2.0.x/features/src/test/javascript/features/views/urltemplatetest.js
('svn:mergeinfo' removed)
Propchange: shindig/branches/2.0.x/features/src/test/javascript/features/views/views-init-test.js
('svn:mergeinfo' removed)
Modified: shindig/branches/2.0.x/java/common/conf/shindig.properties
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/common/conf/shindig.properties?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/common/conf/shindig.properties (original)
+++ shindig/branches/2.0.x/java/common/conf/shindig.properties Wed Jun 2 09:04:51 2010
@@ -124,5 +124,16 @@ shindig.http.client.max-object-size-byte
shindig.uri.proxy.use-strict-parsing=false
shindig.uri.concat.use-strict-parsing=false
-
org.apache.shindig.serviceExpirationDurationMinutes=60
+
+#
+# Older versions of shindig used 'data' in the json-rpc response format
+# The spec calls for using 'result' instead, however to avoid breakage we
+# allow you to set it back to the old way here
+#
+# valid values are
+# result - new form
+# data - old broken form
+# both - return both fields for full compatibility
+#
+shindig.json-rpc.result-field=result
Modified: shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/auth/OAuthConstants.java
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/auth/OAuthConstants.java?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/auth/OAuthConstants.java (original)
+++ shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/auth/OAuthConstants.java Wed Jun 2 09:04:51 2010
@@ -19,31 +19,14 @@
package org.apache.shindig.auth;
-public class OAuthConstants {
+public final class OAuthConstants {
+ private OAuthConstants() {}
public static final String OAUTH_SESSION_HANDLE = "oauth_session_handle";
public static final String OAUTH_EXPIRES_IN = "oauth_expires_in";
public static final String OAUTH_BODY_HASH = "oauth_body_hash";
- public static final String OAUTH_VERIFIER = "oauth_verifier";
- public static final String OAUTH_CALLBACK_CONFIRMED = "oauth_callback_confirmed";
public static final String PROBLEM_ACCESS_TOKEN_EXPIRED = "access_token_expired";
-
public static final String PROBLEM_PARAMETER_MISSING = "parameter_missing";
-
- public static final String PROBLEM_TOKEN_REVOKED = "token_revoked";
-
public static final String PROBLEM_TOKEN_INVALID = "token_invalid";
-
- public static final String PROBLEM_PARAMETER_ABSENT = "parameter_absent";
-
public static final String PROBLEM_BAD_VERIFIER = "bad_verifier";
-
- public static final String PROBLEM_TOKEN_REJECTED = "token_rejected";
-
- public static final String PROBLEM_PARAMETER_REJECTED = "parameter_rejected";
-
- public static final String PROBLEM_PERMISSION_DENIED = "permission_denied";
-
- public static final String PROBLEM_CONSUMER_KEY_REFUSED = "consumer_key_refused";
-
- public static final String PROBLEM_CONSUMER_KEY_UNKNOWN = "consumer_key_unknown";}
+}
Modified: shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/auth/OAuthUtil.java
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/auth/OAuthUtil.java?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/auth/OAuthUtil.java (original)
+++ shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/auth/OAuthUtil.java Wed Jun 2 09:04:51 2010
@@ -35,8 +35,9 @@ import java.util.Map.Entry;
* for cases that are extremely unlikely to happen. We turn those IOExceptions in to
* RuntimeExceptions since the caller can't do anything about them anyway.
*/
-public class OAuthUtil {
-
+public final class OAuthUtil {
+ private OAuthUtil() {}
+
public static String getParameter(OAuthMessage message, String name) {
try {
return message.getParameter(name);
Propchange: shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/auth/OAuthUtil.java
('svn:mergeinfo' removed)
Modified: shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/auth/UrlParameterAuthenticationHandler.java
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/auth/UrlParameterAuthenticationHandler.java?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/auth/UrlParameterAuthenticationHandler.java (original)
+++ shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/auth/UrlParameterAuthenticationHandler.java Wed Jun 2 09:04:51 2010
@@ -20,11 +20,8 @@ package org.apache.shindig.auth;
import com.google.common.collect.Maps;
import com.google.inject.Inject;
import net.oauth.OAuth;
-import net.oauth.OAuthMessage;
-import java.util.ArrayList;
import java.util.Enumeration;
-import java.util.List;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -38,6 +35,7 @@ public class UrlParameterAuthenticationH
private static final String SECURITY_TOKEN_PARAM = "st";
private static final String OAUTH2_TOKEN_PARAM = "oauth_token";
private final SecurityTokenDecoder securityTokenDecoder;
+ private static final Pattern COMMAWHITESPACE = Pattern.compile("\\s*,\\s*");
@Inject
public UrlParameterAuthenticationHandler(SecurityTokenDecoder securityTokenDecoder) {
@@ -93,7 +91,7 @@ public class UrlParameterAuthenticationH
for (Enumeration<String> headers = request.getHeaders("Authorization"); headers != null && headers.hasMoreElements();) {
Matcher m = AUTHORIZATION.matcher(headers.nextElement());
if (m.matches() && "Token".equalsIgnoreCase(m.group(1))) {
- for (String nvp : m.group(2).split("\\s*,\\s*")) {
+ for (String nvp : COMMAWHITESPACE.split(m.group(2))) {
m = NVP.matcher(nvp);
if (m.matches() && "token".equals(m.group(1))) {
token = OAuth.decodePercent(m.group(2));
Modified: shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/JsonSerializer.java
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/JsonSerializer.java?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/JsonSerializer.java (original)
+++ shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/JsonSerializer.java Wed Jun 2 09:04:51 2010
@@ -189,7 +189,7 @@ public final class JsonSerializer {
String attribute = entry.getKey();
// Common use case isOwner/isViewer should not be set unless true
- if (!((attribute.equals("isOwner") || attribute.equals("isViewer")) && value.equals(Boolean.FALSE))) {
+ if (!(("isOwner".equals(attribute) || "isViewer".equals(attribute)) && value.equals(Boolean.FALSE))) {
// Drop null values.
if (firstDone) {
buf.append(',');
Modified: shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/JsonUtil.java
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/JsonUtil.java?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/JsonUtil.java (original)
+++ shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/JsonUtil.java Wed Jun 2 09:04:51 2010
@@ -32,11 +32,13 @@ import com.google.common.collect.Maps;
/**
* JSON utilities that are not specific to either serialization or conversion.
*/
-public class JsonUtil {
+public final class JsonUtil {
+ private JsonUtil() {}
+
private static final Set<String> EXCLUDE_METHODS
= ImmutableSet.of("getClass", "getDeclaringClass");
- private static final Map<Class<?>, Map<String, Method>> getters = new MapMaker().makeMap();
+ private static final Map<Class<?>, Map<String, Method>> GETTERS = new MapMaker().makeMap();
/**
* Gets a property of an Object. Will return a property value if
@@ -76,7 +78,7 @@ public class JsonUtil {
static Map<String, Method> getGetters(Object pojo) {
Class<?> clazz = pojo.getClass();
- Map<String, Method> methods = getters.get(clazz);
+ Map<String, Method> methods = GETTERS.get(clazz);
if (methods != null) {
return methods;
}
@@ -92,7 +94,7 @@ public class JsonUtil {
}
}
- getters.put(clazz, methods);
+ GETTERS.put(clazz, methods);
return methods;
}
Modified: shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/Pairs.java
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/Pairs.java?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/Pairs.java (original)
+++ shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/Pairs.java Wed Jun 2 09:04:51 2010
@@ -20,7 +20,8 @@ package org.apache.shindig.common;
/**
* Utility class for creating Pair objects.
*/
-public class Pairs {
+public final class Pairs {
+ private Pairs() {}
public static <T1, T2> Pair<T1, T2> newPair(T1 one, T2 two) {
return new Pair<T1, T2>(one, two);
}
Modified: shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/cache/LruCacheProvider.java
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/cache/LruCacheProvider.java?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/cache/LruCacheProvider.java (original)
+++ shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/cache/LruCacheProvider.java Wed Jun 2 09:04:51 2010
@@ -27,6 +27,7 @@ import com.google.inject.name.Named;
import com.google.inject.name.Names;
import java.util.Map;
+import java.util.logging.Level;
import java.util.logging.Logger;
/**
@@ -84,12 +85,16 @@ public class LruCacheProvider implements
public <K, V> Cache<K, V> createCache(String name) {
int capacity = getCapacity(name);
if (name == null) {
- LOG.fine("Creating anonymous cache");
+ if (LOG.isLoggable(Level.FINE)) {
+ LOG.fine("Creating anonymous cache");
+ }
return new LruCache<K, V>(capacity);
} else {
Cache<K, V> cache = (Cache<K, V>) caches.get(name);
if (cache == null) {
- LOG.fine("Creating cache named " + name);
+ if (LOG.isLoggable(Level.FINE)) {
+ LOG.fine("Creating cache named " + name);
+ }
cache = new LruCache<K, V>(capacity);
caches.put(name, cache);
}
Modified: shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/cache/ehcache/EhCacheCacheProvider.java
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/cache/ehcache/EhCacheCacheProvider.java?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/cache/ehcache/EhCacheCacheProvider.java (original)
+++ shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/cache/ehcache/EhCacheCacheProvider.java Wed Jun 2 09:04:51 2010
@@ -35,10 +35,11 @@ import java.io.IOException;
import java.io.InputStream;
import java.lang.management.ManagementFactory;
import java.util.Map;
+import java.util.logging.Level;
import java.util.logging.Logger;
public class EhCacheCacheProvider implements CacheProvider {
- private final Logger LOG = Logger.getLogger(EhCacheCacheProvider.class.getName());
+ private static final Logger LOG = Logger.getLogger(EhCacheCacheProvider.class.getName());
private final CacheManager cacheManager;
private final Map<String, Cache<?, ?>> caches = new MapMaker().makeMap();
@@ -97,12 +98,16 @@ public class EhCacheCacheProvider implem
@SuppressWarnings("unchecked")
public <K, V> Cache<K, V> createCache(String name) {
if (name == null) {
- LOG.fine("Creating anonymous cache");
+ if (LOG.isLoggable(Level.FINE)) {
+ LOG.fine("Creating anonymous cache");
+ }
return new EhConfiguredCache<K, V>(name, cacheManager);
} else {
Cache<K, V> cache = (Cache<K, V>) caches.get(name);
if (cache == null) {
- LOG.fine("Creating cache named " + name);
+ if (LOG.isLoggable(Level.FINE)) {
+ LOG.fine("Creating cache named " + name);
+ }
cache = new EhConfiguredCache<K, V>(name, cacheManager);
caches.put(name, cache);
}
Modified: shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/crypto/Crypto.java
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/crypto/Crypto.java?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/crypto/Crypto.java (original)
+++ shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/crypto/Crypto.java Wed Jun 2 09:04:51 2010
@@ -32,7 +32,7 @@ import javax.crypto.spec.SecretKeySpec;
/**
* Cryptographic utility functions.
*/
-public class Crypto {
+public final class Crypto {
/**
* Use this random number generator instead of creating your own. This is
Modified: shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/servlet/GuiceServletContextListener.java
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/servlet/GuiceServletContextListener.java?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/servlet/GuiceServletContextListener.java (original)
+++ shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/servlet/GuiceServletContextListener.java Wed Jun 2 09:04:51 2010
@@ -40,6 +40,10 @@ import javax.servlet.ServletContextListe
public class GuiceServletContextListener implements ServletContextListener {
public static final String INJECTOR_ATTRIBUTE = "guice-injector";
public static final String MODULES_ATTRIBUTE = "guice-modules";
+
+ // From guice-servlet-2.0
+ public static final String INJECTOR_NAME = Injector.class.getName();
+
private boolean jmxInitialized = false;
public void contextInitialized(ServletContextEvent event) {
Modified: shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/servlet/HttpUtil.java
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/servlet/HttpUtil.java?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/servlet/HttpUtil.java (original)
+++ shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/servlet/HttpUtil.java Wed Jun 2 09:04:51 2010
@@ -28,7 +28,9 @@ import java.util.regex.Pattern;
/**
* Collection of HTTP utilities
*/
-public class HttpUtil {
+public final class HttpUtil {
+ private HttpUtil() {}
+
// 1 year.
private static int defaultTtl = 60 * 60 * 24 * 365;
Modified: shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/servlet/InjectedFilter.java
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/servlet/InjectedFilter.java?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/servlet/InjectedFilter.java (original)
+++ shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/servlet/InjectedFilter.java Wed Jun 2 09:04:51 2010
@@ -36,9 +36,13 @@ public abstract class InjectedFilter imp
ServletContext context = config.getServletContext();
injector = (Injector) context.getAttribute(GuiceServletContextListener.INJECTOR_ATTRIBUTE);
if (injector == null) {
- throw new UnavailableException(
- "Guice Injector not found! Make sure you registered " +
- GuiceServletContextListener.class.getName() + " as a listener");
+ injector = (Injector)
+ context.getAttribute(GuiceServletContextListener.INJECTOR_NAME);
+ if (injector == null) {
+ throw new UnavailableException(
+ "Guice Injector not found! Make sure you registered " +
+ GuiceServletContextListener.class.getName() + " as a listener");
+ }
}
injector.injectMembers(this);
}
Modified: shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/servlet/InjectedServlet.java
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/servlet/InjectedServlet.java?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/servlet/InjectedServlet.java (original)
+++ shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/servlet/InjectedServlet.java Wed Jun 2 09:04:51 2010
@@ -39,10 +39,14 @@ public abstract class InjectedServlet ex
injector = (Injector)
context.getAttribute(GuiceServletContextListener.INJECTOR_ATTRIBUTE);
if (injector == null) {
- throw new UnavailableException(
- "Guice Injector not found! Make sure you registered " +
- GuiceServletContextListener.class.getName() + " as a listener");
+ injector = (Injector)
+ context.getAttribute(GuiceServletContextListener.INJECTOR_NAME);
+ if (injector == null) {
+ throw new UnavailableException(
+ "Guice Injector not found! Make sure you registered " +
+ GuiceServletContextListener.class.getName() + " as a listener");
+ }
}
injector.injectMembers(this);
}
-}
\ No newline at end of file
+}
Modified: shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/uri/UriBuilder.java
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/uri/UriBuilder.java?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/uri/UriBuilder.java (original)
+++ shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/uri/UriBuilder.java Wed Jun 2 09:04:51 2010
@@ -37,7 +37,7 @@ import javax.servlet.http.HttpServletReq
* Note that the builder will only automatically encode query parameters that are added. Other
* parameters must be encoded explicitly.
*/
-public class UriBuilder {
+public final class UriBuilder {
private static final Pattern QUERY_PATTERN = Pattern.compile("([^&=]+)=([^&=]*)");
private String scheme;
Modified: shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/util/CharsetUtil.java
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/util/CharsetUtil.java?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/util/CharsetUtil.java (original)
+++ shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/util/CharsetUtil.java Wed Jun 2 09:04:51 2010
@@ -27,8 +27,9 @@ import java.nio.charset.Charset;
/**
* Utilities for dealing with character set encoding.
*/
-public class CharsetUtil {
-
+public final class CharsetUtil {
+ private CharsetUtil() {}
+
/**
* UTF-8 Charset.
*/
Modified: shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/util/DateUtil.java
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/util/DateUtil.java?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/util/DateUtil.java (original)
+++ shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/util/DateUtil.java Wed Jun 2 09:04:51 2010
@@ -30,7 +30,7 @@ import java.util.Locale;
/**
* Date parsing and writing utilities.
*/
-public class DateUtil {
+public final class DateUtil {
private static final DateTimeFormatter rfc1123DateFormat = DateTimeFormat
.forPattern("EEE, dd MMM yyyy HH:mm:ss 'GMT'")
Modified: shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/util/FutureUtil.java
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/util/FutureUtil.java?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/util/FutureUtil.java (original)
+++ shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/util/FutureUtil.java Wed Jun 2 09:04:51 2010
@@ -27,7 +27,8 @@ import java.util.concurrent.TimeoutExcep
/**
* Utility methods for processing {@link Future} wrapped objects
*/
-public class FutureUtil {
+public final class FutureUtil {
+ private FutureUtil() {}
/**
* Process a {@link Future} wrapped {@link RestfulCollection}
* to return the first (if any) object, as a {@link Future}
Modified: shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/util/HashUtil.java
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/util/HashUtil.java?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/util/HashUtil.java (original)
+++ shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/util/HashUtil.java Wed Jun 2 09:04:51 2010
@@ -25,7 +25,8 @@ import java.security.NoSuchAlgorithmExce
/**
* Routines for producing hashes.
*/
-public class HashUtil {
+public final class HashUtil {
+ private HashUtil() {}
/**
* Produces a checksum for the given input data.
*
Modified: shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/util/ImmediateFuture.java
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/util/ImmediateFuture.java?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/util/ImmediateFuture.java (original)
+++ shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/util/ImmediateFuture.java Wed Jun 2 09:04:51 2010
@@ -24,7 +24,7 @@ import java.util.concurrent.ExecutionExc
/**
* Implements a future that is immediately available.
*/
-public class ImmediateFuture {
+public final class ImmediateFuture {
private ImmediateFuture() {}
/**
Modified: shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/util/JsonConversionUtil.java
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/util/JsonConversionUtil.java?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/util/JsonConversionUtil.java (original)
+++ shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/util/JsonConversionUtil.java Wed Jun 2 09:04:51 2010
@@ -35,8 +35,9 @@ import java.util.regex.Pattern;
/**
* Utilities for converting a JSON object to and from a URL encoding
*/
-public class JsonConversionUtil {
-
+public final class JsonConversionUtil {
+ private JsonConversionUtil() {}
+
private static final Pattern ARRAY_MATCH = Pattern.compile("(\\w+)\\((\\d+)\\)");
private static final Set<String> RESERVED_PARAMS = ImmutableSet.of("method", "id", "st", "oauth_token");
Modified: shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/util/ResourceLoader.java
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/util/ResourceLoader.java?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/util/ResourceLoader.java (original)
+++ shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/util/ResourceLoader.java Wed Jun 2 09:04:51 2010
@@ -30,8 +30,8 @@ import java.io.InputStream;
/**
* Handles loading contents from resource and file system files.
*/
-public class ResourceLoader {
-
+public final class ResourceLoader {
+ private ResourceLoader() {}
/**
* Opens a given path as either a resource or a file, depending on the path
* name.
Modified: shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/util/Utf8UrlCoder.java
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/util/Utf8UrlCoder.java?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/util/Utf8UrlCoder.java (original)
+++ shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/util/Utf8UrlCoder.java Wed Jun 2 09:04:51 2010
@@ -26,7 +26,9 @@ import java.net.URLEncoder;
* Performs url encoding / decoding with forced utf-8. Automatically takes care
* of boilerplate exception handling.
*/
-public class Utf8UrlCoder {
+public final class Utf8UrlCoder {
+
+ private Utf8UrlCoder() {}
public static String encode(String input) {
try {
Modified: shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/xml/DomUtil.java
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/xml/DomUtil.java?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/xml/DomUtil.java (original)
+++ shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/xml/DomUtil.java Wed Jun 2 09:04:51 2010
@@ -33,7 +33,7 @@ import java.util.Set;
/**
* Utility functions for navigating DOM
*/
-public class DomUtil {
+public final class DomUtil {
private DomUtil() {}
Modified: shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/xml/XmlUtil.java
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/xml/XmlUtil.java?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/xml/XmlUtil.java (original)
+++ shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/common/xml/XmlUtil.java Wed Jun 2 09:04:51 2010
@@ -41,7 +41,7 @@ import javax.xml.parsers.ParserConfigura
* Utility class for simplifying parsing of xml documents. Documents are not validated, and
* loading of external files (xinclude, external entities, DTDs, etc.) are disabled.
*/
-public class XmlUtil {
+public final class XmlUtil {
private static final Logger LOG = Logger.getLogger(XmlUtil.class.getName());
// Handles xml errors so that they're not logged to stderr.
private static final ErrorHandler errorHandler = new ErrorHandler() {
Modified: shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/config/JsonContainerConfig.java
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/config/JsonContainerConfig.java?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/config/JsonContainerConfig.java (original)
+++ shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/config/JsonContainerConfig.java Wed Jun 2 09:04:51 2010
@@ -46,6 +46,7 @@ import java.util.Locale;
import java.util.Map;
import java.util.logging.Logger;
import java.util.logging.Level;
+import java.util.regex.Pattern;
import javax.el.ELContext;
import javax.el.ELException;
@@ -72,6 +73,7 @@ public class JsonContainerConfig extends
private final Map<String, Map<String, Object>> config;
private final Expressions expressions;
+ private static final Pattern CRLF_PATTERN = Pattern.compile("[\r\n]+");
/**
* Creates a new configuration from files.
@@ -253,7 +255,7 @@ public class JsonContainerConfig extends
* @param base The base object that values will be replaced into.
* @param merge The object to merge values from.
*
- * @throws JSONException if the two objects can't be merged for some reason.
+ * @throws org.json.JSONException if the two objects can't be merged for some reason.
*/
private JSONObject mergeObjects(JSONObject base, JSONObject merge)
throws JSONException {
@@ -345,7 +347,7 @@ public class JsonContainerConfig extends
location = location.substring(6);
LOG.info("Loading resources from: " + location);
if (path.endsWith(".txt")) {
- loadResources(ResourceLoader.getContent(location).split("[\r\n]+"), all);
+ loadResources(CRLF_PATTERN.split(ResourceLoader.getContent(location)), all);
} else {
loadResources(new String[]{location}, all);
}
Modified: shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/expressions/OpensocialFunctions.java
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/expressions/OpensocialFunctions.java?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/expressions/OpensocialFunctions.java (original)
+++ shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/expressions/OpensocialFunctions.java Wed Jun 2 09:04:51 2010
@@ -32,7 +32,7 @@ import javax.el.ELException;
/**
* Default functions in the "os:" namespace prefix.
*/
-public class OpensocialFunctions {
+public final class OpensocialFunctions {
private OpensocialFunctions() {
}
Modified: shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/expressions/ShindigTypeConverter.java
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/expressions/ShindigTypeConverter.java?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/expressions/ShindigTypeConverter.java (original)
+++ shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/expressions/ShindigTypeConverter.java Wed Jun 2 09:04:51 2010
@@ -114,7 +114,7 @@ public class ShindigTypeConverter implem
// Does this object have a "list" property that is an array?
// TODO: add to specification
Object childList = json.opt("list");
- if (childList != null && childList instanceof JSONArray) {
+ if (childList instanceof JSONArray) {
return coerceToIterable(childList);
}
Modified: shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/protocol/BaseRequestItem.java
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/protocol/BaseRequestItem.java?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/protocol/BaseRequestItem.java (original)
+++ shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/protocol/BaseRequestItem.java Wed Jun 2 09:04:51 2010
@@ -250,9 +250,7 @@ public class BaseRequestItem implements
}
else if (param instanceof List<?>) {
// Assume it's a list of strings. This is not type-safe.
- @SuppressWarnings("unchecked")
- List<String> listParam = (List<String>) param;
- return listParam;
+ return (List<String>) param;
} else if (param instanceof JSONArray) {
try {
JSONArray jsonArray = (JSONArray)param;
Modified: shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/protocol/ContentTypes.java
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/protocol/ContentTypes.java?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/protocol/ContentTypes.java (original)
+++ shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/protocol/ContentTypes.java Wed Jun 2 09:04:51 2010
@@ -28,8 +28,8 @@ import java.util.logging.Logger;
/**
* Common mime content types and utilities
*/
-public class ContentTypes {
-
+public final class ContentTypes {
+ private ContentTypes() {}
private static final Logger logger = Logger.getLogger(ContentTypes.class.getName());
/**
Modified: shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/protocol/HandlerPreconditions.java
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/protocol/HandlerPreconditions.java?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/protocol/HandlerPreconditions.java (original)
+++ shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/protocol/HandlerPreconditions.java Wed Jun 2 09:04:51 2010
@@ -26,7 +26,7 @@ import javax.servlet.http.HttpServletRes
/**
* Utility class for common API call preconditions
*/
-public class HandlerPreconditions {
+public final class HandlerPreconditions {
private HandlerPreconditions() {}
Modified: shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/protocol/JsonRpcServlet.java
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/protocol/JsonRpcServlet.java?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/protocol/JsonRpcServlet.java (original)
+++ shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/protocol/JsonRpcServlet.java Wed Jun 2 09:04:51 2010
@@ -30,6 +30,7 @@ import com.google.common.collect.Immutab
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.inject.Inject;
+import com.google.inject.name.Named;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
@@ -67,6 +68,14 @@ public class JsonRpcServlet extends ApiS
this.formParser = formParser;
}
+ private String jsonRpcResultField = "result";
+ private boolean jsonRpcBothFields = false;
+ @Inject
+ void setJsonRpcResultField(@Named("shindig.json-rpc.result-field")String jsonRpcResultField) {
+ this.jsonRpcResultField = jsonRpcResultField;
+ jsonRpcBothFields = "both".equals(jsonRpcResultField);
+ }
+
@Override
protected void service(HttpServletRequest servletRequest, HttpServletResponse servletResponse)
throws IOException {
@@ -220,6 +229,17 @@ public class JsonRpcServlet extends ApiS
}
/**
+ *
+ */
+ protected void addResult(Map<String,Object> result, Object data) {
+ if (jsonRpcBothFields) {
+ result.put("result", data);
+ result.put("data", data);
+ }
+ result.put(jsonRpcResultField, data);
+ }
+
+ /**
* Determine if the content contains a batch request
*
* @param content json content or null
@@ -248,7 +268,7 @@ public class JsonRpcServlet extends ApiS
} else {
Object response = responseItem.getResponse();
if (response instanceof DataCollection) {
- result.put("data", ((DataCollection) response).getEntry());
+ addResult(result, ((DataCollection) response).getEntry());
} else if (response instanceof RestfulCollection) {
Map<String, Object> map = Maps.newHashMap();
RestfulCollection<?> collection = (RestfulCollection<?>) response;
@@ -270,9 +290,9 @@ public class JsonRpcServlet extends ApiS
map.put("sorted", collection.isUpdatedSince());
map.put("list", collection.getEntry());
- result.put("data", map);
+ addResult(result, map);
} else {
- result.put("data", response);
+ addResult(result, response);
}
// TODO: put "code" for != 200?
Modified: shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/protocol/conversion/xstream/DataCollectionConverter.java
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/protocol/conversion/xstream/DataCollectionConverter.java?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/protocol/conversion/xstream/DataCollectionConverter.java (original)
+++ shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/protocol/conversion/xstream/DataCollectionConverter.java Wed Jun 2 09:04:51 2010
@@ -53,7 +53,7 @@ public class DataCollectionConverter ext
// Base API is inherently unchecked
@SuppressWarnings("unchecked")
public boolean canConvert(Class clazz) {
- return (DataCollection.class.isAssignableFrom(clazz));
+ return DataCollection.class.isAssignableFrom(clazz);
}
/**
Modified: shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/protocol/conversion/xstream/MapConverter.java
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/protocol/conversion/xstream/MapConverter.java?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/protocol/conversion/xstream/MapConverter.java (original)
+++ shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/protocol/conversion/xstream/MapConverter.java Wed Jun 2 09:04:51 2010
@@ -158,7 +158,7 @@ public class MapConverter extends Abstra
@SuppressWarnings("unchecked")
// API is not generic
public boolean canConvert(Class clazz) {
- return (Map.class.isAssignableFrom(clazz));
+ return Map.class.isAssignableFrom(clazz);
}
}
Modified: shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/protocol/conversion/xstream/RestfullCollectionConverter.java
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/protocol/conversion/xstream/RestfullCollectionConverter.java?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/protocol/conversion/xstream/RestfullCollectionConverter.java (original)
+++ shindig/branches/2.0.x/java/common/src/main/java/org/apache/shindig/protocol/conversion/xstream/RestfullCollectionConverter.java Wed Jun 2 09:04:51 2010
@@ -47,7 +47,7 @@ public class RestfullCollectionConverter
@SuppressWarnings("unchecked")
@Override
public boolean canConvert(Class clazz) {
- return (RestfulCollection.class.isAssignableFrom(clazz));
+ return RestfulCollection.class.isAssignableFrom(clazz);
}
/**
Propchange: shindig/branches/2.0.x/java/common/src/test/java/org/apache/shindig/common/AllTests.java
('svn:mergeinfo' removed)
Modified: shindig/branches/2.0.x/java/common/src/test/java/org/apache/shindig/common/EasyMockTestCase.java
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/common/src/test/java/org/apache/shindig/common/EasyMockTestCase.java?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/common/src/test/java/org/apache/shindig/common/EasyMockTestCase.java (original)
+++ shindig/branches/2.0.x/java/common/src/test/java/org/apache/shindig/common/EasyMockTestCase.java Wed Jun 2 09:04:51 2010
@@ -19,7 +19,8 @@ package org.apache.shindig.common;
import com.google.common.collect.Lists;
-import org.easymock.classextension.EasyMock;
+import org.easymock.EasyMock;
+import org.easymock.IMockBuilder;
import org.junit.Assert;
import java.lang.reflect.Method;
@@ -78,15 +79,15 @@ public abstract class EasyMockTestCase e
**/
protected <T> T mock(Class<T> clazz, Method[] methods, boolean strict) {
- T m = strict ? EasyMock.createMock(clazz, methods)
- : EasyMock.createNiceMock(clazz, methods);
+ IMockBuilder<T> builder = EasyMock.createMockBuilder(clazz).addMockedMethods(methods);
+
+ T m = strict ? builder.createMock() : builder.createNiceMock();
mocks.add(m);
return m;
}
/**
- /**
* Sets each mock to replay mode in the order they were created. Call this after setting
* all of the mock expectations for a test.
*/
Modified: shindig/branches/2.0.x/java/common/src/test/java/org/apache/shindig/common/servlet/HttpUtilTest.java
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/common/src/test/java/org/apache/shindig/common/servlet/HttpUtilTest.java?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/common/src/test/java/org/apache/shindig/common/servlet/HttpUtilTest.java (original)
+++ shindig/branches/2.0.x/java/common/src/test/java/org/apache/shindig/common/servlet/HttpUtilTest.java Wed Jun 2 09:04:51 2010
@@ -27,7 +27,7 @@ import org.apache.commons.lang.StringUti
import org.apache.shindig.common.servlet.HttpUtil;
import org.apache.shindig.common.util.DateUtil;
import org.apache.shindig.common.util.FakeTimeSource;
-import org.easymock.classextension.EasyMock;
+import org.easymock.EasyMock;
import org.junit.Ignore;
import org.junit.Test;
Propchange: shindig/branches/2.0.x/java/common/src/test/java/org/apache/shindig/common/testing/
('svn:mergeinfo' removed)
Modified: shindig/branches/2.0.x/java/common/src/test/java/org/apache/shindig/common/uri/UriBuilderTest.java
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/common/src/test/java/org/apache/shindig/common/uri/UriBuilderTest.java?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/common/src/test/java/org/apache/shindig/common/uri/UriBuilderTest.java (original)
+++ shindig/branches/2.0.x/java/common/src/test/java/org/apache/shindig/common/uri/UriBuilderTest.java Wed Jun 2 09:04:51 2010
@@ -17,10 +17,10 @@
*/
package org.apache.shindig.common.uri;
-import static org.easymock.classextension.EasyMock.createMock;
-import static org.easymock.classextension.EasyMock.expect;
-import static org.easymock.classextension.EasyMock.replay;
-import static org.easymock.classextension.EasyMock.verify;
+import static org.easymock.EasyMock.createMock;
+import static org.easymock.EasyMock.expect;
+import static org.easymock.EasyMock.replay;
+import static org.easymock.EasyMock.verify;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static junitx.framework.Assert.assertNotEquals;
Modified: shindig/branches/2.0.x/java/common/src/test/java/org/apache/shindig/protocol/DataServiceServletTest.java
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/common/src/test/java/org/apache/shindig/protocol/DataServiceServletTest.java?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/common/src/test/java/org/apache/shindig/protocol/DataServiceServletTest.java (original)
+++ shindig/branches/2.0.x/java/common/src/test/java/org/apache/shindig/protocol/DataServiceServletTest.java Wed Jun 2 09:04:51 2010
@@ -31,7 +31,7 @@ import org.apache.shindig.config.Contain
import org.apache.shindig.protocol.conversion.BeanConverter;
import org.apache.shindig.protocol.conversion.BeanJsonConverter;
import org.easymock.IMocksControl;
-import org.easymock.classextension.EasyMock;
+import org.easymock.EasyMock;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
Modified: shindig/branches/2.0.x/java/common/src/test/java/org/apache/shindig/protocol/JsonRpcServletTest.java
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/common/src/test/java/org/apache/shindig/protocol/JsonRpcServletTest.java?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/common/src/test/java/org/apache/shindig/protocol/JsonRpcServletTest.java (original)
+++ shindig/branches/2.0.x/java/common/src/test/java/org/apache/shindig/protocol/JsonRpcServletTest.java Wed Jun 2 09:04:51 2010
@@ -20,7 +20,7 @@ package org.apache.shindig.protocol;
import static org.easymock.EasyMock.expect;
import static org.easymock.EasyMock.expectLastCall;
import static org.easymock.EasyMock.isA;
-import static org.easymock.classextension.EasyMock.reset;
+import static org.easymock.EasyMock.reset;
import org.apache.shindig.common.JsonAssert;
import org.apache.shindig.common.testing.FakeGadgetToken;
@@ -29,7 +29,7 @@ import org.apache.shindig.protocol.conve
import org.apache.shindig.protocol.multipart.FormDataItem;
import org.apache.shindig.protocol.multipart.MultipartFormParser;
import org.easymock.IMocksControl;
-import org.easymock.classextension.EasyMock;
+import org.easymock.EasyMock;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
@@ -120,7 +120,7 @@ public class JsonRpcServletTest extends
servlet.service(req, res);
mockControl.verify();
- JsonAssert.assertJsonEquals("{id: 'id', data: {foo:'bar'}}", getOutput());
+ JsonAssert.assertJsonEquals("{id: 'id', result: {foo:'bar'}}", getOutput());
}
@Test
@@ -158,7 +158,7 @@ public class JsonRpcServletTest extends
servlet.service(req, res);
mockControl.verify();
- JsonAssert.assertJsonEquals("{id: 'id', data: {image-data:'" + IMAGE_DATA +
+ JsonAssert.assertJsonEquals("{id: 'id', result: {image-data:'" + IMAGE_DATA +
"', image-type:'" + IMAGE_TYPE + "', image-ref:'@" + IMAGE_FIELDNAME + "'}}", getOutput());
}
@@ -200,7 +200,7 @@ public class JsonRpcServletTest extends
servlet.service(req, res);
mockControl.verify();
- JsonAssert.assertJsonEquals("{id: 'id', data: {image-data:'" + IMAGE_DATA +
+ JsonAssert.assertJsonEquals("{id: 'id', result: {image-data:'" + IMAGE_DATA +
"', image-type:'" + IMAGE_TYPE + "', image-ref:'@" + IMAGE_FIELDNAME + "'}}", getOutput());
}
@@ -247,7 +247,7 @@ public class JsonRpcServletTest extends
servlet.service(req, res);
mockControl.verify();
- JsonAssert.assertJsonEquals("{id: 'id', data: {image-data:'" + IMAGE_DATA +
+ JsonAssert.assertJsonEquals("{id: 'id', result: {image-data:'" + IMAGE_DATA +
"', image-type:'" + IMAGE_TYPE + "', image-ref:'@" + IMAGE_FIELDNAME + "'}}", getOutput());
}
@@ -342,7 +342,7 @@ public class JsonRpcServletTest extends
servlet.service(req, res);
mockControl.verify();
- JsonAssert.assertJsonEquals("[{id:'1',data:{foo:'bar'}},{id:'2',data:{foo:'bar'}}]",
+ JsonAssert.assertJsonEquals("[{id:'1',result:{foo:'bar'}},{id:'2',result:{foo:'bar'}}]",
getOutput());
}
@@ -362,21 +362,21 @@ public class JsonRpcServletTest extends
servlet.service(req, res);
mockControl.verify();
- JsonAssert.assertJsonEquals("{id:'1',data:{foo:'bar'}}", getOutput());
+ JsonAssert.assertJsonEquals("{id:'1',result:{foo:'bar'}}", getOutput());
}
@Test
public void testGetJsonResponseWithKey() throws Exception {
ResponseItem responseItem = new ResponseItem("Name");
Object result = servlet.getJSONResponse("my-key", responseItem);
- JsonAssert.assertObjectEquals("{id: 'my-key', data: 'Name'}", result);
+ JsonAssert.assertObjectEquals("{id: 'my-key', result: 'Name'}", result);
}
@Test
public void testGetJsonResponseWithoutKey() throws Exception {
ResponseItem responseItem = new ResponseItem("Name");
Object result = servlet.getJSONResponse(null, responseItem);
- JsonAssert.assertObjectEquals("{data: 'Name'}", result);
+ JsonAssert.assertObjectEquals("{result: 'Name'}", result);
}
@Test
Modified: shindig/branches/2.0.x/java/gadgets/pom.xml
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/gadgets/pom.xml?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/gadgets/pom.xml (original)
+++ shindig/branches/2.0.x/java/gadgets/pom.xml Wed Jun 2 09:04:51 2010
@@ -138,6 +138,10 @@
<artifactId>caja</artifactId>
</dependency>
<dependency>
+ <groupId>caja</groupId>
+ <artifactId>htmlparser</artifactId>
+ </dependency>
+ <dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
</dependency>
@@ -150,6 +154,10 @@
<artifactId>oauth-httpclient4</artifactId>
</dependency>
<dependency>
+ <groupId>net.oauth.core</groupId>
+ <artifactId>oauth-provider</artifactId>
+ </dependency>
+ <dependency>
<groupId>com.google.collections</groupId>
<artifactId>google-collections</artifactId>
</dependency>
Modified: shindig/branches/2.0.x/java/gadgets/src/main/java/org/apache/shindig/gadgets/BasicGadgetBlacklist.java
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/gadgets/src/main/java/org/apache/shindig/gadgets/BasicGadgetBlacklist.java?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/gadgets/src/main/java/org/apache/shindig/gadgets/BasicGadgetBlacklist.java (original)
+++ shindig/branches/2.0.x/java/gadgets/src/main/java/org/apache/shindig/gadgets/BasicGadgetBlacklist.java Wed Jun 2 09:04:51 2010
@@ -33,7 +33,6 @@ import java.io.IOException;
import java.util.List;
import java.util.Set;
import java.util.regex.Pattern;
-import java.util.regex.PatternSyntaxException;
/**
* Basic implementation of a {@code GadgetBlacklist}, reading blacklist data
@@ -72,8 +71,6 @@ public class BasicGadgetBlacklist implem
*
* @param blacklistFile file containing blacklist entries
* @throws IOException if reading the file fails
- * @throws PatternSyntaxException if an invalid regular expression occurs in
- * the file
*/
public BasicGadgetBlacklist(File blacklistFile) throws IOException {
exactMatches = Sets.newHashSet();
@@ -104,7 +101,7 @@ public class BasicGadgetBlacklist implem
if (parts.length == 1) {
exactMatches.add(line.toLowerCase());
} else if (parts.length == 2
- && parts[0].toUpperCase().equals(REGEXP_PREFIX)) {
+ && parts[0].equalsIgnoreCase(REGEXP_PREFIX)) {
// compile will throw PatternSyntaxException on invalid patterns.
regexpMatches.add(Pattern.compile(parts[1], Pattern.CASE_INSENSITIVE));
}
Modified: shindig/branches/2.0.x/java/gadgets/src/main/java/org/apache/shindig/gadgets/FetchResponseUtils.java
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/gadgets/src/main/java/org/apache/shindig/gadgets/FetchResponseUtils.java?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/gadgets/src/main/java/org/apache/shindig/gadgets/FetchResponseUtils.java (original)
+++ shindig/branches/2.0.x/java/gadgets/src/main/java/org/apache/shindig/gadgets/FetchResponseUtils.java Wed Jun 2 09:04:51 2010
@@ -29,8 +29,8 @@ import java.util.Map;
/**
* Handles converting HttpResponse objects to the format expected by the makeRequest javascript.
*/
-public class FetchResponseUtils {
-
+public final class FetchResponseUtils {
+ private FetchResponseUtils() {}
/**
* Convert a response to a JSON object.
*
Modified: shindig/branches/2.0.x/java/gadgets/src/main/java/org/apache/shindig/gadgets/encoding/EncodingDetector.java
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/gadgets/src/main/java/org/apache/shindig/gadgets/encoding/EncodingDetector.java?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/gadgets/src/main/java/org/apache/shindig/gadgets/encoding/EncodingDetector.java (original)
+++ shindig/branches/2.0.x/java/gadgets/src/main/java/org/apache/shindig/gadgets/encoding/EncodingDetector.java Wed Jun 2 09:04:51 2010
@@ -28,11 +28,13 @@ import com.ibm.icu.text.CharsetMatch;
*
* Highly skewed towards common encodings (UTF-8 and Latin-1).
*/
-public class EncodingDetector {
+public final class EncodingDetector {
+ private EncodingDetector() {}
+
private static final Charset UTF_8 = Charset.forName("UTF-8");
private static final Charset ISO_8859_1 = Charset.forName("ISO-8859-1");
-
+
public static class FallbackEncodingDetector {
public Charset detectEncoding(byte[] input) {
// Fall back to the incredibly slow ICU. It might be better to just skip this entirely.
@@ -51,7 +53,7 @@ public class EncodingDetector {
* encoding for HTTP) if the bytes are not valid UTF-8. Only recommended if you can reasonably
* expect that other encodings are going to be specified. Full encoding detection is very
* expensive!
- * @param alternateDecoder specify a fallback encoding detection.
+ * @param alternateDecoder specify a fallback encoding detection.
* Only used if assume88591IfNotUtf8 is false.
* @return The detected encoding.
*/
@@ -103,11 +105,16 @@ public class EncodingDetector {
return false;
}
+ if (endOfSequence >= j) {
+ // End of sequence reached, not a valid sequence
+ return false;
+ }
+
while (i < endOfSequence) {
i++;
bite = input[i];
if ((bite & 0xC0) != 0x80) {
- // High bit not set, not a vlaid sequence
+ // High bit not set, not a valid sequence
return false;
}
}
Modified: shindig/branches/2.0.x/java/gadgets/src/main/java/org/apache/shindig/gadgets/features/FeatureParser.java
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/gadgets/src/main/java/org/apache/shindig/gadgets/features/FeatureParser.java?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/gadgets/src/main/java/org/apache/shindig/gadgets/features/FeatureParser.java (original)
+++ shindig/branches/2.0.x/java/gadgets/src/main/java/org/apache/shindig/gadgets/features/FeatureParser.java Wed Jun 2 09:04:51 2010
@@ -102,7 +102,7 @@ class FeatureParser {
return attribs.build();
}
- static class ParsedFeature {
+ static final class ParsedFeature {
private final String name;
private final List<String> deps;
private final List<Bundle> bundles;
@@ -125,7 +125,7 @@ class FeatureParser {
return bundles;
}
- public static class Bundle {
+ public final static class Bundle {
private final String type;
private final Map<String, String> attribs;
private final List<Resource> resources;
@@ -149,7 +149,7 @@ class FeatureParser {
}
}
- static class Resource {
+ static final class Resource {
private final Uri source;
private final String content;
private final Map<String, String> attribs;
Modified: shindig/branches/2.0.x/java/gadgets/src/main/java/org/apache/shindig/gadgets/features/FeatureRegistry.java
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/gadgets/src/main/java/org/apache/shindig/gadgets/features/FeatureRegistry.java?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/gadgets/src/main/java/org/apache/shindig/gadgets/features/FeatureRegistry.java (original)
+++ shindig/branches/2.0.x/java/gadgets/src/main/java/org/apache/shindig/gadgets/features/FeatureRegistry.java Wed Jun 2 09:04:51 2010
@@ -74,7 +74,8 @@ public class FeatureRegistry {
/**
*
- * @param featureFiles
+ * @param resourceLoader
+ * @param featuresoo
* @throws GadgetException
*/
@Inject
@@ -104,7 +105,7 @@ public class FeatureRegistry {
* That is, their dependencies must all be valid features as well, and the
* dependency tree must not contain circular dependencies.
*
- * @param resourceKey The file or directory to load the feature from. If feature.xml
+ * @param resourceList The files or directories to load the feature from. If feature.xml
* is passed in directly, it will be loaded as a single feature. If a
* directory is passed, any features in that directory (recursively) will
* be loaded. If res://*.txt or res:*.txt is passed, we will look for named resources
@@ -474,7 +475,7 @@ public class FeatureRegistry {
return ImmutableMap.<String, String>builder().putAll(bundleAttribs).putAll(resourceAttribs).build();
}
- private static class InlineFeatureResource extends FeatureResource.Default {
+ private static final class InlineFeatureResource extends FeatureResource.Default {
private final String content;
private InlineFeatureResource(String content) {
@@ -490,7 +491,7 @@ public class FeatureRegistry {
}
}
- private static class FeatureBundle {
+ private static final class FeatureBundle {
private final String type;
private final Map<String, String> attribs;
private final List<FeatureResource> resources;
@@ -514,7 +515,7 @@ public class FeatureRegistry {
}
}
- private static class FeatureNode {
+ private static final class FeatureNode {
private final String name;
private final List<FeatureBundle> bundles;
private final List<String> requestedDeps;
@@ -587,7 +588,7 @@ public class FeatureRegistry {
}
}
- private static class FeatureCacheKey {
+ private static final class FeatureCacheKey {
private final Collection<String> needed;
private final RenderingContext rCtx;
private final String container;
Modified: shindig/branches/2.0.x/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/AbstractHttpCache.java
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/AbstractHttpCache.java?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/AbstractHttpCache.java (original)
+++ shindig/branches/2.0.x/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/AbstractHttpCache.java Wed Jun 2 09:04:51 2010
@@ -17,15 +17,9 @@
*/
package org.apache.shindig.gadgets.http;
-import static org.apache.shindig.gadgets.rewrite.image.BasicImageRewriter.PARAM_RESIZE_HEIGHT;
-import static org.apache.shindig.gadgets.rewrite.image.BasicImageRewriter.PARAM_RESIZE_QUALITY;
-import static org.apache.shindig.gadgets.rewrite.image.BasicImageRewriter.PARAM_RESIZE_WIDTH;
-
-import com.google.inject.Inject;
-
import org.apache.shindig.auth.SecurityToken;
-import org.apache.shindig.common.util.TimeSource;
import org.apache.shindig.gadgets.AuthType;
+import org.apache.shindig.gadgets.uri.UriCommon;
/**
* Base class for content caches. Defines cache expiration rules and
@@ -37,15 +31,9 @@ import org.apache.shindig.gadgets.AuthTy
* of building your own keys from scratch.
*/
public abstract class AbstractHttpCache implements HttpCache {
- private TimeSource clock = new TimeSource();
-
- /**
- * Subclasses should call this directly or be injected themselves to override.
- */
- @Inject
- public void setClock(TimeSource clock) {
- this.clock = clock;
- }
+ private static final String RESIZE_HEIGHT = UriCommon.Param.RESIZE_HEIGHT.getKey();
+ private static final String RESIZE_WIDTH = UriCommon.Param.RESIZE_WIDTH.getKey();
+ private static final String RESIZE_QUALITY = UriCommon.Param.RESIZE_QUALITY.getKey();
// Implement these methods to create a concrete HttpCache class.
protected abstract HttpResponse getResponseImpl(String key);
@@ -152,9 +140,9 @@ public abstract class AbstractHttpCache
.setLegacyParam(6, getInstanceId(request))
.setLegacyParam(7, getServiceName(request))
.setLegacyParam(8, getTokenName(request))
- .setParam("rh", request.getParam(PARAM_RESIZE_HEIGHT))
- .setParam("rw", request.getParam(PARAM_RESIZE_WIDTH))
- .setParam("rq", request.getParam(PARAM_RESIZE_QUALITY));
+ .setParam("rh", request.getParam(RESIZE_HEIGHT))
+ .setParam("rw", request.getParam(RESIZE_WIDTH))
+ .setParam("rq", request.getParam(RESIZE_QUALITY));
return keyBuilder.build();
}
Modified: shindig/branches/2.0.x/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/DefaultRequestPipeline.java
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/DefaultRequestPipeline.java?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/DefaultRequestPipeline.java (original)
+++ shindig/branches/2.0.x/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/DefaultRequestPipeline.java Wed Jun 2 09:04:51 2010
@@ -21,11 +21,13 @@ import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.inject.Singleton;
import com.google.inject.internal.Nullable;
+import com.google.inject.name.Named;
import org.apache.shindig.common.util.Utf8UrlCoder;
import org.apache.shindig.gadgets.GadgetException;
import org.apache.shindig.gadgets.oauth.OAuthRequest;
-import org.apache.shindig.gadgets.rewrite.image.ImageRewriter;
+import org.apache.shindig.gadgets.rewrite.ResponseRewriterRegistry;
+import org.apache.shindig.gadgets.rewrite.RewritingException;
/**
* A standard implementation of a request pipeline. Performs request caching and
@@ -36,7 +38,7 @@ public class DefaultRequestPipeline impl
private final HttpFetcher httpFetcher;
private final HttpCache httpCache;
private final Provider<OAuthRequest> oauthRequestProvider;
- private final ImageRewriter imageRewriter;
+ private final ResponseRewriterRegistry responseRewriterRegistry;
private final InvalidationService invalidationService;
private final HttpResponseMetadataHelper metadataHelper;
@@ -44,13 +46,14 @@ public class DefaultRequestPipeline impl
public DefaultRequestPipeline(HttpFetcher httpFetcher,
HttpCache httpCache,
Provider<OAuthRequest> oauthRequestProvider,
- ImageRewriter imageRewriter,
+ @Named("shindig.rewriters.response.pre-cache")
+ ResponseRewriterRegistry responseRewriterRegistry,
InvalidationService invalidationService,
@Nullable HttpResponseMetadataHelper metadataHelper) {
this.httpFetcher = httpFetcher;
this.httpCache = httpCache;
this.oauthRequestProvider = oauthRequestProvider;
- this.imageRewriter = imageRewriter;
+ this.responseRewriterRegistry = responseRewriterRegistry;
this.invalidationService = invalidationService;
this.metadataHelper = metadataHelper;
}
@@ -106,8 +109,13 @@ public class DefaultRequestPipeline impl
}
if (!fetchedResponse.isError() && !request.getIgnoreCache() && request.getCacheTtl() != 0) {
- fetchedResponse = imageRewriter.rewrite(request, fetchedResponse);
+ try {
+ fetchedResponse = responseRewriterRegistry.rewriteHttpResponse(request, fetchedResponse);
+ } catch (RewritingException e) {
+ throw new GadgetException(GadgetException.Code.INTERNAL_SERVER_ERROR, e, e.getHttpStatusCode());
+ }
}
+
// Set response hash value in metadata (used for url versioning)
fetchedResponse = HttpResponseMetadataHelper.updateHash(fetchedResponse, metadataHelper);
if (!request.getIgnoreCache() ) {
Modified: shindig/branches/2.0.x/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/HttpResponseBuilder.java
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/HttpResponseBuilder.java?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/HttpResponseBuilder.java (original)
+++ shindig/branches/2.0.x/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/HttpResponseBuilder.java Wed Jun 2 09:04:51 2010
@@ -45,35 +45,49 @@ public class HttpResponseBuilder extends
private int httpStatusCode = HttpResponse.SC_OK;
private final Multimap<String, String> headers = HttpResponse.newHeaderMultimap();
private final Map<String, String> metadata = Maps.newHashMap();
-
+
+ // Stores the HttpResponse object, if any, from which this Builder is constructed.
+ // This allows us to avoid creating a new HttpResponse in create() when no changes
+ // have been made.
+ private HttpResponse responseObj;
+ private int responseObjNumChanges;
+
+ public HttpResponseBuilder(GadgetHtmlParser parser, HttpResponse response) {
+ super(parser, response);
+ if (response != null) {
+ httpStatusCode = response.getHttpStatusCode();
+ headers.putAll(response.getHeaders());
+ metadata.putAll(response.getMetadata());
+ } else {
+ setResponse(null);
+ }
+ responseObj = response;
+ responseObjNumChanges = getNumChanges();
+ }
+
public HttpResponseBuilder() {
- super(unsupportedParser(), (String)null);
- this.setResponse(null);
+ this(unsupportedParser(), null);
}
public HttpResponseBuilder(HttpResponseBuilder builder) {
- super(unsupportedParser(), builder.create());
- httpStatusCode = builder.httpStatusCode;
- headers.putAll(builder.headers);
- metadata.putAll(builder.metadata);
+ this(unsupportedParser(), builder.create());
}
public HttpResponseBuilder(HttpResponse response) {
this(unsupportedParser(), response);
}
-
- public HttpResponseBuilder(GadgetHtmlParser parser, HttpResponse response) {
- super(parser, response);
- httpStatusCode = response.getHttpStatusCode();
- headers.putAll(response.getHeaders());
- metadata.putAll(response.getMetadata());
- }
/**
* @return A new HttpResponse.
*/
public HttpResponse create() {
- return new HttpResponse(this);
+ if (getNumChanges() != responseObjNumChanges || responseObj == null) {
+ // Short-circuit the creation process: no need to create a
+ // new (immutable) HttpResponse object when no modifications occurred.
+ responseObj = new HttpResponse(this);
+ responseObjNumChanges = getNumChanges();
+ }
+ return responseObj;
}
/**
@@ -86,21 +100,23 @@ public class HttpResponseBuilder extends
}
public HttpResponseBuilder setEncoding(Charset charset) {
-
Collection<String> values = headers.get("Content-Type");
if (!values.isEmpty()) {
String contentType = values.iterator().next();
- String newContentType = "";
+ StringBuilder newContentType = new StringBuilder("");
// Remove previously set charset:
String[] parts = StringUtils.split(contentType, ';');
for (String part : parts) {
if (!part.contains("charset=")) {
- newContentType += part + "; ";
+ newContentType.append(part).append("; ");
}
}
- newContentType += "charset=" + charset.name();
+ newContentType.append("charset=").append(charset.name());
values.clear();
- values.add(newContentType);
+ values.add(newContentType.toString());
+ if (!(values.size() == 1 && !contentType.equals(newContentType))) {
+ incrementNumChanges();
+ }
}
return this;
}
@@ -130,13 +146,23 @@ public class HttpResponseBuilder extends
}
public HttpResponseBuilder setHttpStatusCode(int httpStatusCode) {
- this.httpStatusCode = httpStatusCode;
+ if (this.httpStatusCode != httpStatusCode) {
+ this.httpStatusCode = httpStatusCode;
+ incrementNumChanges();
+ }
+ return this;
+ }
+
+ public HttpResponseBuilder clearAllHeaders() {
+ incrementNumChanges();
+ headers.clear();
return this;
}
public HttpResponseBuilder addHeader(String name, String value) {
if (name != null) {
headers.put(name, value);
+ incrementNumChanges();
}
return this;
}
@@ -144,6 +170,7 @@ public class HttpResponseBuilder extends
public HttpResponseBuilder setHeader(String name, String value) {
if (name != null) {
headers.replaceValues(name, Lists.newArrayList(value));
+ incrementNumChanges();
}
return this;
}
@@ -158,6 +185,7 @@ public class HttpResponseBuilder extends
public HttpResponseBuilder addHeaders(Map<String, String> headers) {
for (Map.Entry<String,String> entry : headers.entrySet()) {
this.headers.put(entry.getKey(), entry.getValue());
+ incrementNumChanges();
}
return this;
}
@@ -165,18 +193,24 @@ public class HttpResponseBuilder extends
public HttpResponseBuilder addAllHeaders(Map<String, ? extends List<String>> headers) {
for (Map.Entry<String,? extends List<String>> entry : headers.entrySet()) {
this.headers.putAll(entry.getKey(), entry.getValue());
+ incrementNumChanges();
}
return this;
}
public Collection<String> removeHeader(String name) {
- return headers.removeAll(name);
+ Collection<String> ret = headers.removeAll(name);
+ if (ret != null) {
+ incrementNumChanges();
+ }
+ return ret;
}
public HttpResponseBuilder setCacheTtl(int cacheTtl) {
headers.removeAll("Pragma");
headers.removeAll("Expires");
headers.replaceValues("Cache-Control", ImmutableList.of("public,max-age=" + cacheTtl));
+ incrementNumChanges();
return this;
}
@@ -184,6 +218,7 @@ public class HttpResponseBuilder extends
headers.removeAll("Cache-Control");
headers.removeAll("Pragma");
headers.put("Expires", DateUtil.formatRfc1123Date(expirationTime));
+ incrementNumChanges();
return this;
}
@@ -195,18 +230,25 @@ public class HttpResponseBuilder extends
headers.replaceValues("Cache-Control", NO_CACHE_HEADER);
headers.replaceValues("Pragma", NO_CACHE_HEADER);
headers.removeAll("Expires");
+ incrementNumChanges();
return this;
}
public HttpResponseBuilder setMetadata(String key, String value) {
metadata.put(key, value);
+ incrementNumChanges();
return this;
}
public HttpResponseBuilder setMetadata(Map<String, String> metadata) {
this.metadata.putAll(metadata);
+ incrementNumChanges();
return this;
}
+
+ public int getContentLength() {
+ return getResponse().length;
+ }
Multimap<String, String> getHeaders() {
return headers;
Modified: shindig/branches/2.0.x/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/InvalidationHandler.java
URL: http://svn.apache.org/viewvc/shindig/branches/2.0.x/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/InvalidationHandler.java?rev=950443&r1=950442&r2=950443&view=diff
==============================================================================
--- shindig/branches/2.0.x/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/InvalidationHandler.java (original)
+++ shindig/branches/2.0.x/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/InvalidationHandler.java Wed Jun 2 09:04:51 2010
@@ -86,7 +86,7 @@ public class InvalidationHandler {
}
resources.add(Uri.parse(key));
} else {
- if (key.equals("@viewer")) {
+ if ("@viewer".equals(key)) {
// Viewer is invalidated by default if available
continue;
}