Skip to content

Commit

Permalink
Exposing methods to render jtwig template on specified output stream
Browse files Browse the repository at this point in the history
  • Loading branch information
jmelo-lyncode committed Feb 25, 2017
1 parent f9eac3f commit 2e6d2bf
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 1 deletion.
8 changes: 7 additions & 1 deletion src/main/java/org/jtwig/web/servlet/JtwigDispatcher.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Enumeration;
import java.util.Map;

Expand Down Expand Up @@ -48,12 +49,17 @@ public void render(HttpServletRequest request, HttpServletResponse response) thr

model.with("app", applicationFactory.create(request));

render(response.getOutputStream());
}

public void render (OutputStream outputStream) {
ResourceMetadata resourceMetadata = environment.getResourceEnvironment().getResourceService().loadMetadata(resourceReference);
if (!resourceMetadata.exists())
throw new ResourceNotFoundException(String.format("Resource %s not found", resourceReference));


JtwigTemplate jtwigTemplate = new JtwigTemplate(environment, resourceReference);
jtwigTemplate.render(model, response.getOutputStream());
jtwigTemplate.render(model, outputStream);
}

private void fillModelWithRequest(ServletRequest request) {
Expand Down
4 changes: 4 additions & 0 deletions src/main/java/org/jtwig/web/servlet/JtwigRenderer.java
Original file line number Diff line number Diff line change
Expand Up @@ -48,4 +48,8 @@ public JtwigDispatcher dispatcherFor (String location) {
public JtwigDispatcher inlineDispatcherFor (String template) {
return new JtwigDispatcher(environment, new ResourceReference(ResourceReference.STRING, template), applicationFactory);
}

public Environment getEnvironment() {
return environment;
}
}

0 comments on commit 2e6d2bf

Please sign in to comment.