Author: lindner
Date: Fri Jan 23 14:35:40 2009
New Revision: 737212
URL: http://svn.apache.org/viewvc?rev=737212&view=rev
Log:
use Preconditions in a few places
Modified:
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/common/crypto/BasicBlobCrypter.java
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetFeatureRegistry.java
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/preload/PipelinedDataPreloader.java
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/JsonContainerConf.java
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/ActivityHandler.java
Modified:
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/common/crypto/BasicBlobCrypter.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/common/crypto/BasicBlobCrypter.java?rev=737212&r1=737211&r2=737212&view=diff
==============================================================================
---
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/common/crypto/BasicBlobCrypter.java
(original)
+++
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/common/crypto/BasicBlobCrypter.java
Fri Jan 23 14:35:40 2009
@@ -19,6 +19,7 @@
package org.apache.shindig.common.crypto;
import com.google.common.collect.Maps;
+import com.google.common.base.Preconditions;
import org.apache.shindig.common.util.CharsetUtil;
import org.apache.shindig.common.util.TimeSource;
@@ -102,10 +103,9 @@
}
private void init(byte[] masterKey) {
- if (masterKey.length < MASTER_KEY_MIN_LEN) {
- throw new IllegalArgumentException("Master key needs at least " +
- MASTER_KEY_MIN_LEN + " bytes");
- }
+ Preconditions.checkArgument(masterKey.length >= MASTER_KEY_MIN_LEN,
+ "Master key needs at least %s bytes", MASTER_KEY_MIN_LEN);
+
cipherKey = deriveKey(CIPHER_KEY_LABEL, masterKey, Crypto.CIPHER_KEY_LEN);
hmacKey = deriveKey(HMAC_KEY_LABEL, masterKey, 0);
}
@@ -136,9 +136,9 @@
*/
public String wrap(Map<String, String> in)
throws BlobCrypterException {
- if (in.containsKey(TIMESTAMP_KEY)) {
- throw new IllegalArgumentException("No '" + TIMESTAMP_KEY + "' key
allowed for BlobCrypter");
- }
+ Preconditions.checkArgument(!in.containsKey(TIMESTAMP_KEY),
+ "No '%s' key allowed for BlobCrypter", TIMESTAMP_KEY);
+
try {
byte[] encoded = serializeAndTimestamp(in);
byte[] cipherText = Crypto.aes128cbcEncrypt(cipherKey, encoded);
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetFeatureRegistry.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetFeatureRegistry.java?rev=737212&r1=737211&r2=737212&view=diff
==============================================================================
---
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetFeatureRegistry.java
(original)
+++
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetFeatureRegistry.java
Fri Jan 23 14:35:40 2009
@@ -22,6 +22,7 @@
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
+import com.google.common.base.Preconditions;
import com.google.inject.Inject;
import com.google.inject.Singleton;
@@ -59,8 +60,8 @@
/**
* Creates a new feature registry and loads the specified features.
*
- * @param httpFetcher
- * @param featureFiles
+ * @param httpFetcher HttpFetcher for retrieving content
+ * @param featureFiles Injected from shindig.features.default
* @throws GadgetException
*/
@Inject
@@ -82,10 +83,8 @@
* @param feature Class implementing the feature.
*/
public void register(GadgetFeature feature) {
- if (graphComplete) {
- throw new IllegalStateException("register should never be " +
- "invoked after calling getLibraries");
- }
+ Preconditions.checkState(!graphComplete,
+ "register should never be invoked after calling getLibraries");
if (logger.isLoggable(Level.FINE)) logger.fine("Registering feature: " +
feature.getName());
if (isCore(feature)) {
core.put(feature.getName(), feature);
@@ -99,6 +98,7 @@
}
/**
+ * @param feature the GadgetFeature to test
* @return True if the entry is "core" (a dependency of all other features)
*/
private boolean isCore(GadgetFeature feature) {
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/preload/PipelinedDataPreloader.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/preload/PipelinedDataPreloader.java?rev=737212&r1=737211&r2=737212&view=diff
==============================================================================
---
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/preload/PipelinedDataPreloader.java
(original)
+++
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/preload/PipelinedDataPreloader.java
Fri Jan 23 14:35:40 2009
@@ -34,6 +34,7 @@
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
+import com.google.common.base.Preconditions;
import com.google.inject.Inject;
import org.json.JSONArray;
@@ -170,13 +171,13 @@
// Ignore, and use the HTTP response interval
}
}
-
+
// TODO: support non GET/POST methods
String method = preload.getAttributes().get("method");
if (method != null) {
request.setMethod(method);
}
-
+
// TODO: support params
return new Data(requestPipeline.execute(request));
}
@@ -223,9 +224,7 @@
private Uri getSocialUri(GadgetContext context) {
String jsonUri = config.get(context.getContainer(), "gadgets.osDataUri");
- if (jsonUri == null) {
- throw new NullPointerException("No JSON URI available for social
preloads");
- }
+ Preconditions.checkNotNull(jsonUri, "No JSON URI available for social
preloads");
UriBuilder builder = UriBuilder.parse(
jsonUri.replace("%host%", context.getHost()))
Modified:
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/JsonContainerConf.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/JsonContainerConf.java?rev=737212&r1=737211&r2=737212&view=diff
==============================================================================
---
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/JsonContainerConf.java
(original)
+++
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/JsonContainerConf.java
Fri Jan 23 14:35:40 2009
@@ -42,7 +42,6 @@
private JSONObject containerJsonObject;
private ContainerConfig config;
private List<String> activityFieldsList;
- private JSONArray personFieldsJsonArray;
@Inject
public JsonContainerConf() {
@@ -129,6 +128,7 @@
}
JSONObject osJsonObjectValue = null;
+ JSONArray personFieldsJsonArray;
try {
osJsonObjectValue = gfJsonObject.getJSONObject(osKey);
JSONObject personFieldsJsonObject = osJsonObjectValue
Modified:
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/ActivityHandler.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/ActivityHandler.java?rev=737212&r1=737211&r2=737212&view=diff
==============================================================================
---
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/ActivityHandler.java
(original)
+++
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/ActivityHandler.java
Fri Jan 23 14:35:40 2009
@@ -28,6 +28,7 @@
import org.apache.shindig.social.opensocial.spi.CollectionOptions;
import com.google.common.collect.Sets;
+import com.google.common.collect.Iterables;
import com.google.inject.Inject;
import java.util.List;
@@ -68,8 +69,8 @@
Preconditions.requireNotEmpty(userIds, "No userId specified");
Preconditions.requireSingular(userIds, "Multiple userIds not supported");
-
- return service.deleteActivities(userIds.iterator().next(),
request.getGroup(),
+ // Throws exceptions if userIds contains more than one element or zero
elements
+ return service.deleteActivities(Iterables.getOnlyElement(userIds),
request.getGroup(),
request.getAppId(), activityIds, request.getToken());
}
@@ -100,7 +101,7 @@
// TODO(lryan) This seems reasonable to allow on PUT but we don't have an
update verb.
Preconditions.requireEmpty(activityIds, "Cannot specify activityId in
create");
- return service.createActivity(userIds.iterator().next(),
request.getGroup(),
+ return service.createActivity(Iterables.getOnlyElement(userIds),
request.getGroup(),
request.getAppId(), request.getFields(),
request.getTypedParameter("activity", Activity.class),
request.getToken());
@@ -116,7 +117,7 @@
@Override
protected Future<?> handleGet(RequestItem request)
throws SocialSpiException {
- if (isValidSupportedFieldsRestCall(request)) {
+ if (isValidSupportedFieldsRestCall(request)) {
List<String> activityFieldsList = null;
try {
activityFieldsList = containerConf.getActivityFieldsList();
@@ -155,7 +156,7 @@
// getSortBy(params), getFilterBy(params), getStartIndex(params),
getCount(params),
request.getFields(), options, request.getToken());
}
-
+
private boolean isValidSupportedFieldsRestCall(RequestItem request) {
String url = ((RestfulRequestItem)request).getUrl();
Matcher supFieldsMatcher = activityPatternSupFields.matcher(url);