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

nl.tno.bim.mapping.services.IfcMaterialKeywordServiceImpl 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.IfcMaterialKeyword;
import nl.tno.bim.mapping.repositories.IfcMaterialKeywordRepository;

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

    IfcMaterialKeywordRepository ifcMaterialKeywordRepository;

    @Autowired
    public void setMappingRepository(IfcMaterialKeywordRepository ifcMaterialKeywordRepository) {
        this.ifcMaterialKeywordRepository = ifcMaterialKeywordRepository;
    }

    @Override
    public List persistIfcMaterialKeyword(List ifcMaterialKeyword) {
        List arrayList = new ArrayList<>();
        List list = new ArrayList<>();
        ifcMaterialKeyword.iterator().forEachRemaining(arrayList::add);
        ifcMaterialKeywordRepository.saveAll(arrayList).iterator().forEachRemaining(list::add);
        return list;
    }

    @Override
    public IfcMaterialKeyword retrieveIfcMaterialKeywordById(Long id) {
        Optional optionalMapping = ifcMaterialKeywordRepository.findById(id);
        if (optionalMapping.isPresent()) {
            return optionalMapping.get();
        }
        return null;
    }

    @Override
    public List findIfcMaterialKeyword(String q) {
        List ms = new ArrayList<>();
        if (q == null) {
            ifcMaterialKeywordRepository.findAll().iterator().forEachRemaining(ms::add);
            return ms;
        } else {
            ms = ifcMaterialKeywordRepository.findByKeywordLike(q);
            if (ms == null) {
                return new ArrayList<>();
            }
            return ms;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy