Author: lindner
Date: Thu Jun 25 00:09:16 2009
New Revision: 788219
URL: http://svn.apache.org/viewvc?rev=788219&view=rev
Log:
less HashSet!
Modified:
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/protocol/conversion/BeanJsonConverter.java
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/Preload.java
Modified:
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/protocol/conversion/BeanJsonConverter.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/protocol/conversion/BeanJsonConverter.java?rev=788219&r1=788218&r2=788219&view=diff
==============================================================================
---
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/protocol/conversion/BeanJsonConverter.java
(original)
+++
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/protocol/conversion/BeanJsonConverter.java
Thu Jun 25 00:09:16 2009
@@ -17,7 +17,10 @@
*/
package org.apache.shindig.protocol.conversion;
+import com.google.common.collect.ImmutableSet;
import com.google.common.collect.MapMaker;
+import com.google.common.collect.Lists;
+
import com.google.inject.Inject;
import com.google.inject.Injector;
@@ -137,7 +140,7 @@
if (value instanceof JSONObject) {
return convertToMap((JSONObject) value, null);
} else if (value instanceof JSONArray) {
- return convertToCollection((JSONArray) value, new ArrayList<Object>(),
null);
+ return convertToList((JSONArray) value, null);
}
return value;
} else if (type instanceof ParameterizedType) {
@@ -161,9 +164,9 @@
} else if (type.equals(Map.class)) {
return convertToMap((JSONObject) value, null);
} else if (type.equals(List.class) || type.equals(Collection.class)) {
- return convertToCollection((JSONArray) value, new ArrayList<Object>(),
null);
+ return convertToList((JSONArray) value, null);
} else if (type.equals(Set.class)) {
- return convertToCollection((JSONArray) value, new HashSet<Object>(),
null);
+ return convertToSet((JSONArray) value, null);
}
Class<?> clazz = (Class<?>) type;
@@ -180,9 +183,9 @@
Class<?> clazz = (Class<?>) type.getRawType();
if (Set.class.isAssignableFrom(clazz)) {
- return convertToCollection((JSONArray) value, new HashSet<Object>(),
typeArgs[0]);
+ return convertToSet((JSONArray) value, typeArgs[0]);
} else if (Collection.class.isAssignableFrom(clazz)) {
- return convertToCollection((JSONArray) value, new ArrayList<Object>(),
typeArgs[0]);
+ return convertToList((JSONArray) value, typeArgs[0]);
} else if (Map.class.isAssignableFrom(clazz)) {
return convertToMap((JSONObject) value, typeArgs[1]);
} else if
(org.apache.shindig.protocol.model.Enum.class.isAssignableFrom(clazz)) {
@@ -241,13 +244,19 @@
return out;
}
- private Collection<Object> convertToCollection(JSONArray in,
Collection<Object> out, Type type) {
+ private List<Object> convertToList(JSONArray in, Type type) {
+ ArrayList<Object> out = Lists.newArrayListWithExpectedSize(in.length());
+
for (int i = 0, j = in.length(); i < j; ++i) {
out.add(convertToObject(in.opt(i), type));
}
return out;
}
+ private Set<Object> convertToSet(JSONArray in, Type type) {
+ return ImmutableSet.copyOf(convertToList(in, type));
+ }
+
private Object convertToClass(JSONObject in, Class<?> type) {
Object out = injector.getInstance(type);
for (Map.Entry<String, Method> entry :
getSetters(out.getClass()).entrySet()) {
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/Preload.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/Preload.java?rev=788219&r1=788218&r2=788219&view=diff
==============================================================================
---
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/Preload.java
(original)
+++
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/Preload.java
Thu Jun 25 00:09:16 2009
@@ -59,15 +59,12 @@
}
// Record all the associated views
- String viewNames = XmlUtil.getAttribute(preload, "views", "");
- Set<String> views = Sets.newHashSet();
- for (String s : viewNames.split(",")) {
- s = s.trim();
- if (s.length() > 0) {
- views.add(s.trim());
- }
+ String viewNames = XmlUtil.getAttribute(preload, "views", "").trim();
+ if (viewNames.length() == 0) {
+ this.views = ImmutableSet.of();
+ } else {
+ this.views = ImmutableSet.of(viewNames.trim().split("\\s*,+\\s*"));
}
- this.views = Collections.unmodifiableSet(views);
auth = AuthType.parse(XmlUtil.getAttribute(preload, "authz"));
signOwner = XmlUtil.getBoolAttribute(preload, "sign_owner", true);