<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page trimDirectiveWhitespaces="true" %> <%@ page import="org.crosswire.community.RightsAndRoles" %> <%@ page import="org.crosswire.community.projects.ntmss.data.Document" %> <%@ page import="org.crosswire.utils.Utils" %> <%@ page import="java.io.File" %> <%@ page import="java.util.Set" %> <%@ page import="java.util.Arrays" %> <%@ page import="java.util.HashSet" %> <%@ page import="java.io.FilenameFilter" %> <%@ page import="org.crosswire.repo.VersionedRepo" %> <%@ page import="org.apache.log4j.Logger" %> <% Logger logger = Logger.getLogger("transcript/search"); // who we want to search for String targetUserName=request.getParameter("userName"); int docID = -1; try { docID = Integer.parseInt(request.getParameter("docID")); } catch (Exception e) {} int pageID = -1; try { pageID = Integer.parseInt(request.getParameter("pageID")); } catch (Exception e) {} if (targetUserName != null || docID != -1) { response.setContentType("text/xml"); String role="VMR Administrator"; // let's check to see if we're a privileged user boolean permission = RightsAndRoles.hasRole(request, response, role); // --------------------------------------------- String searchString = ""; Set endorsedProjects = null; if (docID == -1) { searchString = "initial/"+targetUserName; } else { searchString = Integer.toString(docID)+"/initial"; if (pageID != -1) searchString += "/*/" + Integer.toString(pageID) + ".xml"; if ("ENDORSEDPROJECTS".equals(targetUserName)) { String transcriptionIncludeProjects = Utils.getSysConfig(session).getProperty("TranscriptionIncludeProjects", ""); endorsedProjects = new HashSet(Arrays.asList(transcriptionIncludeProjects.split("\\|"))); logger.info(endorsedProjects); } } File [] docs = VersionedRepo.search(searchString); %> > <% for (File f : docs) { String documentID = null; String pageCount = null; String userName = null; if (docID == -1) { documentID = f.getParentFile().getParentFile().getName(); pageCount = Integer.toString(f.list(new FilenameFilter() {public boolean accept(File dir, String name) { return name.endsWith(".xml"); } }).length); userName = targetUserName; } else { documentID = f.getParentFile().getParentFile().getParentFile().getName(); pageCount = "1"; userName = f.getParentFile().getName(); if (endorsedProjects != null && !endorsedProjects.contains(userName)) { continue; } } %> <% } %> <% return; } %>

transcription/search

find which transcriptions are available

Parameters

userNamelimit to user who owns the transcription ("ENDORSEDPROJECTS" = for all projects endorsed in sysconfig.properties TranscriptionIncludeProjects
docIDlimit to document
pageIDlimit to pageID