Example usage for org.apache.thrift TDeserializer deserialize

List of usage examples for org.apache.thrift TDeserializer deserialize

Introduction

In this page you can find the example usage for org.apache.thrift TDeserializer deserialize.

Prototype

public void deserialize(TBase base, byte[] bytes) throws TException 

Source Link

Document

Deserialize the Thrift object from a byte array.

Usage

From source file:net.modelbased.proasense.storage.EventConverter.java

License:Apache License

private SimpleEvent convertDocumentToSimpleEvent(Document document) {
    Binary serializedEvent = (Binary) document.get(EventProperties.STORAGE_SERIALIZED_EVENT_KEY);
    byte[] bytes = serializedEvent.getData();

    // Deserialize event message
    TDeserializer deserializer = new TDeserializer(new TBinaryProtocol.Factory());
    SimpleEvent event = new SimpleEvent();

    try {/*from w ww  .  ja  v a 2s  .c om*/
        deserializer.deserialize(event, bytes);
    } catch (TException e) {
        System.out.println(e.getClass().getName() + ": " + e.getMessage());
    }

    return event;
}

From source file:net.modelbased.proasense.storage.EventConverter.java

License:Apache License

private DerivedEvent convertDocumentToDerivedEvent(Document document) {
    Binary serializedEvent = (Binary) document.get(EventProperties.STORAGE_SERIALIZED_EVENT_KEY);
    byte[] bytes = serializedEvent.getData();

    // Deserialize event message
    TDeserializer deserializer = new TDeserializer(new TBinaryProtocol.Factory());
    DerivedEvent event = new DerivedEvent();

    try {//from  ww  w.  ja  va2 s . c om
        deserializer.deserialize(event, bytes);
    } catch (TException e) {
        System.out.println(e.getClass().getName() + ": " + e.getMessage());
    }

    return event;
}

From source file:net.modelbased.proasense.storage.EventConverter.java

License:Apache License

private PredictedEvent convertDocumentToPredictedEvent(Document document) {
    Binary serializedEvent = (Binary) document.get(EventProperties.STORAGE_SERIALIZED_EVENT_KEY);
    byte[] bytes = serializedEvent.getData();

    // Deserialize event message
    TDeserializer deserializer = new TDeserializer(new TBinaryProtocol.Factory());
    PredictedEvent event = new PredictedEvent();

    try {/*from  w  w w .  j a  v  a2  s  .c o  m*/
        deserializer.deserialize(event, bytes);
    } catch (TException e) {
        System.out.println(e.getClass().getName() + ": " + e.getMessage());
    }

    return event;
}

From source file:net.modelbased.proasense.storage.EventConverter.java

License:Apache License

private AnomalyEvent convertDocumentToAnomalyEvent(Document document) {
    Binary serializedEvent = (Binary) document.get(EventProperties.STORAGE_SERIALIZED_EVENT_KEY);
    byte[] bytes = serializedEvent.getData();

    // Deserialize event message
    TDeserializer deserializer = new TDeserializer(new TBinaryProtocol.Factory());
    AnomalyEvent event = new AnomalyEvent();

    try {/*from   ww w  .  j  av a2s.  co  m*/
        deserializer.deserialize(event, bytes);
    } catch (TException e) {
        System.out.println(e.getClass().getName() + ": " + e.getMessage());
    }

    return event;
}

From source file:net.modelbased.proasense.storage.EventConverter.java

License:Apache License

private RecommendationEvent convertDocumentToRecommendationEvent(Document document) {
    Binary serializedEvent = (Binary) document.get(EventProperties.STORAGE_SERIALIZED_EVENT_KEY);
    byte[] bytes = serializedEvent.getData();

    // Deserialize event message
    TDeserializer deserializer = new TDeserializer(new TBinaryProtocol.Factory());
    RecommendationEvent event = new RecommendationEvent();

    try {/*from w w w . jav a2s  .co  m*/
        deserializer.deserialize(event, bytes);
    } catch (TException e) {
        System.out.println(e.getClass().getName() + ": " + e.getMessage());
    }

    return event;
}

From source file:net.modelbased.proasense.storage.EventConverter.java

License:Apache License

private FeedbackEvent convertDocumentToFeedbackEvent(Document document) {
    Binary serializedEvent = (Binary) document.get(EventProperties.STORAGE_SERIALIZED_EVENT_KEY);
    byte[] bytes = serializedEvent.getData();

    // Deserialize event message
    TDeserializer deserializer = new TDeserializer(new TBinaryProtocol.Factory());
    FeedbackEvent event = new FeedbackEvent();

    try {//from w w  w . j  a va2s .c  o  m
        deserializer.deserialize(event, bytes);
    } catch (TException e) {
        System.out.println(e.getClass().getName() + ": " + e.getMessage());
    }

    return event;
}

