bf57836ba9f9fb5b5db8e6ff7d84c53e29fbf36c
[dmaap/messagerouter/dmaapclient.git] /
1 /*******************************************************************************
2  *  ============LICENSE_START=======================================================
3  *  org.onap.dmaap
4  *  ================================================================================
5  *  Copyright © 2017 AT&T Intellectual Property. All rights reserved.
6  *  ================================================================================
7  *  Licensed under the Apache License, Version 2.0 (the "License");
8  *  you may not use this file except in compliance with the License.
9  *  You may obtain a copy of the License at
10  *        http://www.apache.org/licenses/LICENSE-2.0
11  *  
12  *  Unless required by applicable law or agreed to in writing, software
13  *  distributed under the License is distributed on an "AS IS" BASIS,
14  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  *  See the License for the specific language governing permissions and
16  *  limitations under the License.
17  *  ============LICENSE_END=========================================================
18  *
19  *  ECOMP is a trademark and service mark of AT&T Intellectual Property.
20  *  
21  *******************************************************************************/
22 package org.onap.dmaap.messagerouter.dmaapclient.nsa.mr.dme.client;
23 import java.io.File;
24 import java.io.FileWriter;
25 import java.io.InputStream;
26
27 import org.onap.dmaap.messagerouter.dmaapclient.nsa.mr.client.MRClientFactory;
28 import org.onap.dmaap.messagerouter.dmaapclient.nsa.mr.client.impl.MRSimplerBatchPublisher;
29 import org.slf4j.Logger;
30 import org.slf4j.LoggerFactory;
31
32 import com.att.aft.dme2.api.util.DME2ExchangeFaultContext;
33 import com.att.aft.dme2.api.util.DME2ExchangeReplyHandler;
34 import com.att.aft.dme2.api.util.DME2ExchangeResponseContext;
35
36 public class PreferredRouteReplyHandler implements DME2ExchangeReplyHandler {
37         private Logger fLog = LoggerFactory.getLogger ( this.getClass().getName () );
38         @Override public void handleReply(DME2ExchangeResponseContext responseData) {
39                 
40                 if(responseData != null) {
41                         MRClientFactory.DME2HeadersMap=responseData.getResponseHeaders();
42                         if (responseData.getResponseHeaders().get("transactionId")!=null)
43                                 
44                         fLog.info("Transaction_Id : " + responseData.getResponseHeaders().get("transactionId"));
45                         
46                         if(responseData.getRouteOffer() != null ){
47                                 routeWriter("preferredRouteKey",responseData.getRouteOffer());
48                                 
49                         }
50                 }
51 }
52         
53         @Override public void handleFault(DME2ExchangeFaultContext responseData) {
54                 // TODO Auto-generated method stub
55  //StaticCache.getInstance().setHandleFaultInvoked(true);
56  }
57         @Override public void handleEndpointFault(DME2ExchangeFaultContext responseData) {
58                 // TODO Auto-generated method stub
59                 //StaticCache.getInstance().setHandleEndpointFaultInvoked(true); 
60         }
61         public void routeWriter(String routeKey, String routeValue){
62
63                 try{
64                 
65                         FileWriter      routeWriter=new FileWriter(new File (MRSimplerBatchPublisher.routerFilePath));
66                         routeWriter.write(routeKey+"="+routeValue);
67                         routeWriter.close();
68                 
69                 }catch(Exception ex){
70                         fLog.error("Reply Router Error " + ex.toString() );
71                 }
72                 
73         }
74 }