[AAI-171 Amsterdam] Move rest.db to aai-common
[aai/aai-common.git] / aai-core / src / main / java / org / openecomp / aai / rest / ueb / NotificationEvent.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * org.openecomp.aai
4  * ================================================================================
5  * Copyright (C) 2017 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.openecomp.aai.rest.ueb;
22
23 import org.openecomp.aai.exceptions.AAIException;
24 import org.openecomp.aai.introspection.Introspector;
25 import org.openecomp.aai.introspection.Loader;
26 import org.openecomp.aai.introspection.Version;
27 import org.openecomp.aai.util.StoreNotificationEvent;
28
29 /**
30  * The Class NotificationEvent.
31  */
32 public class NotificationEvent {
33
34         private final Loader loader;
35         
36         private final Introspector eventHeader;
37         
38         private final Introspector obj;
39         private final String transactionId;
40         private final String sourceOfTruth;
41         /**
42          * Instantiates a new notification event.
43          *
44          * @param version the version
45          * @param eventHeader the event header
46          * @param obj the obj
47          */
48         public NotificationEvent (Loader loader, Introspector eventHeader, Introspector obj, String transactionId, String sourceOfTruth) {
49                 this.loader = loader;
50                 this.eventHeader = eventHeader;
51                 this.obj = obj;
52                 this.transactionId = transactionId;
53                 this.sourceOfTruth = sourceOfTruth;
54         }
55         
56         /**
57          * Trigger.
58          *
59          * @throws AAIException the AAI exception
60          */
61         public void trigger() throws AAIException {
62                 
63                 StoreNotificationEvent sne = new StoreNotificationEvent(transactionId, sourceOfTruth);
64                 
65                 sne.storeEvent(loader, eventHeader, obj);
66
67         }
68         
69         /**
70          * Gets the notification version.
71          *
72          * @return the notification version
73          */
74         public Version getNotificationVersion() {
75                 return loader.getVersion();
76         }
77         
78         /**
79          * Gets the event header.
80          *
81          * @return the event header
82          */
83         public Introspector getEventHeader() {
84                 return eventHeader;
85         }
86         
87         /**
88          * Gets the obj.
89          *
90          * @return the obj
91          */
92         public Introspector getObj() {
93                 return obj;
94         }
95         
96         
97         
98         
99 }