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

nl.tno.bim.mapping.services.IfcToNlsfbServiceImpl 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.domain.IfcToNlsfb;
import nl.tno.bim.mapping.repositories.IfcToNlsfbRepository;

@Component
public class IfcToNlsfbServiceImpl implements IfcToNlsfbService {
    private final static Logger logger = LoggerFactory.getLogger(IfcToNlsfbServiceImpl.class);

    private IfcToNlsfbRepository ifcToNlsfbRepository;


    @Autowired
    public void setIfcToNlsfbRepository(IfcToNlsfbRepository ifcToNlsfbRepository) {
        this.ifcToNlsfbRepository = ifcToNlsfbRepository;
    }

    @Override
    public List persistIfcToNlsfbs(List ifcToNlsfbs) {
        List arrayList = new ArrayList<>();
        List list = new ArrayList<>();
        ifcToNlsfbs.iterator().forEachRemaining(arrayList::add);
        ifcToNlsfbRepository.saveAll(arrayList).iterator().forEachRemaining(list::add);
        return list;
    }

    @Override
    public IfcToNlsfb retrieveIfcToNlsfbById(Long id) {
        Optional optionalIfcToNlsfb = ifcToNlsfbRepository.findById(id);
        if (optionalIfcToNlsfb.isPresent()) {
            return optionalIfcToNlsfb.get();
        }
        return null;
    }

    @Override
    public List findIfcToNlsfb(String q) {
        List ms = new ArrayList<>();
        if (q == null) {
            ifcToNlsfbRepository.findAll().iterator().forEachRemaining(ms::add);
            return ms;

        } else {
            ms = ifcToNlsfbRepository.findByNlsfbCodeLikeOrIfcProductTypeLike(q,q);
            if (ms == null) {
                return new ArrayList<>();
            }
            return ms;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy