View Javadoc
1   package io.github.magwas.inez.element;
2   
3   import java.util.Set;
4   import java.util.stream.Stream;
5   
6   import org.springframework.beans.factory.annotation.Autowired;
7   import org.springframework.stereotype.Service;
8   
9   import io.github.magwas.inez.storage.model.BridiReference;
10  import io.github.magwas.inez.storage.repository.BridiReferenceRepository;
11  import io.github.magwas.konveyor.runtime.LogUtil;
12  
13  @Service
14  public class GetRelativeForBridiElementService {
15  	@Autowired
16  	BridiReferenceRepository bridiReferenceRepository;
17  
18  	public Stream<String> apply(final String id, final String selbriId, final int fromPosition, final int toPosition) {
19  		LogUtil.debug("findAllBySelbriIdAndSumtiIdAndPosition(", selbriId, id, fromPosition);
20  		Set<BridiReference> found =
21  				bridiReferenceRepository.findAllBySelbriIdAndSumtiIdAndPosition(selbriId, id, fromPosition);
22  		LogUtil.debug("found:", found);
23  		return found.stream()
24  				.map(BridiReference::bridiId)
25  				.map(x -> bridiReferenceRepository.findByBridiIdAndPosition(x, toPosition))
26  				.filter(x -> x.isPresent())
27  				.map(x -> x.get().sumtiId());
28  	}
29  }