root/lex/trunk/jsp/gen-export.jsp

Revision 359, 2.6 kB (checked in by chris, 3 years ago)

Fix export tests to match new transliterator.

Line 
1 <%@   page import="java.util.Map"
2 %><%@ page import="com.qwirx.db.sql.*"
3 %><%@ page import="com.qwirx.lex.*"
4 %><%@ page import="com.qwirx.lex.emdros.*"
5 %><%@ page import="com.qwirx.lex.morph.*"
6 %><%@ page import="com.qwirx.lex.translit.*"
7 %><%@ page import="com.qwirx.crosswire.kjv.KJV"
8 %><%@ page import="jemdros.*"
9 %><%@ page import="org.crosswire.jsword.book.*"
10 %><%
11
12         String pathInfo = request.getPathInfo();
13         // String clauseIdString = pathInfo.substring(1, pathInfo.indexOf('/', 1));
14         String clauseIdString = request.getParameter("clause");
15         EmdrosDatabase emdros = null;
16                
17         String username = request.getRemoteUser();
18         if (username == null)
19         {
20                 username = "anonymous";
21         }
22         String hostname = request.getRemoteAddr();
23
24         try
25         {
26                 SqlDatabase sql = Lex.getSqlDatabase(username);
27                 emdros = Lex.getEmdrosDatabase(username, hostname, sql);
28                 int min_m = emdros.getMinM(), max_m = emdros.getMaxM();
29                 HebrewMorphemeGenerator generator = new HebrewMorphemeGenerator();
30
31         Sheaf sheaf = emdros.getSheaf
32         (
33             "SELECT ALL OBJECTS IN " +
34             "{" + emdros.getMinM() + "-" + emdros.getMaxM() + "} " +
35             "WHERE " +
36             "[verse GET book, chapter, verse " +
37                         " [clause self = " + clauseIdString + " " +
38             "  [word GET " + generator.getRequiredFeaturesString(true) + "] " +
39             " ]"+
40             "]"
41         );
42
43         SheafConstIterator sci = sheaf.const_iterator();
44                 if (!sci.hasNext()) return;
45         Straw straw = sci.next();
46         StrawConstIterator swci = straw.const_iterator();
47                 if (!swci.hasNext()) return;
48         MatchedObject verse = swci.next();
49        
50         Map bookNumToNameMap = emdros.getEnumerationConstants("book_name_e",
51             false);
52
53         String bookName = (String)bookNumToNameMap.get(
54             "" + verse.getEMdFValue("book").getEnum());
55
56         BookData verseData = KJV.getVerse(emdros, bookName,
57             verse.getEMdFValue("chapter").getInt(),
58             verse.getEMdFValue("verse").getInt());
59            
60         DatabaseTransliterator transliterator = new DatabaseTransliterator(sql);
61
62         sci = verse.getSheaf().const_iterator();
63                 if (!sci.hasNext()) return;
64         straw = sci.next();
65         swci = straw.const_iterator();
66                 if (!swci.hasNext()) return;
67         MatchedObject clause = swci.next();
68
69                 response.setContentType("text/x-gen; charset=UTF-8");
70                 response.setHeader("Content-disposition",
71                         "attachment; filename=export.gen");
72                 response.getWriter().print(
73                         new GenExporter().export(clause, verseData, sql, generator,
74                         transliterator, request.getParameter("hebrew").equals("y")));
75         }
76         finally
77         {
78                 if (emdros != null)
79                 {
80                         Lex.putEmdrosDatabase(emdros);
81                 }
82         }
83 %>
Note: See TracBrowser for help on using the browser.