<%@page import="javax.jcr.RepositoryException, javax.jcr.UnsupportedRepositoryOperationException, javax.jcr.Repository, javax.jcr.Credentials, javax.jcr.Repository, javax.jcr.RepositoryException, javax.jcr.Session, javax.jcr.Node, javax.jcr.NodeIterator" %><%@ page language="java" %><% Repository repository = null; Session repo_session = null; String pid = (String) request.getAttribute("pid"); String stream_id = (String) request.getAttribute("stream_id"); try { javax.naming.InitialContext context = new javax.naming.InitialContext(); javax.naming.Context environment = (javax.naming.Context) context.lookup("java:comp/env"); repository = (Repository) environment.lookup("jcr/repository"); String password = "password"; Credentials c = new javax.jcr.SimpleCredentials("username",password.toCharArray()); repo_session = repository.login(c); Node n = repo_session.getNodeByUUID(pid); request.setAttribute("node",n); Node file_node = n.getNode(stream_id); Node resource_node = file_node.getNode("jcr:content"); String content_type = resource_node.getProperty("jcr:mimeType").getString(); java.io.InputStream s = resource_node.getProperty("jcr:data").getStream(); %><%@ page contentType="<%=content_type%>" %><% int i = s.read(); while ( i != -1 ) { out.write(i); i = s.read(); } s.close(); } catch ( Exception e ) { e.printStackTrace(); } finally { if ( repo_session != null ) { try { repo_session.save(); repo_session.logout(); } catch ( Exception e ) { e.printStackTrace(); } } } %>