/* * Copyright (c) 2005 - 2014, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy * of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the * specific language governing permissions and limitations under the License. */ package org.wso2.carbon.event.receiver.core; import org.wso2.carbon.event.receiver.core.config.EventReceiverConfiguration; import org.wso2.carbon.event.receiver.core.config.EventReceiverConfigurationFile; import org.wso2.carbon.event.receiver.core.exception.EventReceiverConfigurationException; import java.util.List; public interface EventReceiverService { /** * Updates the event receiver with the given syntax * * @param eventReceiverConfigXml the XML configuration of the event receiver as a string */ public void editInactiveEventReceiverConfiguration(String eventReceiverConfigXml, String filename) throws EventReceiverConfigurationException; /** * Updates the event receiver according to the passed in {@link EventReceiverConfiguration} * * @param eventReceiverConfigXml the XML configuration of the event receiver as a string * @param originalEventReceiverName the original name of the event receiver */ public void editActiveEventReceiverConfiguration(String eventReceiverConfigXml, String originalEventReceiverName) throws EventReceiverConfigurationException; /** * Getting all the event receiver configuration instance details. * * @return - list of available event configuration */ public List<EventReceiverConfiguration> getAllActiveEventReceiverConfigurations(); /** * Getting all event receiver configurations specific for a stream * * @param streamId stream id for which event receiver configurations are needed * @return the event receiver configuration */ public List<EventReceiverConfiguration> getAllActiveEventReceiverConfigurations( String streamId); /** * Returns the {@link EventReceiverConfiguration} for the event receiver with given name * * @param eventReceiverName the event receiver name * @return {@link EventReceiverConfiguration} that is associated with the event receiver of the name passed in */ public EventReceiverConfiguration getActiveEventReceiverConfiguration(String eventReceiverName); /** * @return List of EventReceiverConfigurationFile */ public List<EventReceiverConfigurationFile> getAllInactiveEventReceiverConfigurations(); /** * Returns the event receiver XML configuration for the given event receiver name and tenant id * * @param eventReceiverName the name of the event receiver * @return the XML configuration syntax as a string */ public String getActiveEventReceiverConfigurationContent(String eventReceiverName) throws EventReceiverConfigurationException; /** * Returns the event receiver XML configuration for the given filePath and tenant id * * @return the XML configuration syntax as a string */ public String getInactiveEventReceiverConfigurationContent(String filename) throws EventReceiverConfigurationException; /** * Undeploys an active event receiver configuration of the given name for the axis configuration * and deletes it from the file system. * * @param eventReceiverName the event receiver name */ public void undeployActiveEventReceiverConfiguration(String eventReceiverName) throws EventReceiverConfigurationException; /** * Removes the event receiver configuration file from the file system and memory * * @param filename the name of the event receiver configuration file */ public void undeployInactiveEventReceiverConfiguration(String filename) throws EventReceiverConfigurationException; /** * Deploys an event receiver configuration and saves the associated configuration file to the filesystem. * * @param eventReceiverConfiguration the {@link org.wso2.carbon.event.receiver.core.config.EventReceiverConfiguration} object */ public void deployEventReceiverConfiguration( EventReceiverConfiguration eventReceiverConfiguration) throws EventReceiverConfigurationException; /** * Enable or disable tracing for the event receiver of given name * @param eventReceiverName event receiver name * @param traceEnabled {@code true} or {@code false} specifying whether trace is enabled or not */ public void setTraceEnabled(String eventReceiverName, boolean traceEnabled) throws EventReceiverConfigurationException; /** * Enable or disable statistics for the event receiver of given name * * @param eventReceiverName event receiver name * @param statisticsEnabled {@code true} or {@code false} specifying whether statistics is enabled or not */ public void setStatisticsEnabled(String eventReceiverName, boolean statisticsEnabled) throws EventReceiverConfigurationException; /** * Returns the deployment status and dependency information as a formatted string for event receiver associated * with the filename specified * * @param filename the filename of the event receiver * @return a string description for the status of the event receiver specified */ @Deprecated public String getEventReceiverStatusAsString(String filename); /** * Deploys the Event Receiver, as specified in the {@code eventReceiverConfigXml}. * * @param eventReceiverConfigXml Event Receiver Configuration, in XML format. * @throws EventReceiverConfigurationException */ public void deployEventReceiverConfiguration(String eventReceiverConfigXml) throws EventReceiverConfigurationException; /** * Returns the Event Receiver Name as in the given {@code eventReceiverConfigXml}. * * @param eventReceiverConfigXml Event Receiver Configuration, in XML format. * @return The name of the Event Receiver, as given in the {@code eventReceiverConfigXml} * @throws EventReceiverConfigurationException */ public String getEventReceiverName(String eventReceiverConfigXml) throws EventReceiverConfigurationException; }