%@ page
language="java"
contentType="text/html;charset=utf-8"
%>
<%@ page import="java.io.*" %>
<%@ page import="java.util.Hashtable" %>
<%@ page import="org.crosswire.sword.orb.*" %>
<%
SWMgr mgr = SwordOrb.getSWMgrInstance(request);
SWModule mod = mgr.getModuleByName("KJV");
String util = "/usr/bin/vs2osisref";
String util2 = "/usr/bin/parsekey";
String vs = request.getParameter("vs");
String locale = request.getParameter("lo");
String context = request.getParameter("co");
if (vs == null) vs = "";
if (locale == null) locale = "en";
if (context == null) context = "gen.1.1";
vs = new String(vs.getBytes("iso8859-1"), "UTF-8");
context = new String(context.getBytes("iso8859-1"), "UTF-8");
%>
Adhoc verse reference to OSIS reference
<%
if (vs != null && vs.length() > 0) {
int result = 0;
%>
Verse List:
<%
result = runCommand(new String[] {util2, vs, locale, "KJV", context}, out, true, true);
%>
OSIS Reference:
<%
result = runCommand(new String[] {util, vs, context, locale}, out, true, true);
%>
KJV.parseKeyList:
<%
String[] keys = mod.parseKeyList(vs);
for (String k : keys) {
%>
<%= k %>
<%
}
}
%>
<%!
static Object writeSemephore = new Object();
static Hashtable ltoks = new Hashtable();
int runCommand(String command[], Writer result, boolean html, boolean canonize) {
int retVal = -1;
try {
java.lang.Process p = Runtime.getRuntime().exec(command);
InputStream is = p.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader input = new BufferedReader(isr);
String line;
while ((line = input.readLine()) != null) {
if (canonize) {
line = org.crosswire.utils.HTTPUtils.canonize(line);
}
result.write(line + ((!html) ? "\n ":"
"));
}
retVal = p.waitFor();
}
catch (Exception e) {e.printStackTrace();}
return retVal;
}
%>