3568f0178d9546811b2a80431797b2b69d7497a0
[integration.git] /
1 /*
2  * ============LICENSE_START=======================================================
3  * PNF-REGISTRATION-HANDLER
4  * ================================================================================
5  * Copyright (C) 2018 Nokia. 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  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.onap.pnfsimulator.event;
22
23 import com.google.gson.JsonObject;
24 import java.util.List;
25 import java.util.Optional;
26 import org.springframework.beans.factory.annotation.Autowired;
27 import org.springframework.stereotype.Service;
28
29 @Service
30 public class EventDataService {
31   private final EventDataRepository repository;
32
33   @Autowired
34   public EventDataService(EventDataRepository repository) {
35     this.repository = repository;
36   }
37
38   private EventData persistEventData(String templateString, String patchedString, String inputString, String keywordsString) {
39     EventData eventData = EventData.builder()
40         .template(templateString)
41         .patched(patchedString)
42         .input(inputString)
43         .keywords(keywordsString)
44         .build();
45     return repository.save(eventData);
46   }
47
48   public EventData persistEventData(JsonObject templateJson, JsonObject patchedJson, JsonObject inputJson,
49       JsonObject keywordsJson) {
50     return persistEventData(templateJson.toString(),
51         patchedJson.toString(),
52         inputJson.toString(),
53         keywordsJson.toString());
54   }
55
56   public List<EventData> getAllEvents() {
57     return repository.findAll();
58   }
59
60   public Optional<EventData> getById(String id) {
61     return repository.findById(id);
62   }
63 }