From source file:net.modelbased.proasense.storage.reader.StorageReaderScrapRateTestClient.java

License:Apache License

public static void main(String[] args) {
    // Get client properties from properties file
    //        StorageReaderMongoServiceTestClient client = new StorageReaderMongoServiceTestClient();
    //        client.loadClientProperties();

    // Hardcoded client properties (simple test client)
    String STORAGE_READER_SERVICE_URL = "http://192.168.84.34:8080/storage-reader";

    String QUERY_SIMPLE_SENSORID = "1000692";
    String QUERY_SIMPLE_STARTTIME = "1387565891068";
    String QUERY_SIMPLE_ENDTIME = "1387565996633";
    String QUERY_SIMPLE_PROPERTYKEY = "value";

    // Default HTTP client and common properties for requests
    HttpClient client = new DefaultHttpClient();
    StringBuilder requestUrl = null;
    List<NameValuePair> params = null;
    String queryString = null;//from   w  w w . j  av  a2 s. c  om

    // Default HTTP response and common properties for responses
    HttpResponse response = null;
    ResponseHandler<String> handler = null;
    int status = 0;
    String body = null;

    // Default query for simple events
    requestUrl = new StringBuilder(STORAGE_READER_SERVICE_URL);
    requestUrl.append("/query/simple/default");

    params = new LinkedList<NameValuePair>();
    params.add(new BasicNameValuePair("sensorId", QUERY_SIMPLE_SENSORID));
    params.add(new BasicNameValuePair("startTime", QUERY_SIMPLE_STARTTIME));
    params.add(new BasicNameValuePair("endTime", QUERY_SIMPLE_ENDTIME));

    queryString = URLEncodedUtils.format(params, "utf-8");
    requestUrl.append("?");
    requestUrl.append(queryString);

    try {
        HttpGet query11 = new HttpGet(requestUrl.toString());
        query11.setHeader("Content-type", "application/json");
        response = client.execute(query11);

        // Check status code
        status = response.getStatusLine().getStatusCode();
        if (status != 200) {
            throw new RuntimeException("Failed! HTTP error code: " + status);
        }

        // Get body
        handler = new BasicResponseHandler();
        body = handler.handleResponse(response);

        System.out.println("SIMPLE.DEFAULT: " + body);
        // The result is an array of simple events serialized as JSON using Apache Thrift.
        // The simple events can be deserialized into Java objects using Apache Thrift.

        ObjectMapper mapper = new ObjectMapper();
        JsonNode nodeArray = mapper.readTree(body);

        for (JsonNode node : nodeArray) {
            byte[] bytes = node.toString().getBytes();
            TDeserializer deserializer = new TDeserializer(new TJSONProtocol.Factory());
            SimpleEvent event = new SimpleEvent();
            deserializer.deserialize(event, bytes);
            System.out.println(event.toString());
        }
    } catch (Exception e) {
        System.out.println(e.getClass().getName() + ": " + e.getMessage());
    }

    // Average query for simple events
    requestUrl = new StringBuilder(STORAGE_READER_SERVICE_URL);
    requestUrl.append("/query/simple/average");

    params = new LinkedList<NameValuePair>();
    params.add(new BasicNameValuePair("sensorId", QUERY_SIMPLE_SENSORID));
    params.add(new BasicNameValuePair("startTime", QUERY_SIMPLE_STARTTIME));
    params.add(new BasicNameValuePair("endTime", QUERY_SIMPLE_ENDTIME));
    params.add(new BasicNameValuePair("propertyKey", QUERY_SIMPLE_PROPERTYKEY));

    queryString = URLEncodedUtils.format(params, "utf-8");
    requestUrl.append("?");
    requestUrl.append(queryString);

    try {
        HttpGet query12 = new HttpGet(requestUrl.toString());
        query12.setHeader("Content-type", "application/json");
        response = client.execute(query12);

        // Get status code
        status = response.getStatusLine().getStatusCode();
        if (status == 200) {
            // Get body
            handler = new BasicResponseHandler();
            body = handler.handleResponse(response);

            System.out.println("SIMPLE.AVERAGE: " + body);
        } else
            System.out.println("Error code: " + status);
    } catch (Exception e) {
        System.out.println(e.getClass().getName() + ": " + e.getMessage());
    }

    // Maximum query for simple events
    requestUrl = new StringBuilder(STORAGE_READER_SERVICE_URL);
    requestUrl.append("/query/simple/maximum");

    params = new LinkedList<NameValuePair>();
    params.add(new BasicNameValuePair("sensorId", QUERY_SIMPLE_SENSORID));
    params.add(new BasicNameValuePair("startTime", QUERY_SIMPLE_STARTTIME));
    params.add(new BasicNameValuePair("endTime", QUERY_SIMPLE_ENDTIME));
    params.add(new BasicNameValuePair("propertyKey", QUERY_SIMPLE_PROPERTYKEY));

    queryString = URLEncodedUtils.format(params, "utf-8");
    requestUrl.append("?");
    requestUrl.append(queryString);

    try {
        HttpGet query13 = new HttpGet(requestUrl.toString());
        query13.setHeader("Content-type", "application/json");
        response = client.execute(query13);

        // Get status code
        if (status == 200) {
            // Get body
            handler = new BasicResponseHandler();
            body = handler.handleResponse(response);

            System.out.println("SIMPLE.MAXIMUM: " + body);
        } else
            System.out.println("Error code: " + status);
    } catch (Exception e) {
        System.out.println(e.getClass().getName() + ": " + e.getMessage());
    }

    // Minimum query for simple events
    requestUrl = new StringBuilder(STORAGE_READER_SERVICE_URL);
    requestUrl.append("/query/simple/minimum");

    params = new LinkedList<NameValuePair>();
    params.add(new BasicNameValuePair("sensorId", QUERY_SIMPLE_SENSORID));
    params.add(new BasicNameValuePair("startTime", QUERY_SIMPLE_STARTTIME));
    params.add(new BasicNameValuePair("endTime", QUERY_SIMPLE_ENDTIME));
    params.add(new BasicNameValuePair("propertyKey", QUERY_SIMPLE_PROPERTYKEY));

    queryString = URLEncodedUtils.format(params, "utf-8");
    requestUrl.append("?");
    requestUrl.append(queryString);

    try {
        HttpGet query14 = new HttpGet(requestUrl.toString());
        query14.setHeader("Content-type", "application/json");
        response = client.execute(query14);

        // Get status code
        if (status == 200) {
            // Get body
            handler = new BasicResponseHandler();
            body = handler.handleResponse(response);

            System.out.println("SIMPLE.MINIMUM: " + body);
        } else
            System.out.println("Error code: " + status);
    } catch (Exception e) {
        System.out.println(e.getClass().getName() + ": " + e.getMessage());
    }
}

