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

nl.tno.bim.mapping.services.MappingServiceImpl Maven / Gradle / Ivy

package nl.tno.bim.mapping.services;

import java.util.ArrayList;
import java.util.List;
import java.util.Optional;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import nl.tno.bim.mapping.controller.MappingSetController;
import nl.tno.bim.mapping.domain.Mapping;
import nl.tno.bim.mapping.repositories.MappingRepository;

@Component
public class MappingServiceImpl implements MappingService {
    private final static Logger logger = LoggerFactory.getLogger(MappingSetController.class);

    private MappingRepository mappingRepository;

    @Autowired
    public void setMappingRepository(MappingRepository mappingRepository) {
        this.mappingRepository = mappingRepository;
    }

    @Override
    public Mapping persistMapping(Mapping mapping) {
        return mappingRepository.save(mapping);
    }

    @Override
    public Mapping retrieveMappingById(Long id) {
        Optional optionalMapping = mappingRepository.findById(id);
        if (optionalMapping.isPresent()) {
            return optionalMapping.get();
        }
        return null;
    }

    @Override
    public List searchMapping(String q) {
        List ms = new ArrayList<>();
        if (q != null) {
            ms = mappingRepository.findByNlsfbCodeLikeOrOwnIfcTypeLikeOrQueryIfcTypeLike(q, q, q);
            if (ms == null) {
                return new ArrayList<>();
            }
            return ms;
        } else {
            mappingRepository.findAll().iterator().forEachRemaining(ms::add);
            return ms;
        }
    }

    @Override
    public List retrieveMappingByIdAndMappingSetMap(Long id, String q) {
        List ms = new ArrayList();
        if (q != null) {
            ms = mappingRepository.findByIdAndMappingSetMapsElementGuidLike(id, q);
        } else {
            ms.add(retrieveMappingById(id));
        }
        return ms;
    }

    @Override
    public List retrieveMappingByIdAndMappingSetMapId(Long id, Long mappingSetMapId) {
        List ms = new ArrayList();
        if (id != null) {
            if (mappingSetMapId != null) {
                ms = mappingRepository.findByIdAndMappingSetMapsId(id, mappingSetMapId);
            } else {
                ms.add(retrieveMappingById(id));
            }
        } else {
            mappingRepository.findAll().iterator().forEachRemaining(ms::add);
        }
        return ms;
    }

    @Override
    public List retrieveMappingByIdAndMaterialMappingId(Long id, Long materialmappingid) {
        List ms = new ArrayList();
        if (id != null) {
            if (materialmappingid != null) {
                ms = mappingRepository.findByIdAndMaterialMappingsId(id, materialmappingid);
            } else {
                ms.add(retrieveMappingById(id));
            }
        } else {
            mappingRepository.findAll().iterator().forEachRemaining(ms::add);
        }
        return ms;
    }

    @Override
    public List retrieveMappingByIdAndMaterialMapping(Long id, String q) {
        List ms = new ArrayList();
        if (q != null) {
            ms = mappingRepository.findByIdAndMaterialMappingsMaterialNameLike(id, q);
        } else {
            ms.add(retrieveMappingById(id));
        }
        return ms;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy