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;
40 * @param cldsServiceData The cles service data
41 * @throws IOException IO Exception
43 public CldsDbServiceCache(CldsServiceData cldsServiceData) throws IOException {
44 setCldsDataInstream(cldsServiceData);
45 setInvariantId(cldsServiceData.getServiceInvariantUUID());
46 setServiceId(cldsServiceData.getServiceUUID());
49 public String getInvariantId() {
53 public void setInvariantId(String invariantId) {
54 this.invariantId = invariantId;
57 public String getServiceId() {
61 public void setServiceId(String serviceId) {
62 this.serviceId = serviceId;
65 public InputStream getCldsDataInstream() {
66 return cldsDataInstream;
69 public void setCldsDataInstream(InputStream cldsDataInputstream) {
70 this.cldsDataInstream = cldsDataInputstream;
73 public void setCldsDataInstream(CldsServiceData cldsServiceData) throws IOException {
74 this.cldsDataInstream = getInstreamFromObject(cldsServiceData);
77 private InputStream getInstreamFromObject(CldsServiceData cldsServiceData) throws IOException {
78 ByteArrayOutputStream baos = new ByteArrayOutputStream();
79 ObjectOutputStream oos = new ObjectOutputStream(baos);
80 oos.writeObject(cldsServiceData);
83 return new ByteArrayInputStream(baos.toByteArray());