2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights
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
12 * http://www.apache.org/licenses/LICENSE-2.0
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 * ===================================================================
24 package org.onap.clamp.clds.model;
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;
32 public class CldsDbServiceCache {
34 private String invariantId;
35 private String serviceId;
36 private InputStream cldsDataInstream;
38 public CldsDbServiceCache(CldsServiceData cldsServiceData) throws IOException {
39 setCldsDataInstream(cldsServiceData);
40 setInvariantId(cldsServiceData.getServiceInvariantUUID());
41 setServiceId(cldsServiceData.getServiceUUID());
44 public String getInvariantId() {
48 public void setInvariantId(String invariantId) {
49 this.invariantId = invariantId;
52 public String getServiceId() {
56 public void setServiceId(String serviceId) {
57 this.serviceId = serviceId;
60 public InputStream getCldsDataInstream() {
61 return cldsDataInstream;
64 public void setCldsDataInstream(InputStream cldsDataInputstream) {
65 this.cldsDataInstream = cldsDataInputstream;
68 public void setCldsDataInstream(CldsServiceData cldsServiceData) throws IOException {
69 this.cldsDataInstream = getInstreamFromObject(cldsServiceData);
72 private InputStream getInstreamFromObject(CldsServiceData cldsServiceData) throws IOException {
73 ByteArrayOutputStream baos = new ByteArrayOutputStream();
74 ObjectOutputStream oos = new ObjectOutputStream(baos);
75 oos.writeObject(cldsServiceData);
78 return new ByteArrayInputStream(baos.toByteArray());