ad6675c43e9ac932422cbdc774cc9e05970cd757
[policy/apex-pdp.git] /
1 /*-
2  * ============LICENSE_START=======================================================
3  *  Copyright (C) 2016-2018 Ericsson. All rights reserved.
4  * ================================================================================
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  * SPDX-License-Identifier: Apache-2.0
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.onap.policy.apex.plugins.event.protocol.jms;
22
23 import org.onap.policy.apex.service.engine.event.impl.jsonprotocolplugin.JsonEventProtocolParameters;
24
25 /**
26  * Event protocol parameters for JMS Text messages as an event protocol.
27  * 
28  * <p>Text messages received and sent over JMS in ~Text format are assumed to be in a JSON format that Apex can
29  * understand. Therefore this plugin is a subclass of the built in JSON event protocol plugin.
30  * 
31  * <p>On reception of a JMS {@code javax.jms.TextMessage} message, the JMS Text plugin unmarshals the message the JMS
32  * text message and passes it to its JSON superclass unmarshaling for processing.
33  * 
34  * <p>When sending an Apex event, the plugin uses its underlying JSON superclass to marshal the event to a JSON string
35  * and passes that string to the JSON carrier plugin for sending.
36  *
37  * @author Liam Fallon (liam.fallon@ericsson.com)
38  */
39 public class JmsTextEventProtocolParameters extends JsonEventProtocolParameters {
40     /** The label of this event protocol. */
41     public static final String JMS_TEXT_EVENT_PROTOCOL_LABEL = "JMSTEXT";
42
43     /**
44      * Constructor to create a JSON event protocol parameter instance and register the instance with the parameter
45      * service.
46      */
47     public JmsTextEventProtocolParameters() {
48         super(JMS_TEXT_EVENT_PROTOCOL_LABEL);
49
50         // Set the event protocol properties for the JMS Text event protocol
51         this.setLabel(JMS_TEXT_EVENT_PROTOCOL_LABEL);
52
53         // Set the event protocol plugin class
54         this.setEventProtocolPluginClass(Apex2JmsTextEventConverter.class.getCanonicalName());
55     }
56 }