From source file:net.modelbased.proasense.storage.reader.StorageReaderScrapRateTestData.java

License:Apache License

public static void main(String[] args) {
    // Get client properties from properties file
    StorageReaderScrapRateTestData client = new StorageReaderScrapRateTestData();
    client.loadClientProperties();//from  w  w w  . j av a 2 s  .co m
    client.loadTestDataProperties();

    // Convert test data properties to Simple Events
    List<SimpleEvent> events = new ArrayList<SimpleEvent>();
    String[] S_TESTDATA_PROPERTIES = client.testDataProperties.getProperty("proasense.storage.scrap.testdata")
            .split(",");
    if ((S_TESTDATA_PROPERTIES.length % 7) == 0) {
        int i = 0;
        while (i < S_TESTDATA_PROPERTIES.length) {
            SimpleEvent event = new SimpleEvent();
            event.setTimestamp(new Long(S_TESTDATA_PROPERTIES[i]));

            event.setSensorId(S_TESTDATA_PROPERTIES[i + 1]);

            Map<String, ComplexValue> properties = new HashMap<String, ComplexValue>();

            ComplexValue complexValue = new ComplexValue();
            complexValue.setValue(S_TESTDATA_PROPERTIES[i + 2]);
            complexValue.setType(VariableType.STRING);
            properties.put("machineId", complexValue);

            complexValue = new ComplexValue();
            complexValue.setValue(S_TESTDATA_PROPERTIES[i + 3]);
            complexValue.setType(VariableType.LONG);
            properties.put("quantity", complexValue);

            complexValue = new ComplexValue();
            complexValue.setValue(S_TESTDATA_PROPERTIES[i + 4]);
            complexValue.setType(VariableType.STRING);
            properties.put("designation", complexValue);

            complexValue = new ComplexValue();
            complexValue.setValue(S_TESTDATA_PROPERTIES[i + 5]);
            complexValue.setType(VariableType.BOOLEAN);
            properties.put("goodPart", complexValue);

            complexValue = new ComplexValue();
            complexValue.setValue(S_TESTDATA_PROPERTIES[i + 6]);
            complexValue.setType(VariableType.STRING);
            properties.put("finalArticle", complexValue);

            event.setEventProperties(properties);

            events.add(event);

            i = i + 7;
        }
    }

    // Print list of test data 1
    for (int i = 0; i < events.size(); i++) {
        SimpleEvent event = events.get(i);
        System.out.println("SimpleEvent(" + i + ") message         : " + event.toString());

        // Serialize message as JSON
        //            byte[] bytes_serialized = null;
        String json_serialized = null;
        try {
            TSerializer serializer = new TSerializer(new TJSONProtocol.Factory());
            //                bytes_serialized = serializer.serialize(event);
            //                System.out.println("SimpleEvent(" + i + ") bytes_serialized: " + bytes_serialized);
            json_serialized = serializer.toString(event);
            System.out.println("SimpleEvent(" + i + ") json_serialized : " + json_serialized);
        } catch (TException e) {
            System.out.println(e.getClass().getName() + ": " + e.getMessage());
        }

        // Transfer byte as string
        String json_transfer = json_serialized;

        // Deserialize message
        try {
            System.out.println("SimpleEvent(" + i + ") json_transfer   : " + json_transfer);
            byte[] bytes2 = json_transfer.getBytes();
            //                System.out.println("bytes2 = " + bytes2);
            TDeserializer deserializer = new TDeserializer(new TJSONProtocol.Factory());
            SimpleEvent event2 = new SimpleEvent();
            deserializer.deserialize(event2, bytes2);
            System.out.println("SimpleEvent(" + i + ") deserialized    : " + event2.toString());
        } catch (TException e) {
            System.out.println(e.getClass().getName() + ": " + e.getMessage());
        }
    }

    // Print list of test data 2 (part 1)
    StringBuilder json_transfer_string = new StringBuilder("[");
    for (int i = 0; i < events.size(); i++) {
        SimpleEvent event = events.get(i);
        System.out.println("SimpleEvent2(" + i + ") message        : " + event.toString());

        // Serialize messages as JSON string
        String json_serialized = null;
        try {
            TSerializer serializer = new TSerializer(new TJSONProtocol.Factory());
            json_serialized = serializer.toString(event);
            System.out.println("SimpleEvent2(" + i + ") json_serialized: " + json_serialized);
        } catch (TException e) {
            System.out.println(e.getClass().getName() + ": " + e.getMessage());
        }

        // Transfer byte as string
        json_transfer_string.append(json_serialized);
        json_transfer_string.append(",");
    }

    // Convert to string and remove trailing ,
    int json_length = json_transfer_string.length();
    if (json_length > 1)
        json_transfer_string.deleteCharAt(json_length - 1);
    json_transfer_string.append("]");

    String result = json_transfer_string.toString();
    //        result = result.substring(0, result.length()-1);
    //       System.out.println("SimpleEvent2(*) json_transfer_string: " + result);

    // Deserialize messages (part 2)
    try {
        System.out.println("SimpleEvent2(*) result : " + result);

        ObjectMapper mapper = new ObjectMapper();
        JsonNode nodeArray = mapper.readTree(result);

        for (JsonNode node : nodeArray) {
            byte[] bytes = node.toString().getBytes();
            System.out.println("bytes = " + bytes);
            TDeserializer deserializer = new TDeserializer(new TJSONProtocol.Factory());
            SimpleEvent event = new SimpleEvent();
            deserializer.deserialize(event, bytes);
            System.out.println("deserizalised = " + event.toString());
        }
        /**
                    byte[] bytes2 = result.getBytes();
                    System.out.println("bytes2 = " + bytes2);
                    TDeserializer deserializer = new TDeserializer(new TJSONProtocol.Factory());
                    SimpleEvent event2 = new SimpleEvent();
                    deserializer.deserialize(event2, bytes2);
                    System.out.println("SimpleEvent2(*) deserialized: " + event2.toString());
                    byte[] bytes3 = result.getBytes();
                    System.out.println("bytes3 = " + bytes3);
                    SimpleEvent event3 = new SimpleEvent();
                    deserializer.deserialize(event3, bytes3);
                    System.out.println("SimpleEvent2(*) deserialized: " + event3.toString());
        **/
    } catch (IOException e) {
        System.out.println(e.getClass().getName() + ": " + e.getMessage());
    } catch (TException e) {
        System.out.println(e.getClass().getName() + ": " + e.getMessage());
    }
}

