Fix rules-test missing junit-jupiter at compile scope.
[policy/drools-applications.git] / controlloop / common / eventmanager / src / main / java / org / onap / policy / controlloop / ophistory / OperationHistoryDataManager.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP
4  * ================================================================================
5  * Copyright (C) 2020-2021 AT&T 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.policy.controlloop.ophistory;
22
23 import org.onap.policy.controlloop.ControlLoopOperation;
24
25 /**
26  * Data manager for the Operation History table.
27  */
28 public interface OperationHistoryDataManager {
29
30     /**
31      * Stores an operation in the DB. If the queue is full, then the oldest records is
32      * discarded.
33      *
34      * @param requestId request ID
35      * @param clName control loop name
36      * @param event event with which the operation is associated, typically just used for
37      *        logging
38      * @param targetEntity target entity associated with the operation
39      * @param operation operation to be stored
40      */
41     void store(String requestId, String clName, Object event, String targetEntity, ControlLoopOperation operation);
42
43     /**
44      * Starts the background thread.
45      */
46     public void start();
47
48     /**
49      * Stops the background thread and places an "end" item into {@link #operations}.
50      */
51     public void stop();
52 }