blob: c5e6bdff2504f8be3d57ed547870d43d0f01cac6 [file] [log] [blame]
<%@ page language="java" import="java.sql.*"%>
<html>
<head>
<title>Sample Application HDFS JSP Page</title>
</head>
<body bgcolor=white>
<table border="0">
<tr>
<td align=center>
<img src="images/bridge-small.png">
</td>
<td>
<h1>Sample Brooklyn Deployed WebApp (Database JSP)</h1>
This is the output of a JSP page that is part of the Hello, World application,
deployed by brooklyn, to show <b>hadoop hdfs used as the data store</b>.
</td>
</tr>
</table>
<%
String hadoop=System.getProperty("brooklyn.example.hadoop.site.xml.url");
if (hadoop==null) {
%>
<p>(There is no hadoop included as part of this example.)</p>
<% } else { /* begin hadoop-enabled block */
try {
org.apache.hadoop.conf.Configuration conf = new org.apache.hadoop.conf.Configuration();
conf.setClassLoader(brooklyn.demo.webapp.hello.HadoopWordCount.class.getClassLoader());
conf.addResource(new java.net.URL(hadoop));
org.apache.hadoop.fs.FileSystem fsClient = org.apache.hadoop.fs.FileSystem.get(conf);
if (fsClient==null) throw new NullPointerException("Can't access fsClient at "+hadoop);
if (request.getParameter("name")!=null) {
java.io.OutputStream os1 = fsClient.create(new org.apache.hadoop.fs.Path("chats", ""+System.currentTimeMillis()+"-"+((int)(Math.random()*10000))));
os1.write(request.getParameter("name").getBytes());
os1.write(" : ".getBytes());
os1.write(request.getParameter("message").getBytes());
os1.flush(); os1.close();
}
%>
<br/>
<p>Visitors:</p>
<ul>
<%
org.apache.hadoop.fs.FileStatus[] files = fsClient.listStatus(new org.apache.hadoop.fs.Path("chats"));
if (files==null) files = new org.apache.hadoop.fs.FileStatus[0];
for (org.apache.hadoop.fs.FileStatus f: files) {
%>
<li> <%= brooklyn.demo.webapp.hello.DemoUtils.stringFromInputStream(fsClient.open(f.getPath())) %> </li>
<%
}
if (files.length==0) {
%>
<li> <i>None.</i> </li>
<%
}
%>
</ul>
<br/>
<p>Please enter a message:</p>
<form action="hadoop-chat.jsp" method="GET">
<table>
<tr><td>Name: </td><td><input type="text" name="name"></td></tr>
<tr><td>Message: </td><td><input type="text" name="message"></td></tr>
</table>
<input type="submit" value="Submit"/>
</form>
<%
} catch (Exception e) {
%>
<b>Error connecting to Hadoop.</b><br/>
ERROR: <%= e %><br/><br/>
<pre> <%= brooklyn.demo.webapp.hello.DemoUtils.getStackTrace(e) %></pre>
<%
}
}
%>
<br/>
<p>Click <a href="hadoop-wordcount.jsp">here</a> to run a map-reduce job counting the words in these comments.</p>
<p>Click <a href="index.html">here</a> to go back to the main page.</p>
</body>
</html>