Show
Ignore:
Timestamp:
14.04.2014 22:20:14 (6 years ago)
Author:
ak19
Message:

All the changes required to get the GTI installed on a local greenstone using the latest gs2 src code from svn, since this has the security updates. 1. ApplyXSLT in build-src needed a lot of code additions since runtime-src's gtiaction.cpp needs to send the xml file from stdin using a pipe command. ApplyXSLT used to read stdin from a piped cmd differently, expecting DocStart? and DocEnd? embedding tags to mark the start and stop of each stream. This is still used by code in BasePlugout?, so ApplyXSLT has been modified to take a minus-c parameter when requested to read from stdin without special embedding tag markers, such as when gtiaction calls it. ApplyXSLT uses an internal StreamGobbler? class to read the stdin since it takes a while for xml generated by the gti.pl (which is piped in) to come in to ApplyXSLT. 2. The inner StreamGobbler? class needed to be added into the ApplyXSLT jar file, so the Makefile.in has been updated. 3. In runtime-src, added in missing header files and updated the code that generated the spreadsheets on GTI, since it was firstly hardcoded to use paths on /home/nzdl, and the code that generated the spreadsheets when running ApplyXSLT/xalan.jar no longer worked as it had been coded.

Location:
main/trunk/greenstone2/runtime-src/src/recpt
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone2/runtime-src/src/recpt/cgiwrapper.cpp

    r27172 r28973  
    7272#endif 
    7373 
     74#if defined(GSDL_USE_GTI_ACTION) 
     75#include "gtiaction.h" 
     76#endif 
     77 
    7478#if defined(USE_RSS) 
    7579#include "rssaction.h" 
  • main/trunk/greenstone2/runtime-src/src/recpt/gtiaction.cpp

    r28913 r28973  
    3131#include <expat.h> 
    3232#include <stdio.h> 
     33#include <cstring> 
    3334#include <sys/utsname.h> 
    3435#include "gtiaction.h" 
     
    3637#include "fileutil.h" 
    3738#include "gsdlunicode.h" 
     39#include "gsdltools.h" 
    3840 
    3941 
     
    8587  text_t set_gsdlos = "GSDLOS="; 
    8688 
     89  // path to java executable. 
     90 
     91  if(java.empty()) { 
     92    //java = "$JAVA_HOME/bin/java"; // doesn't work 
     93    //java = "/research/root/jdk1.6.0_27/bin/java"; // can hardcode it, which may be necessary on nzdl or if default java is no longer version 6 
     94    java = "java"; 
     95  } 
     96 
    8797#if defined (__WIN32__) 
     98  path_separator = ";"; // windows (class)PATH separator 
     99 
    88100  set_gsdlos += "windows"; 
    89101#else 
     102  path_separator = ":"; // linux (class)PATH separator 
     103 
    90104  struct utsname *buf = new struct utsname(); 
    91105  if (uname(buf) == -1) { 
     
    638652  text_t gti_arguments = ""; 
    639653  if (target_chunk_type == "work") { 
    640     gti_arguments = "get-first-n-chunks-requiring-work " + target_language_code + " " + translation_file_key + " " + "10000" + " | /opt/jdk1.6.0/bin/java -cp /home/nzdl/gti:/home/nzdl/gti/xalan.jar ApplyXSLT /home/nzdl/gti/gti-generate-excel-xml.xsl -"; 
     654 
     655    //gti_arguments = "get-first-n-chunks-requiring-work " + target_language_code + " " + translation_file_key + " " + "10000" + " | /opt/jdk1.6.0/bin/java -cp /home/nzdl/gti:/home/nzdl/gti/xalan.jar ApplyXSLT /home/nzdl/gti/gti-generate-excel-xml.xsl -"; 
     656 
     657    //gti_arguments = "get-first-n-chunks-requiring-work " + target_language_code + " " + translation_file_key + " " + "10000" + " | /research/root/jdk1.6.0_27/bin/java -cp /research/ak19/gs2-svn-gti:/research/ak19/gs2-svn-gti/bin/java/ApplyXSLT.jar org.nzdl.gsdl.ApplyXSLT -c -t /research/ak19/gs2-svn-gti/bin/script/gti-generate-excel-xml.xsl"; 
     658 
     659    // don't need to add toplevel gsdlhome to classpath actually, as the following will work from the commandline: 
     660    // gti.pl get-all-chunks nl coredm | java -cp /research/ak19/gs2-svn-gti/bin/java/ApplyXSLT.jar org.nzdl.gsdl.ApplyXSLT -t /research/ak19/gs2-svn-gti/bin/script/gti-generate-excel-xml.xsl 
     661    gti_arguments = "get-first-n-chunks-requiring-work " + target_language_code + " " + translation_file_key + " " + "10000" + " | " + java + " -cp " + gsdlhome + path_separator + gsdlhome + "/bin/java/ApplyXSLT.jar org.nzdl.gsdl.ApplyXSLT -c -t " + gsdlhome + "/bin/script/gti-generate-excel-xml.xsl"; 
     662 
    641663  } else { 
    642     gti_arguments = "get-all-chunks " + target_language_code + " " + translation_file_key + " | /opt/jdk1.6.0/bin/java -cp /home/nzdl/gti:/home/nzdl/gti/xalan.jar ApplyXSLT /home/nzdl/gti/gti-generate-excel-xml.xsl -"; 
     664    //gti_arguments = "get-all-chunks " + target_language_code + " " + translation_file_key + " | /opt/jdk1.6.0/bin/java -cp /home/nzdl/gti:/home/nzdl/gti/xalan.jar ApplyXSLT /home/nzdl/gti/gti-generate-excel-xml.xsl -"; 
     665 
     666    //gti_arguments = "get-all-chunks " + target_language_code + " " + translation_file_key + " | /research/root/jdk1.6.0_27/bin/java -cp /research/ak19/gs2-svn-gti/bin/java/ApplyXSLT.jar org.nzdl.gsdl.ApplyXSLT -c -t /research/ak19/gs2-svn-gti/bin/script/gti-generate-excel-xml.xsl"; 
     667 
     668    // don't need to add toplevel gsdlhome to classpath actually, as the following will work from the commandline: 
     669    // gti.pl get-all-chunks nl coredm | java -cp /research/ak19/gs2-svn-gti/bin/java/ApplyXSLT.jar org.nzdl.gsdl.ApplyXSLT -t /research/ak19/gs2-svn-gti/bin/script/gti-generate-excel-xml.xsl 
     670    gti_arguments = "get-all-chunks " + target_language_code + " " + translation_file_key + " | " + java +  " -cp " + gsdlhome + path_separator + gsdlhome + "/bin/java/ApplyXSLT.jar org.nzdl.gsdl.ApplyXSLT -c -t " + gsdlhome + "/bin/script/gti-generate-excel-xml.xsl"; 
    643671  } 
    644672   
  • main/trunk/greenstone2/runtime-src/src/recpt/gtiaction.h

    r18460 r28973  
    6868  char* set_gsdlos_cstr; 
    6969 
     70  text_t path_separator; 
     71  text_t java; // java bin path to preferrably 1.6. Set this here or in init() if the path to java is very specific (such as on nzdl) 
     72 
    7073public: 
    7174  gtiaction ();