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
9 * http://www.apache.org/licenses/LICENSE-2.0
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.
17 * SPDX-License-Identifier: Apache-2.0
18 * ============LICENSE_END=========================================================
21 package org.onap.policy.apex.plugins.event.protocol.jms;
23 import org.onap.policy.apex.service.engine.event.impl.jsonprotocolplugin.JsonEventProtocolParameters;
26 * Event protocol parameters for JMS Text messages as an event protocol.
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.
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.
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.
37 * @author Liam Fallon (liam.fallon@ericsson.com)
39 public class JmsTextEventProtocolParameters extends JsonEventProtocolParameters {
40 /** The label of this event protocol. */
41 public static final String JMS_TEXT_EVENT_PROTOCOL_LABEL = "JMSTEXT";
44 * Constructor to create a JSON event protocol parameter instance and register the instance with the parameter
47 public JmsTextEventProtocolParameters() {
48 super(JMS_TEXT_EVENT_PROTOCOL_LABEL);
50 // Set the event protocol properties for the JMS Text event protocol
51 this.setLabel(JMS_TEXT_EVENT_PROTOCOL_LABEL);
53 // Set the event protocol plugin class
54 this.setEventProtocolPluginClass(Apex2JmsTextEventConverter.class.getCanonicalName());