/* * Copyright (c) 2015, 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.template.manager.core; import org.wso2.carbon.event.template.manager.core.exception.TemplateManagerException; import org.wso2.carbon.event.template.manager.core.structure.configuration.ScenarioConfiguration; import org.wso2.carbon.event.template.manager.core.structure.configuration.StreamMapping; import org.wso2.carbon.event.template.manager.core.structure.domain.Domain; import java.util.Collection; import java.util.List; /** * Interface consist of service methods which will be exposed by the TemplateManagerService */ public interface TemplateManagerService { /** * Save scenario configuration xml files in wso2 carbon registry * * @param configuration configuration object which needs to be saved */ public List<String> saveConfiguration(ScenarioConfiguration configuration) throws TemplateManagerException; /** * Edit scenario configuration xml files which are stored in wso2 carbon registry * * @param configuration configuration object which needs to be saved */ public List<String> editConfiguration(ScenarioConfiguration configuration) throws TemplateManagerException; /** * save streamMapping object into the registry and deploy the corresponding execution plan. * * @param streamMappingList StreamMapping list * @param scenarioConfigName name field ScenarioConfiguration object * @param domainName domain name of the Domain corresponding to this scenarioConfig */ public void saveStreamMapping(List<StreamMapping> streamMappingList, String scenarioConfigName, String domainName) throws TemplateManagerException; /** * provide all the loaded domains * * @return Domain list */ public Collection<Domain> getAllDomains(); /** * provide configurations of specified domain * * @param domainName domain template name * @return Domain list */ public Collection<ScenarioConfiguration> getConfigurations(String domainName) throws TemplateManagerException; /** * get information of a specific domain * * @param domainName domain name * @return Domain object */ public Domain getDomain(String domainName); /** * get information of a specific configuration * * @param domainName domain name * @param configName configuration name * @return TemplateConfig object */ public ScenarioConfiguration getConfiguration(String domainName, String configName) throws TemplateManagerException; /** * delete specified scenario configuration when its name is given * * @param domainName domain name * @param configName template configuration name */ public void deleteConfiguration(String domainName, String configName) throws TemplateManagerException; }