View Javadoc
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  }