LoadFromURL.java
- package org.jbehave.core.io;
- import java.io.IOException;
- import java.io.InputStream;
- import java.net.URL;
- import java.nio.charset.Charset;
- import java.nio.charset.StandardCharsets;
- import org.apache.commons.io.IOUtils;
- /**
- * Loads story resources from URL
- */
- public class LoadFromURL implements ResourceLoader, StoryLoader {
- private final Charset charset;
- public LoadFromURL() {
- this(StandardCharsets.UTF_8);
- }
- public LoadFromURL(Charset charset) {
- this.charset = charset;
- }
- @Override
- public String loadResourceAsText(String resourcePath) {
- try (InputStream resourceAsStream = resourceAsStream(resourcePath)) {
- return IOUtils.toString(resourceAsStream, charset);
- } catch (Exception cause) {
- throw new InvalidStoryResource(resourcePath, cause);
- }
- }
- @Override
- public String loadStoryAsText(String storyPath) {
- return loadResourceAsText(storyPath);
- }
- protected InputStream resourceAsStream(String resourcePath) throws IOException {
- return new URL(resourcePath).openStream();
- }
- }