Example usage for org.apache.thrift TDeserializer TDeserializer

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

Introduction

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

Prototype

public TDeserializer(TProtocolFactory protocolFactory) 

Source Link

Document

Create a new TDeserializer.

Usage

From source file:it.polimi.hegira.adapters.tables.Tables.java

License:Apache License

@Override
protected AbstractDatabase fromMyModel(Metamodel mm) {
    //TWC//from   w ww  .  ja  va  2  s.  c o m
    log.debug(Thread.currentThread().getName() + " Hi I'm the AZURE consumer!");

    //Instantiate the Thrift Deserializer
    TDeserializer deserializer = new TDeserializer(new TBinaryProtocol.Factory());
    int thread_id = (int) (Thread.currentThread().getId() % TWTs_NO);

    while (true) {
        try {

            log.debug(Thread.currentThread().getName() + " - getting taskQueue with id: " + thread_id);
            Delivery delivery = taskQueues.get(thread_id).getConsumer().nextDelivery();
            if (delivery != null) {
                Metamodel myModel = new Metamodel();
                deserializer.deserialize(myModel, delivery.getBody());

                AzureTablesTransformer att = new AzureTablesTransformer();
                AzureTablesModel fromMyModel = att.fromMyModel(myModel);
                List<DynamicTableEntity> entities = fromMyModel.getEntities();

                String tableName = fromMyModel.getTableName();
                CloudTable tbl = createTable(tableName);
                if (tbl == null) {
                    taskQueues.get(thread_id).sendNack(delivery);
                    log.info("Sending Nack!! for entity(/ies)");
                    return null;
                }
                for (DynamicTableEntity entity : entities) {
                    TableResult ie = insertEntity(tableName, entity);
                    if (ie == null) {
                        taskQueues.get(thread_id).sendNack(delivery);
                        log.info("Sending Nack!! for entity(/ies)");
                        return null;
                    }
                    count++;
                    if (count % 2000 == 0)
                        log.debug(Thread.currentThread().getName() + " Inserted " + count + " entities");
                }

                taskQueues.get(thread_id).sendAck(delivery);
            } else {
                log.debug(Thread.currentThread().getName() + " - The queue "
                        + TaskQueue.getDefaultTaskQueueName() + " is empty");
            }
        } catch (ShutdownSignalException | ConsumerCancelledException | InterruptedException e) {
            log.error(Thread.currentThread().getName() + " - Cannot read next delivery from the queue "
                    + TaskQueue.getDefaultTaskQueueName(), e);
        } catch (TException e) {
            log.error(Thread.currentThread().getName() + " - Error deserializing message ", e);
        } catch (QueueException e) {
            log.error(Thread.currentThread().getName() + " - Error sending an acknowledgment to the queue "
                    + TaskQueue.getDefaultTaskQueueName(), e);
        } catch (URISyntaxException e) {
            log.error(Thread.currentThread().getName() + " - Error operating on Azure Tables ", e);
        } catch (StorageException e) {
            log.error(Thread.currentThread().getName() + " - Error storing data on Azure Tables ", e);
        }
    }
}

From source file:it.polimi.hegira.adapters.tables.Tables.java

License:Apache License

@Override
protected AbstractDatabase fromMyModelPartitioned(Metamodel mm) {
    //TWC/*  w  w w. j a  v a2 s  . c o m*/
    //log.debug(Thread.currentThread().getName()+" Hi I'm the AZURE consumer!");

    //Instantiate the Thrift Deserializer
    TDeserializer deserializer = new TDeserializer(new TBinaryProtocol.Factory());
    int thread_id = Integer.parseInt(Thread.currentThread().getName());

    while (true) {
        try {

            //log.debug(Thread.currentThread().getName() + 
            //      " - getting taskQueue with id: "+thread_id);
            Delivery delivery = taskQueues.get(thread_id).getConsumer().nextDelivery();
            if (delivery != null) {
                Metamodel myModel = new Metamodel();
                deserializer.deserialize(myModel, delivery.getBody());

                AzureTablesTransformer att = new AzureTablesTransformer();
                AzureTablesModel fromMyModel = att.fromMyModel(myModel);
                List<DynamicTableEntity> entities = fromMyModel.getEntities();

                String tableName = fromMyModel.getTableName();
                CloudTable tbl = createTable(tableName);
                if (tbl == null) {
                    taskQueues.get(thread_id).sendNack(delivery);
                    log.info(Thread.currentThread().getName() + " - Sending Nack!! for entity(/ies)");
                    //return null;
                }
                for (DynamicTableEntity entity : entities) {
                    TableResult ie = insertEntity(tableName, entity);
                    if (ie == null) {
                        //taskQueues.get(thread_id).sendNack(delivery);
                        //log.info(Thread.currentThread().getName()+" - Sending Nack!! for entity(/ies)");
                        //return null;
                    }
                    count++;
                    //if(count%100==0)
                    //log.debug(Thread.currentThread().getName()+" Inserted "+count+" entities");
                }

                taskQueues.get(thread_id).sendAck(delivery);
                //incrementing the VDPsCounters
                updateVDPsCounters(myModel);
                ////////////////////////////////
            } else {
                log.debug(Thread.currentThread().getName() + " - The queue "
                        + TaskQueue.getDefaultTaskQueueName() + " is empty");
            }
        } catch (ShutdownSignalException | ConsumerCancelledException | InterruptedException e) {
            log.error(Thread.currentThread().getName() + " - Cannot read next delivery from the queue "
                    + TaskQueue.getDefaultTaskQueueName(), e);
        } catch (TException e) {
            log.error(Thread.currentThread().getName() + " - Error deserializing message ", e);
        } catch (QueueException e) {
            log.error(Thread.currentThread().getName() + " - Error sending an acknowledgment to the queue "
                    + TaskQueue.getDefaultTaskQueueName(), e);
        } catch (URISyntaxException e) {
            log.error(Thread.currentThread().getName() + " - Error operating on Azure Tables ", e);
        } catch (StorageException e) {
            log.error(Thread.currentThread().getName() + " - Error storing data on Azure Tables ", e);
        }
    }
}

From source file:kr.co.vcnc.haeinsa.thrift.TRowLocks.java

License:Apache License

private static TDeserializer createDeserializer() {
    return new TDeserializer(PROTOCOL_FACTORY);
}

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  www.  jav a  2  s  . 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 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 {//  w ww. j av  a  2s.  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 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 {/*www. j  a v  a 2 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 w w  w .j  av a  2  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 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 {/*w w w . j  ava2 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 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 {//  w  ww .  java 2 s . 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.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   ww w. j av a2  s . c o m*/

    // 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());
    }
}