14 package cz.vutbr.fit.knot.annotations.modules.suggestionManager;
 
   18 import java.io.BufferedReader;
 
   19 import java.io.BufferedWriter;
 
   21 import java.io.IOException;
 
   22 import java.io.InputStream;
 
   23 import java.io.InputStreamReader;
 
   24 import java.io.OutputStream;
 
   25 import java.io.OutputStreamWriter;
 
   26 import java.util.List;
 
   27 import java.util.logging.Level;
 
   28 import java.util.logging.Logger;
 
  115   public synchronized boolean init() {
 
  125     @SuppressWarnings(
"unchecked")
 
  126     List<ServerSetting> settingsList = AppBean.getPersistenceManager().queryDB(
"ServerSetting.findByName",params);
 
  127     if(settingsList != null && !settingsList.isEmpty()){
 
  128       secApiCommand = settingsList.get(0).getSettingValue();
 
  132     @SuppressWarnings(
"unchecked")
 
  133     List<ServerSetting> settingsListP = AppBean.getPersistenceManager().queryDB(
"ServerSetting.findByName",paramsP);
 
  134     if(settingsListP != null && !settingsListP.isEmpty()){
 
  135       nerPath = settingsListP.get(0).getSettingValue();
 
  141       processBuilder.directory(
new File(nerPath));
 
  142       processBuilder.redirectErrorStream(
true);
 
  144     } 
catch (IOException e) {
 
  148     stdin = processVar.getOutputStream ();
 
  149     stderr = processVar.getErrorStream ();
 
  150     stdout = processVar.getInputStream ();
 
  151     brStdIn = 
new BufferedWriter(
new OutputStreamWriter(
stdin));
 
  152     brStdOut = 
new BufferedReader(
new InputStreamReader(stdout));
 
  153     brStdErrOut = 
new BufferedReader(
new InputStreamReader(stdout));
 
  167     @SuppressWarnings(
"unchecked")
 
  168     List<ServerSetting> settingsList = AppBean.getPersistenceManager().queryDB(
"ServerSetting.findByName",params);
 
  169     if(settingsList != null && !settingsList.isEmpty()){
 
  170       String secApiCommand = settingsList.get(0).getSettingValue();
 
  171       if (secApiCommand.isEmpty()) {
 
  185   public synchronized String 
makeRequest(String s) 
throws Exception {
 
  186     StringBuilder output = 
new StringBuilder();
 
  192       boolean processEnd = 
false;
 
  198           processVar.exitValue();
 
  201         } 
catch (Exception e) { 
 
  203         if (output.length() == 10 
 
  204             && (output.substring(0, 9).equalsIgnoreCase(
"Exception") || output.substring(1, 10).equalsIgnoreCase(
"Exception"))) {
 
  205           Logger.getLogger(NERInterface.class.getName()).log(Level.SEVERE, 
"SEC API failed. It returned exception.");
 
  209           throw new Exception(
"Process was terminated");
 
  217       } 
while (!(ch == 
'}' && counter <= 0));
 
  218     } 
catch (IOException e) {
 
  220         StringBuilder erStr = 
new StringBuilder(
"");
 
  221         String row = brStdErrOut.readLine();
 
  222         while (row != null) {
 
  224           row = brStdErrOut.readLine();
 
  226         Logger.getLogger(NERInterface.class.getName()).log(Level.SEVERE, 
"SEC API terminated! Error stream: " + erStr.toString());
 
  227       } 
catch (Exception exc) {
 
  229       throw new Exception(
"Process was terminated");
 
  231     return output.toString();
 
  242       } 
catch (Exception exception) {
 
  247       BufferedReader brCleanUp = 
new BufferedReader(
new InputStreamReader(
stderr));
 
  248       while (brCleanUp.readLine() != null) {
 
  253       processVar.destroy();
 
  254     } 
catch (IOException e) {}
 
synchronized boolean init()
Class representing parameter of server settings. 
static final String SEC_API_PATH
static boolean isSecCommandEmpty()
synchronized String makeRequest(String s)
Singleton for storing global variables. 
BufferedReader brStdErrOut
Interface for call of SEC API as external program (deamon) 
ProcessBuilder processBuilder
static final String SEC_API_PATH_SETTING_NAME
static final String SEC_API_SETTING_NAME
static final String SEC_API_COMMAND