All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.ikasan.business.stream.metadata.service.SolrBusinessStreamMetaDataServiceImpl Maven / Gradle / Ivy

The newest version!
package org.ikasan.business.stream.metadata.service;

import org.ikasan.business.stream.metadata.dao.SolrBusinessStreamMetadataDao;
import org.ikasan.business.stream.metadata.model.SolrBusinessStream;
import org.ikasan.spec.metadata.BusinessStreamMetaData;
import org.ikasan.spec.metadata.BusinessStreamMetaDataService;
import org.ikasan.spec.metadata.BusinessStreamMetadataSearchResults;
import org.ikasan.spec.metadata.ModuleMetaData;
import org.ikasan.spec.solr.SolrServiceBase;

import java.util.List;

public class SolrBusinessStreamMetaDataServiceImpl extends SolrServiceBase implements BusinessStreamMetaDataService
{
    private SolrBusinessStreamMetadataDao dao;

    public SolrBusinessStreamMetaDataServiceImpl(SolrBusinessStreamMetadataDao dao)
    {
        this.dao = dao;
    }

    @Override
    public BusinessStreamMetaData findById(String id)
    {
        dao.setSolrUsername(super.solrUsername);
        dao.setSolrPassword(super.solrPassword);
        return dao.findById(id);
    }

    @Override
    public List findAll(Integer startOffset, Integer resultSize)
    {
        dao.setSolrUsername(super.solrUsername);
        dao.setSolrPassword(super.solrPassword);
        return this.dao.findAll(startOffset, resultSize);
    }

    @Override
    public BusinessStreamMetadataSearchResults find(List businessStreamNames, Integer startOffset, Integer resultSize)
    {
        dao.setSolrUsername(super.solrUsername);
        dao.setSolrPassword(super.solrPassword);
        return this.dao.find(businessStreamNames, startOffset, resultSize);
    }

    @Override
    public void save(BusinessStreamMetaData metaData)
    {
        SolrBusinessStream solrBusinessStream = new SolrBusinessStream();
        solrBusinessStream.setId(metaData.getId());
        solrBusinessStream.setName(metaData.getName());
        solrBusinessStream.setDescription(metaData.getDescription());
        solrBusinessStream.setBusinessStreamMetadata(metaData.getJson());

        dao.setSolrUsername(super.solrUsername);
        dao.setSolrPassword(super.solrPassword);
        this.dao.save(solrBusinessStream);
    }

    @Override
    public void delete(String id)
    {
        dao.setSolrUsername(super.solrUsername);
        dao.setSolrPassword(super.solrPassword);
        this.dao.delete(id);
    }

    @Override
    public List findBusinessStreamsContainingFlow(String moduleName, String flowName, int offset, int limit) {
        dao.setSolrUsername(super.solrUsername);
        dao.setSolrPassword(super.solrPassword);
        return this.dao.findBusinessStreamsContainingFlow(moduleName, flowName, offset, limit);
    }

    @Override
    public BusinessStreamMetadataSearchResults findBusinessStreamsForModules(String filter, List modules, int offset, int limit) {
        dao.setSolrUsername(super.solrUsername);
        dao.setSolrPassword(super.solrPassword);

        return this.dao.findBusinessStreamsForModules(filter, modules, offset, limit);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy