Github user robdouglas commented on a diff in the pull request:
https://github.com/apache/incubator-streams/pull/131#discussion_r20456659
--- Diff:
streams-components/streams-converters/src/main/java/org/apache/streams/converter/BaseStringActivityConverter.java
---
@@ -0,0 +1,65 @@
+package org.apache.streams.converter;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.google.common.collect.Lists;
+import org.apache.streams.data.ActivityConverter;
+import org.apache.streams.exceptions.ActivitySerializerException;
+import org.apache.streams.jackson.StreamsJacksonMapper;
+import org.apache.streams.pojo.json.Activity;
+
+import java.util.List;
+
+/**
+ * BaseObjectNodeActivityConverter is included by default in all
+ * @see {@link org.apache.streams.converter.ActivityConverterProcessor}
+ *
+ * Ensures generic String Json representation of an Activity can be
converted to Activity
+ *
+ */
+public class BaseStringActivityConverter implements
ActivityConverter<String> {
+
+ private ObjectMapper mapper = new StreamsJacksonMapper();
+
+ private static BaseStringActivityConverter instance = new
BaseStringActivityConverter();
+
+ public static BaseStringActivityConverter getInstance() {
+ return instance;
+ }
+
+
+ @Override
+ public String serializationFormat() {
+ return null;
+ }
+
+ @Override
+ public String serialize(Activity deserialized) throws
ActivitySerializerException {
+ try {
+ return mapper.writeValueAsString(deserialized);
+ } catch (JsonProcessingException e) {
+ throw new ActivitySerializerException();
+ }
+ }
+
+ @Override
+ public Activity deserialize(String serialized) throws
ActivitySerializerException {
+ try {
+ return mapper.readValue(serialized, Activity.class);
+ } catch (Exception e) {
+ throw new ActivitySerializerException();
+ }
+ }
+
+ @Override
+ public List<Activity> deserializeAll(List<String> serializedList) {
--- End diff --
BaseObjectNodeActivityConverter and BaseStringActivityConverter both
duplicate this method, could it be abstracted out to another class so that they
could both use that implementation?
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---