8ddc64862093cb3cf176e30d50fce725a5522f86
[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  * <p>
28  * Text messages received and sent over JMS in ~Text format are assumed to be in a JSON format that Apex can understand.
29  * Therefore this plugin is a subclass of the built in JSON event protocol plugin.
30  * <p>
31  * On reception of a JMS {@link javax.jms.TextMessage} message, the JMS Text plugin unmarshals the message the JMS text
32  * message and passes it to its JSON superclass unmarshaling for processing.
33  * <p>
34  * When sending an Apex event, the plugin uses its underlying JSON superclass to marshal the event to a JSON string and
35  * 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(JMSTextEventProtocolParameters.class.getCanonicalName(), 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 }