
org.ikasan.mapping.service.MappingManagementService Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of ikasan-mapping Show documentation
Show all versions of ikasan-mapping Show documentation
A library for managing mapping configurations for the Ikasan platform
The newest version!
/*
* $Id$
* $URL$
*
* ====================================================================
* Ikasan Enterprise Integration Platform
*
* Distributed under the Modified BSD License.
* Copyright notice: The copyright for this software and a full listing
* of individual contributors are as shown in the packaged copyright.txt
* file.
*
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* - Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* - Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* - Neither the name of the ORGANIZATION nor the names of its contributors may
* be used to endorse or promote products derived from this software without
* specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* ====================================================================
*/
package org.ikasan.mapping.service;
import java.util.List;
import org.ikasan.mapping.model.*;
import org.ikasan.mapping.service.configuration.MappingConfigurationServiceConfiguration;
/**
*
* @author Ikasan Development Team
*
*/
public interface MappingManagementService
{
/**
* This method is responsible for returning all {@link ConfigurationType} hibernate
* mapping objects that are stored in the Mapping Configuration database.
*
* @return a List of all {@link ConfigurationType} in the Mapping Configuration database.
*/
public List getAllConfigurationTypes();
/**
* This method is responsible for returning a {@link ConfigurationType} hibernate
* mapping object that are stored in the Mapping Configuration database based on
* its name.
*
* @param name
* @return
*/
public ConfigurationType getAllConfigurationTypeByName(String name);
/**
* This method is responsible for saving a {@link ConfigurationType} to the Mapping Configuration database.
*
* @param configurationType the {@link ConfigurationType} to add to the database.
*/
public Long saveConfigurationType(ConfigurationType configurationType);
/**
* This method is responsible for returning all {@link ConfigurationContext} hibernate
* mapping objects that are stored in the Mapping Configuration database.
*
* @return a List of all {@link ConfigurationContext} in the Mapping Configuration database.
*/
public List getAllConfigurationContexts();
/**
* This method is responsible for returning a {@link ConfigurationContext} hibernate
* mapping object that are stored in the Mapping Configuration database based on
* its name.
*
* @param name
* @return
*/
public ConfigurationContext getAllConfigurationContextByName(String name);
/**
* This method is responsible for saving a {@link ConfigurationContext} to the Mapping Configuration database.
*
* @param configurationType the {@link ConfigurationContext} to add to the database.
*/
public Long saveConfigurationConext(ConfigurationContext configurationContext);
/**
* This method is responsible for returning all {@link ConfigurationServiceClient} hibernate
* mapping objects that are stored in the Mapping Configuration database.
*
* @return a List of all {@link ConfigurationServiceClient} in the Mapping Configuration database.
*/
public List getAllConfigurationServiceClients();
/**
* This method is responsible for returning a {@link ConfigurationServiceClient} hibernate
* mapping object that are stored in the Mapping Configuration database based on
* its name.
*
* @param name
* @return
*/
public ConfigurationServiceClient getAllConfigurationClientByName(String name);
/**
* This method is responsible for saving a {@link ConfigurationServiceClient} to the Mapping Configuration database.
*
* @param configurationType the {@link ConfigurationServiceClient} to add to the database.
*/
public Long saveConfigurationServiceClient(ConfigurationServiceClient configurationServiceClient);
/**
* This method is responsible for saving a {@link MappingConfiguration} to the Mapping Configuration database.
*
* @param mappingConfiguration the {@link MappingConfiguration} to add to the database.
* @return
*/
public Long saveMappingConfiguration(MappingConfiguration mappingConfiguration) throws MappingConfigurationServiceException;
/**
* This method is responsible for saving a {@link SourceConfigurationValue} to the Mapping Configuration database.
*
* @param sourceConfigurationValue the {@link SourceConfigurationValue} to add to the database.
* @return
*/
public Long saveSourceConfigurationValue(SourceConfigurationValue sourceConfigurationValue);
/**
* This method is responsible for saving a {@link TargetConfigurationValue} to the Mapping Configuration database.
*
* @param targetConfigurationValue the {@link TargetConfigurationValue} to add to the database.
* @return
*/
public Long saveTargetConfigurationValue(TargetConfigurationValue targetConfigurationValue);
/**
* This method is responsible for saving a {@link ParameterName} to the Mapping Configuration database.
*
* @param query the {@link ParameterName} to add to the database.
* @return
*/
public Long saveParameterName(ParameterName query);
/**
* This method checks for the existence on a mapping configuration.
*
* @param clientName
* @param mappingConfigurationType
* @param sourceContextName
* @param targetContextName
* @return
*/
public boolean mappingConfigurationExists(String clientName, String mappingConfigurationType, String sourceContextName,
String targetContextName);
/**
* This method is responsible for adding a {@link MappingConfiguration} objects to the database with the appropriate
* associations. It also adds the required number of {@link ParameterName} objects to the database and associates
* them with the newly created {@link MappingConfiguration} record.
*
* @param sourceContextId the primary key id of the source {@link ConfigurationContext} record we want to associate
* the new {@link MappingConfiguration} record with.
* @param targetContextId the primary key id of the target {@link ConfigurationContext} record we want to associate
* the new {@link MappingConfiguration} record with.
* @param numberOfParams the number of input parameters required when resolving the mapping.
* @param configurationTypeId the primary key id of the {@link ConfigurationType} record we want to associate
* the new {@link MappingConfiguration} record with.
* @param configurationServiceClientId the primary key id of the {@link ConfigurationServiceClient} record we want to
* associate the new {@link MappingConfiguration} record with.
* @param keyLocationQueries a {@link List} of {@link String} objects representing the key location queries to be associated
* with the MappingConfiguration.
* @param description the description of the {@link MappingConfiguration}
*/
public Long addMappingConfiguration(Long sourceContextId, Long targetContextId, int numberOfParams,
Long configurationTypeId, Long configurationServiceClientId, List keyLocationQueries,
String description);
public Long addMappingConfiguration(MappingConfiguration mappingConfiguration, List parameterNames);
/**
* This method retrieves a {@link MappingConfiguration} based on its id.
*
* @param id
* @return
*/
public MappingConfiguration getMappingConfigurationById(Long id);
/**
* This method retrieves a list of {@link MappingConfiguration} based on their configurationServiceClientId.
*
* @param configurationServiceClientId
* @return
*/
public List getMappingConfigurationsByConfigurationServiceClientId(Long configurationServiceClientId);
/**
* This method retrieves a list of {@link MappingConfiguration} based on their configurationTypeId.
*
* @param configurationTypeId
* @return
*/
public List getMappingConfigurationsByConfigurationTypeId(Long configurationTypeId);
/**
* This method retrieves a list of {@link MappingConfiguration} based on their sourceContextId.
*
* @param sourceContextId
* @return
*/
public List getMappingConfigurationsBySourceContextId(Long sourceContextId);
/**
* This method retrieves a list of {@link MappingConfiguration} based on their targetContextId.
*
* @param targetContextId
* @return
*/
public List getMappingConfigurationsByTargetContextId(Long targetContextId);
/**
* This method retrieves a {@link MappingConfiguration} context by client name, configuration type as well as the
* source and target contexts.
*
* @param clientName
* @param mappingConfigurationType
* @param sourceContextName
* @param targetContextName
* @return
*/
public MappingConfiguration getMappingConfiguration(String clientName, String mappingConfigurationType, String sourceContextName,
String targetContextName);
/**
* This method retrieves a list of {@link MappingConfiguration} by client name, configuration type as well as the
* source and target contexts.
*
* @param clientName
* @param mappingConfigurationType
* @param sourceContextName
* @param targetContextName
* @return
*/
public List getMappingConfigurations(String clientName, String mappingConfigurationType, String sourceContextName,
String targetContextName);
/**
* This method retrieves a list of {@link MappingConfigurationLite} by client name, configuration type as well as the
* source and target contexts.
*
* @param clientName
* @param mappingConfigurationType
* @param sourceContextName
* @param targetContextName
* @return
*/
public List getMappingConfigurationLites(String clientName, String mappingConfigurationType, String sourceContextName,
String targetContextName);
/**
* This method retrieves a {@link ConfigurationContext} based on its id.
*
* @param id
* @return
*/
public ConfigurationContext getConfigurationContextById(Long id);
/**
* This method retrieves a {@link ConfigurationServiceClient} based on its id.
*
* @param id
* @return
*/
public ConfigurationServiceClient getConfigurationServiceClientById(Long id);
/**
* This method retrieves a {@link ConfigurationType} based on its id.
*
* @param id
* @return
*/
public ConfigurationType getConfigurationTypeById(Long id);
/**
* This method retrieves a list of {@link KeyLocationQuery} based on the mappingConfigurationId
*
* @param mappingConfigurationId
* @return
*/
public List getParameterNamesByMappingConfigurationId(Long mappingConfigurationId);
/**
* This method retrieves a list of {@link SourceConfigurationValue} based on the mappingConfigurationId
*
* @param mappingConfigurationId
* @return
*/
public List getSourceConfigurationValueByMappingConfigurationId(Long mappingConfigurationId);
/**
* This method retrieves a {@link TargetConfigurationValue} based on its id.
*
* @param id
* @return
*/
public TargetConfigurationValue getTargetConfigurationValueById(Long id);
/**
* This method retrieves a list of {@link SourceConfigurationValue} based on the targetConfigurationValueId
*
* @param targetConfigurationValueId
* @return
*/
public List getSourceConfigurationValuesByTargetConfigurationValueId(Long targetConfigurationValueId);
/**
* Method to delete a {@link SourceConfigurationValue}
*
* @param sourceConfigurationValue
*/
public void deleteSourceConfigurationValue(SourceConfigurationValue sourceConfigurationValue);
/**
* Method to delete a {@link TargetConfigurationValue}
*
* @param sourceConfigurationValue
*/
public void deleteTargetConfigurationValue(TargetConfigurationValue targetConfigurationValue);
/**
* Method to delete a {@link MappingConfiguration}
*
* @param mappingConfiguration
*/
public void deleteMappingConfiguration(MappingConfiguration mappingConfiguration);
/**
* Get the next sequence number.
*
* @return
*/
public Long getNextSequenceNumber();
/**
* The the number of {@link SourceConfigurationValue} referencing a {@link TargetConfigurationValue}
*
* @param targetConfigurationValue
* @return
*/
public Long getNumberOfSourceConfigurationValuesReferencingTargetConfigurationValue(TargetConfigurationValue targetConfigurationValue);
/**
* This method retrieves a list of {@link ConfigurationType} based on the client name
*
* @param clientname
* @return
*/
public List getConfigurationTypesByClientName(final String clientname);
/**
* This method retrieves a list of {@link ConfigurationContext} based on the client name and the configuration type.
*
* @param clientName
* @param type
* @return
*/
public List getSourceConfigurationContextsByClientNameAndType(final String clientName, final String type);
/**
* This method retrieves a list of {@link ConfigurationContext} based on the client name and the configuration type and source context name.
*
* @param clientName
* @param type
* @param sourceContext
* @return
*/
public List getTargetConfigurationContextByClientNameTypeAndSourceContext(final String clientName, final String type, final String sourceContext);
/**
* Set the configuration.
*
* @param configuration
*/
public void setConfiguration(MappingConfigurationServiceConfiguration configuration);
/**
*
* @param groupId
* @return
*/
public List getManyToManyTargetConfigurationValues(Long groupId);
/**
*
* @param targetConfigurationValue
* @return
*/
public Long storeManyToManyTargetConfigurationValue(ManyToManyTargetConfigurationValue targetConfigurationValue);
/**
*
* @param targetConfigurationValue
*/
public void deleteManyToManyTargetConfigurationValue(ManyToManyTargetConfigurationValue targetConfigurationValue);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy