1 package io.github.magwas.inez.query;
2
3 import java.io.IOException;
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.Bridi;
10
11 @Service
12 public class CreateBridisFromDefinitionService {
13
14 @Autowired
15 CreateBridisFromQueryService createBridisFromQuery;
16
17 public Stream<Bridi> apply(String definitionName) throws Error {
18 String elementDefinition;
19 try {
20 elementDefinition = loadResource(definitionName);
21 } catch (IOException e) {
22 throw new Error(e);
23 }
24 return createBridisFromQuery.apply(elementDefinition);
25 }
26
27 private String loadResource(String definitionName) throws IOException {
28 ClassLoader classloader = Thread.currentThread().getContextClassLoader();
29 String elementDefinition = new String(
30 classloader.getResourceAsStream(definitionName).readAllBytes());
31 return elementDefinition;
32 }
33
34 }