From source file:net.modelbased.proasense.storage.writer.EventListenerKafka.java

License:Apache License

public void run() {
    // Create Kafka consumer
    ConsumerConnector kafkaConsumer = createKafkaConsumer(this.zooKeeper, this.groupId);

    // Create message streams
    KafkaStream<byte[], byte[]> messageAndMetadatas;
    if (this.isTopicFilter) {
        // Create message streams by filter
        List<KafkaStream<byte[], byte[]>> streams = kafkaConsumer
                .createMessageStreamsByFilter(new Whitelist(this.topic));
        messageAndMetadatas = streams.get(0);
    } else {//ww w  . ja v a2  s. c  om
        // Create message streams by topic map
        Map<String, Integer> topicCountMap = new HashMap<String, Integer>();
        ;
        topicCountMap.put(this.topic, 1);
        Map<String, List<KafkaStream<byte[], byte[]>>> streams = kafkaConsumer
                .createMessageStreams(topicCountMap);
        messageAndMetadatas = streams.get(this.topic).get(0);
    }

    // Consume message
    ConsumerIterator<byte[], byte[]> it = messageAndMetadatas.iterator();

    int cnt = 0;
    try {
        while (it.hasNext()) {
            cnt++;
            byte[] bytes = it.next().message();

            // Convert message to Apache Thrift struct
            TDeserializer deserializer = new TDeserializer(new TBinaryProtocol.Factory());
            T event = eventType.newInstance();
            deserializer.deserialize((TBase) event, bytes);

            //                if (cnt % 1000 == 0)
            //                    System.out.println("SimpleEvent(" + cnt + "): " + event.toString());

            String eventTypeName = eventType.getName();

            // Convert event message to document
            if (eventTypeName.matches(EventProperties.SIMPLEEVENT_CLASS_NAME)) {
                EventDocumentConverter converter = new EventDocumentConverter((SimpleEvent) event);
                EventDocument eventDocument = new EventDocument(converter.getCollectionId(),
                        converter.getDocument());

                queue.put(eventDocument);
            }
            if (eventTypeName.matches(EventProperties.DERIVEDEVENT_CLASS_NAME)) {
                EventDocumentConverter converter = new EventDocumentConverter((DerivedEvent) event);
                EventDocument eventDocument = new EventDocument(converter.getCollectionId(),
                        converter.getDocument());

                queue.put(eventDocument);
            }
            if (eventTypeName.matches(EventProperties.PREDICTEDEVENT_CLASS_NAME)) {
                EventDocumentConverter converter = new EventDocumentConverter((PredictedEvent) event);
                EventDocument eventDocument = new EventDocument(converter.getCollectionId(),
                        converter.getDocument());

                queue.put(eventDocument);
            }
            if (eventTypeName.matches(EventProperties.ANOMALYEVENT_CLASS_NAME)) {
                EventDocumentConverter converter = new EventDocumentConverter((AnomalyEvent) event);
                EventDocument eventDocument = new EventDocument(converter.getCollectionId(),
                        converter.getDocument());

                queue.put(eventDocument);
            }
            if (eventTypeName.matches(EventProperties.RECOMMENDATIONEVENT_CLASS_NAME)) {
                EventDocumentConverter converter = new EventDocumentConverter((RecommendationEvent) event);
                EventDocument eventDocument = new EventDocument(converter.getCollectionId(),
                        converter.getDocument());

                queue.put(eventDocument);
            }
            if (eventTypeName.matches(EventProperties.FEEDBACKEVENT_CLASS_NAME)) {
                EventDocumentConverter converter = new EventDocumentConverter((FeedbackEvent) event);
                EventDocument eventDocument = new EventDocument(converter.getCollectionId(),
                        converter.getDocument());

                queue.put(eventDocument);
            }
        }
    } catch (IllegalAccessException e) {
        System.out.println(e.getClass().getName() + ": " + e.getMessage());
    } catch (InstantiationException e) {
        System.out.println(e.getClass().getName() + ": " + e.getMessage());
    } catch (ConsumerTimeoutException e) {
        System.out.println(e.getClass().getName() + ": " + e.getMessage());
    } catch (TException e) {
        System.out.println(e.getClass().getName() + ": " + e.getMessage());
    } catch (InterruptedException e) {
        System.out.println(e.getClass().getName() + ": " + e.getMessage());
    } finally {
        kafkaConsumer.commitOffsets();
        kafkaConsumer.shutdown();
    }
}

From source file:org.apache.accumulo.core.iterators.IteratorUtil.java

License:Apache License

public static List<IteratorSetting> decodeIteratorSettings(byte[] enc) {
    TDeserializer tdser = new TDeserializer(new TBinaryProtocol.Factory());
    IteratorConfig ic = new IteratorConfig();
    try {/*from w w w.  ja  v  a 2s.  c  o m*/
        tdser.deserialize(ic, enc);
    } catch (TException e) {
        throw new RuntimeException(e);
    }
    return toIteratorSettings(ic);
}