Divide the MSB source codes into two repos
[msb/apigateway.git] / apiroute / apiroute-service / src / main / java / org / onap / msb / apiroute / wrapper / consulextend / expose / WriteBufferHandler.java
1 package org.onap.msb.apiroute.wrapper.consulextend.expose;
2
3 import org.onap.msb.apiroute.wrapper.queue.QueueManager;
4 import org.onap.msb.apiroute.wrapper.queue.ServiceData;
5 import org.slf4j.Logger;
6 import org.slf4j.LoggerFactory;
7
8 import com.orbitz.consul.model.ConsulResponse;
9
10 public class WriteBufferHandler<T> implements WatchTask.Handler<T> {
11
12         private static final Logger LOGGER = LoggerFactory
13                         .getLogger(WriteBufferHandler.class);
14         private final ServiceData.DataType dataType;
15
16
17         public WriteBufferHandler(final ServiceData.DataType dataType) {
18       this.dataType =dataType;
19   }
20
21         @Override
22         public void handle(ConsulResponse<T> object) {
23                 // TODO Auto-generated method stub
24                 ServiceData<T> data = new ServiceData<T>();
25                 data.setDataType(dataType);
26                 data.setData(object.getResponse());
27                 
28                 try {
29                         QueueManager.getInstance().putIn(data);
30                 } catch (InterruptedException e) {
31                         // TODO Auto-generated catch block
32                         LOGGER.warn("put data to buffer interrupted:", e);
33                 }
34         }
35
36 }