From c2271e4fdc8122875a29004baf29eff88e74edac Mon Sep 17 00:00:00 2001 From: Sam Stokes Date: Thu, 29 Sep 2011 14:55:17 -0700 Subject: [PATCH] Move JSON stuff out to its own project --- pom.xml | 5 -- .../storm/scheme/SimpleJSONScheme.java | 52 ------------------- .../serializer/SimpleJSONSerializer.java | 51 ------------------ 3 files changed, 108 deletions(-) delete mode 100644 src/main/java/com/rapportive/storm/scheme/SimpleJSONScheme.java delete mode 100644 src/main/java/com/rapportive/storm/serializer/SimpleJSONSerializer.java diff --git a/pom.xml b/pom.xml index cdcade4..932712a 100644 --- a/pom.xml +++ b/pom.xml @@ -20,10 +20,5 @@ amqp-client 2.6.1 - - com.googlecode.json-simple - json-simple - 1.1 - diff --git a/src/main/java/com/rapportive/storm/scheme/SimpleJSONScheme.java b/src/main/java/com/rapportive/storm/scheme/SimpleJSONScheme.java deleted file mode 100644 index 14fb4b8..0000000 --- a/src/main/java/com/rapportive/storm/scheme/SimpleJSONScheme.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.rapportive.storm.scheme; - -import java.io.UnsupportedEncodingException; - -import java.util.Collections; -import java.util.List; - -import org.json.simple.JSONValue; -import org.json.simple.parser.ParseException; - -import backtype.storm.spout.Scheme; - -import backtype.storm.tuple.Fields; - - -public class SimpleJSONScheme implements Scheme { - private static final long serialVersionUID = -7734176307841199017L; - - private final String encoding; - - - public SimpleJSONScheme(String encoding) { - this.encoding = encoding; - } - public SimpleJSONScheme() { - this("UTF-8"); - } - - - @Override - public List deserialize(byte[] bytes) { - final String chars; - try { - chars = new String(bytes, encoding); - } catch (UnsupportedEncodingException e) { - throw new RuntimeException(e); - } - final Object json; - try { - json = JSONValue.parseWithException(chars); - } catch (ParseException e) { - throw new RuntimeException(e); // TODO this is a bit impolite - } - return Collections.singletonList(json); - } - - - @Override - public Fields getOutputFields() { - return new Fields("object"); - } -} diff --git a/src/main/java/com/rapportive/storm/serializer/SimpleJSONSerializer.java b/src/main/java/com/rapportive/storm/serializer/SimpleJSONSerializer.java deleted file mode 100644 index 4d13197..0000000 --- a/src/main/java/com/rapportive/storm/serializer/SimpleJSONSerializer.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.rapportive.storm.serializer; - -import java.io.DataInputStream; -import java.io.DataOutputStream; -import java.io.InputStreamReader; -import java.io.IOException; -import java.io.OutputStreamWriter; -import java.io.Reader; -import java.io.Writer; - -import org.json.simple.JSONArray; -import org.json.simple.JSONObject; -import org.json.simple.JSONValue; -import org.json.simple.parser.ParseException; - -import backtype.storm.serialization.ISerialization; - -public class SimpleJSONSerializer implements ISerialization { - public static final String ENCODING = "UTF-8"; - - @SuppressWarnings("rawtypes") - @Override - public boolean accept(Class c) { - return JSONObject.class.equals(c) || - JSONArray.class.equals(c); - } - - @Override - public void serialize(Object object, DataOutputStream stream) - throws IOException { - final Writer writer = new OutputStreamWriter(stream, ENCODING); - if (object instanceof JSONObject) { - ((JSONObject) object).writeJSONString(writer); - } else if (object instanceof JSONArray) { - ((JSONArray) object).writeJSONString(writer); - } else { - throw new IllegalArgumentException("Unexpected class " + object.getClass().getCanonicalName()); - } - writer.flush(); - } - - @Override - public Object deserialize(DataInputStream stream) throws IOException { - final Reader reader = new InputStreamReader(stream, ENCODING); - try { - return JSONValue.parseWithException(reader); - } catch (ParseException e) { - throw new RuntimeException(e); // TODO this is a bit impolite - } - } -}