Merge changes Ib3c339b2,I47888da8,Ifdc5a4d9,I2f7b7417,If10e2dff, ...
[clamp.git] / src / main / java / org / onap / clamp / clds / model / CldsDbServiceCache.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP CLAMP
4  * ================================================================================
5  * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights
6  *                             reserved.
7  * ================================================================================
8  * Licensed under the Apache License, Version 2.0 (the "License"); 
9  * you may not use this file except in compliance with the License. 
10  * You may obtain a copy of the License at
11  * 
12  * http://www.apache.org/licenses/LICENSE-2.0
13  * 
14  * Unless required by applicable law or agreed to in writing, software 
15  * distributed under the License is distributed on an "AS IS" BASIS, 
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
17  * See the License for the specific language governing permissions and 
18  * limitations under the License.
19  * ============LICENSE_END============================================
20  * ===================================================================
21  * 
22  */
23
24 package org.onap.clamp.clds.model;
25
26 import java.io.ByteArrayInputStream;
27 import java.io.ByteArrayOutputStream;
28 import java.io.IOException;
29 import java.io.InputStream;
30 import java.io.ObjectOutputStream;
31
32 public class CldsDbServiceCache {
33
34     private String invariantId;
35     private String serviceId;
36     private InputStream cldsDataInstream;
37
38     public CldsDbServiceCache(CldsServiceData cldsServiceData) throws IOException {
39         setCldsDataInstream(cldsServiceData);
40         setInvariantId(cldsServiceData.getServiceInvariantUUID());
41         setServiceId(cldsServiceData.getServiceUUID());
42     }
43
44     public String getInvariantId() {
45         return invariantId;
46     }
47
48     public void setInvariantId(String invariantId) {
49         this.invariantId = invariantId;
50     }
51
52     public String getServiceId() {
53         return serviceId;
54     }
55
56     public void setServiceId(String serviceId) {
57         this.serviceId = serviceId;
58     }
59
60     public InputStream getCldsDataInstream() {
61         return cldsDataInstream;
62     }
63
64     public void setCldsDataInstream(InputStream cldsDataInputstream) {
65         this.cldsDataInstream = cldsDataInputstream;
66     }
67
68     public void setCldsDataInstream(CldsServiceData cldsServiceData) throws IOException {
69         this.cldsDataInstream = getInstreamFromObject(cldsServiceData);
70     }
71
72     private InputStream getInstreamFromObject(CldsServiceData cldsServiceData) throws IOException {
73         ByteArrayOutputStream baos = new ByteArrayOutputStream();
74         ObjectOutputStream oos = new ObjectOutputStream(baos);
75         oos.writeObject(cldsServiceData);
76         oos.flush();
77         oos.close();
78         return new ByteArrayInputStream(baos.toByteArray());
79     }
80 }