1 package io.github.magwas.inez.query;
2
3 import java.io.IOException;
4 import java.io.InputStream;
5 import java.util.stream.Stream;
6
7 import org.springframework.beans.factory.annotation.Autowired;
8 import org.springframework.stereotype.Service;
9
10 import io.github.magwas.inez.Bridi;
11
12 @Service
13 public class CreateBridisFromDefinitionService {
14
15 @Autowired
16 CreateBridisFromQueryService createBridisFromQuery;
17
18 public Stream<Bridi> apply(final String definitionName) throws Error {
19 String elementDefinition;
20 try {
21 elementDefinition = loadResource(definitionName);
22 } catch (IOException e) {
23 throw new Error(e);
24 }
25 return createBridisFromQuery.apply(elementDefinition);
26 }
27
28 private String loadResource(final String definitionName) throws IOException {
29 ClassLoader classloader = Thread.currentThread().getContextClassLoader();
30 try (InputStream inputStream = classloader.getResourceAsStream(definitionName)) {
31 return new String(inputStream.readAllBytes());
32 }
33 }
34 }