Introduced yaml parser as common lib
[sdc.git] / common / onap-generic-artifact-browser / onap-generic-artifact-browser-service / src / main / java / org / onap / sdc / gab / GABService.java
1 /*
2  * ============LICENSE_START=======================================================
3  * GAB
4  * ================================================================================
5  * Copyright (C) 2019 Nokia 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  *
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.sdc.gab;
22
23 import java.io.IOException;
24 import org.onap.sdc.gab.model.GABQuery;
25 import org.onap.sdc.gab.model.GABResults;
26
27 /**
28  * <pre>
29  *     SDC/DCAE-DS FM/PM artifact browser service.
30  * </pre>
31  *
32  * Currently the artifact browser is able to parse VES_EVENT_REGISTRATION action (registering of all VES events -
33  * including alarms/faults) to serve required data from the given document.
34  *
35  * @version %I%, %G%
36  * @since 1.4.0-SNAPSHOT
37  */
38 public interface GABService {
39
40     /**
41      * Extracting event data based on given YAML paths. As an output, a list of results is returned.
42      *
43      * @param gabQuery the parameter should contain three entries:
44      * <br>* JSON paths for querying specific data
45      * <br>* path/content of YAML document containing faults/measurements data
46      * <br>* type of the query - can be defined as a PATH or CONTENT depends of document-parameter type
47      *
48      * @exception IOException thrown in case of file/content problem.
49      * @return Result of search the query inside the given document.
50      *
51      * @see GABResults
52      * @see GABQuery
53      */
54     GABResults searchFor(GABQuery gabQuery) throws IOException;
55
56 }
57