c54f2db69172329041887146eaee725c231a3b4e
[dmaap/messagerouter/msgrtr.git] / src / main / java / com / att / dmf / mr / transaction / impl / DMaaPSimpleTransactionFactory.java
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 com.att.dmf.mr.transaction.impl;
23
24 import org.json.JSONObject;
25
26 import com.att.dmf.mr.transaction.DMaaPTransactionFactory;
27 import com.att.dmf.mr.transaction.DMaaPTransactionObj;
28 import com.att.dmf.mr.transaction.TransactionObj;
29
30 /**
31  * A factory for the simple Transaction implementation
32  * 
33  * 
34  * @author nilanjana.maity
35  *
36  */
37 public class DMaaPSimpleTransactionFactory implements DMaaPTransactionFactory<DMaaPTransactionObj> {
38         /**
39          * 
40          * @param data
41          * @return DMaaPTransactionObj
42          */
43         @Override
44         public DMaaPTransactionObj makeNewTransactionObj(String data) {
45                 JSONObject jsonObject = new JSONObject(data);
46                 return new TransactionObj(jsonObject.getString("transactionId"), jsonObject.getLong("totalMessageCount"),
47                                 jsonObject.getLong("successMessageCount"), jsonObject.getLong("failureMessageCount"));
48         }
49
50         /**
51          * 
52          * @param id
53          * @return TransactionObj
54          * 
55          * 
56          */
57         @Override
58         public DMaaPTransactionObj makeNewTransactionId(String id) {
59                 return new TransactionObj(id);
60         }
61
62 }