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