<%@ 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

Adhoc text:
Context:
Locale: first (then fallback to "en")
<% 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; } %>