source: main/trunk/greenstone2/common-src/indexers/mgpp/java/org/greenstone/mgpp/MGPPRetrieveWrapper.java@ 30402

Last change on this file since 30402 was 30402, checked in by davidb, 8 years ago

Fix for MacOS 10.11, El Capitan

  • Property svn:keywords set to Author Date Id Revision
File size: 2.3 KB
Line 
1/*
2 * MGPPRetrieveWrapper.java
3 * Copyright (C) 2007 New Zealand Digital Library, http://www.nzdl.org
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18 */
19package org.greenstone.mgpp;
20
21
22
23/** java wrapper class for access to mgpp document retrieval mgpp in C++
24 *
25 * the native side is implemented in MGPPSearchWrapperImpl.cpp
26 * the result of getDocument is a String
27 * uses jni
28 *
29 */
30public class MGPPRetrieveWrapper {
31
32 static {
33 String gsdlos = System.getenv("GSDLOS");
34 if (gsdlos!=null && gsdlos.equals("darwin")) {
35 // As of MacOX 10.11 (El Capitan), effectivly supresses DYLD_LIBRARY_PATH (does
36 // not propagate it to child processes). This is a result of changes to their
37 // security model, and seems to come into effect for 'untrusted' executables.
38 // Greenstone run as a regular user, is 'unstrusted'. It is possible, with
39 // admin rights, to override this, however that is not really a viable solution
40 // for our project. Hence the change here to use Systen.load() with an
41 // absolute pathname, rather than rely of System.loadLibrary().
42
43 String gsdl3srchome = System.getenv("GSDL3SRCHOME");
44 String full_jni_library = gsdl3srchome + "/lib/jni/libmgppretrievejni.jnilib";
45 System.load(full_jni_library);
46 }
47 else {
48 System.loadLibrary("mgppretrievejni");
49 }
50 }
51
52 public MGPPRetrieveWrapper() {
53 }
54
55 /** returns a document: number docnum at level level
56 * text_path path should provide
57 * the absolute location of the mgpp text files eg ..../index/text/demo
58 * returns the doc in utf-8
59 */
60 public native String getDocument(String text_path,
61 String level,
62 long docnum );
63
64}
Note: See TracBrowser for help on using the repository browser.