List of usage examples for org.apache.commons.httpclient Header Header
public Header(String paramString1, String paramString2)
From source file:spotlightclient.DBpediaspotlightClient.java
public List<DBpediaResource> extract(Text text) throws AnnotationException { LOG.info("Querying API."); String spotlightResponse;/*from w w w. jav a2 s. c om*/ try { GetMethod getMethod = new GetMethod(API_URL + "rest/annotate/?" + "confidence=" + confidence + "&support=" + SUPPORT + "&text=" + URLEncoder.encode(text.text(), "utf-8")); getMethod.addRequestHeader(new Header("Accept", "application/json")); spotlightResponse = request(getMethod); } catch (UnsupportedEncodingException e) { throw new AnnotationException("Could not encode text.", e); } assert spotlightResponse != null; JSONObject resultJSON = null; JSONArray entities = null; try { resultJSON = new JSONObject(spotlightResponse); entities = resultJSON.getJSONArray("Resources"); } catch (JSONException e) { throw new AnnotationException("Received invalid response from DBpedia Spotlight API."); } LinkedList<DBpediaResource> resources = new LinkedList<DBpediaResource>(); for (int i = 0; i < entities.length(); i++) { try { JSONObject entity = entities.getJSONObject(i); //System.out.println(entity.getString("@URI")); resources.add(new DBpediaResource(entity.getString("@URI"), Integer.parseInt(entity.getString("@support")))); } catch (JSONException e) { LOG.error("JSON exception " + e); } } return resources; }
From source file:textToURI.DBpediaSpotlightClient.java
@Override public List<DBpediaResource> extract(Text text) throws AnnotationException { LOG.info("Querying API."); String spotlightResponse;//from w w w .j a v a 2s. co m try { GetMethod getMethod = new GetMethod(API_URL + "rest/annotate/?" + "confidence=" + confidence + "&support=" + support + "&text=" + URLEncoder.encode(text.text(), "utf-8")); getMethod.addRequestHeader(new Header("Accept", "application/json")); spotlightResponse = request(getMethod); } catch (UnsupportedEncodingException e) { throw new AnnotationException("Could not encode text.", e); } assert spotlightResponse != null; JSONObject resultJSON = null; JSONArray entities = null; try { resultJSON = new JSONObject(spotlightResponse); entities = resultJSON.getJSONArray("Resources"); } catch (JSONException e) { throw new AnnotationException("Received invalid response from DBpedia Spotlight API."); } LinkedList<DBpediaResource> resources = new LinkedList<DBpediaResource>(); for (int i = 0; i < entities.length(); i++) { try { JSONObject entity = entities.getJSONObject(i); resources.add(new DBpediaResource(entity.getString("@URI"), Integer.parseInt(entity.getString("@support")))); } catch (JSONException e) { LOG.error("JSON exception " + e); } } return resources; }
From source file:weka.gui.explorer.ClassifierPanelRemoteLauncher.java
/** * Send a task to the server/*from w w w. j a v a2 s . c o m*/ * * @param task the task to send * @return the task ID returned by the server */ protected String sendTaskToServer(NamedTask task) { InputStream is = null; PostMethod post = null; String taskID = null; try { byte[] serializedTask = WekaServer.serializeTask(task); String service = ExecuteTaskServlet.CONTEXT_PATH + "/?client=Y"; String url = constructURL(service); post = new PostMethod(url); RequestEntity entity = new ByteArrayRequestEntity(serializedTask); post.setRequestEntity(entity); post.setDoAuthentication(true); post.addRequestHeader(new Header("Content-Type", "application/octet-stream")); // Get HTTP client HttpClient client = WekaServer.ConnectionManager.getSingleton().createHttpClient(); WekaServer.ConnectionManager.addCredentials(client, m_username, m_password); int result = client.executeMethod(post); if (result == 401) { logMessage("Unable to send fold task to server - authentication " + "required"); } else { is = post.getResponseBodyAsStream(); ObjectInputStream ois = new ObjectInputStream(is); // System.out.println("Number of bytes in response " + ois.available()); Object response = ois.readObject(); if (response.toString().startsWith(WekaServlet.RESPONSE_ERROR)) { logMessage("A problem occurred at the sever : \n" + "\t" + response.toString()); } else { taskID = response.toString(); } } } catch (Exception ex) { logMessage("An error occurred while sending fold task to server: " + ex.getMessage()); ex.printStackTrace(); } finally { if (is != null) { try { is.close(); } catch (Exception e) { } } if (post != null) { // Release current connection to the connection pool post.releaseConnection(); } } return taskID; }
From source file:weka.gui.explorer.ClassifierPanelRemoteLauncher.java
/** * Purge the supplied tasks from the server * //from w ww . j av a 2 s .c om * @param taskIDs a list of task IDs of tasks to purge */ protected void purgeTasksFromServer(List<String> taskIDs) { InputStream is = null; PostMethod post = null; StringBuffer tasks = new StringBuffer(); for (String id : taskIDs) { tasks.append(id + ","); } String taskList = tasks.substring(0, tasks.lastIndexOf(",")); try { String service = PurgeTaskServlet.CONTEXT_PATH + "/?name=" + taskList + "&client=Y"; post = new PostMethod(constructURL(service)); post.setDoAuthentication(true); post.addRequestHeader(new Header("Content-Type", "text/plain")); // Get HTTP client HttpClient client = WekaServer.ConnectionManager.getSingleton().createHttpClient(); WekaServer.ConnectionManager.addCredentials(client, m_username, m_password); int result = client.executeMethod(post); if (result == 401) { logMessage("Unable to purge tasks from server - authentication " + "required"); } else { is = post.getResponseBodyAsStream(); ObjectInputStream ois = new ObjectInputStream(new BufferedInputStream(is)); Object response = ois.readObject(); if (response.toString().startsWith(WekaServlet.RESPONSE_ERROR)) { logMessage("Server returned an error: " + "while trying to purge completed tasks: '" + taskList + "'. (" + response.toString() + ")." + " Check logs on server."); } } } catch (Exception ex) { logMessage( "An error occurred while trying to purge completed tasks from " + "server: " + ex.getMessage()); ex.printStackTrace(); } finally { if (is != null) { try { is.close(); } catch (Exception e) { } } if (post != null) { // Release current connection to the connection pool post.releaseConnection(); } } }
From source file:weka.gui.explorer.ClassifierPanelRemoteLauncher.java
/** * Get a result from the server/*from w w w .j a v a 2 s. c om*/ * * @param taskID the ID of the task to retrieve the result for * @return the TaskStatusInfo object encapsulating the result */ protected TaskStatusInfo getResultFromServer(String taskID) { InputStream is = null; PostMethod post = null; TaskStatusInfo resultInfo = null; try { String service = GetTaskResultServlet.CONTEXT_PATH + "/?name=" + taskID + "&client=Y"; post = new PostMethod(constructURL(service)); post.setDoAuthentication(true); post.addRequestHeader(new Header("Content-Type", "text/plain")); // Get HTTP client HttpClient client = WekaServer.ConnectionManager.getSingleton().createHttpClient(); WekaServer.ConnectionManager.addCredentials(client, m_username, m_password); int result = client.executeMethod(post); if (result == 401) { logMessage("Unable to retrieve task from server - authentication " + "required"); } else { is = post.getResponseBodyAsStream(); ObjectInputStream ois = new ObjectInputStream(new BufferedInputStream(new GZIPInputStream(is))); Object response = ois.readObject(); if (response.toString().startsWith(WekaServlet.RESPONSE_ERROR)) { logMessage("Server returned an error: " + "while trying to retrieve task result for task: '" + taskID + "'. (" + response.toString() + ")." + " Check logs on server."); } else { resultInfo = ((TaskStatusInfo) response); } } } catch (Exception ex) { logMessage( "An error occurred while trying to retrieve task result from " + "server: " + ex.getMessage()); ex.printStackTrace(); } finally { if (is != null) { try { is.close(); } catch (Exception e) { } } if (post != null) { // Release current connection to the connection pool post.releaseConnection(); } } return resultInfo; }
From source file:weka.server.GetTaskResultServlet.java
protected static TaskStatusInfo getResultRemote(WekaServer server, String slave, String remoteTaskID, String origTaskID) {/*from w ww . java2s . c om*/ InputStream is = null; PostMethod post = null; TaskStatusInfo resultInfo = null; try { String url = "http://" + slave; url = url.replace(" ", "%20"); url += CONTEXT_PATH; url += "/?name=" + URLEncoder.encode(remoteTaskID, "UTF-8") + "&client=Y"; post = new PostMethod(url); post.setDoAuthentication(true); post.addRequestHeader(new Header("Content-Type", "text/plain")); // Get HTTP client HttpClient client = WekaServer.ConnectionManager.getSingleton().createHttpClient(); WekaServer.ConnectionManager.addCredentials(client, server.getUsername(), server.getPassword()); // Execute request int result = client.executeMethod(post); // System.out.println("[WekaServer] Response from master server : " + // result); if (result == 401) { System.err.println("[WekaServer] Unable to get remote result of task'" + origTaskID + "' - authentication required.\n"); } else { // the response is = post.getResponseBodyAsStream(); ObjectInputStream ois = new ObjectInputStream(new BufferedInputStream(new GZIPInputStream(is))); Object response = ois.readObject(); if (response.toString().startsWith(WekaServlet.RESPONSE_ERROR)) { System.err.println("[WekaServer] A problem occurred while " + "trying to retrieve remote result of task : '" + origTaskID + "'"); } else { if (response instanceof TaskStatusInfo) { resultInfo = ((TaskStatusInfo) response); } else { System.err.println("[WekaServer] A problem occurred while " + "trying to retrieve remote result of task : '" + origTaskID + "'"); } } } } catch (Exception ex) { System.err.println("[WekaServer] A problem occurred while " + "trying to retrieve remote result of task : '" + origTaskID + "' (" + ex.getMessage() + ")"); System.err.println("Remote task id: " + remoteTaskID); } finally { if (is != null) { try { is.close(); is = null; } catch (IOException e) { e.printStackTrace(); } } if (post != null) { post.releaseConnection(); post = null; } } return resultInfo; }
From source file:weka.server.GetTaskStatusServlet.java
protected static TaskStatusInfo getStatusRemote(WekaServer server, String slave, String remoteTaskID, String origTaskID) {//from w w w . j av a 2 s .c o m InputStream is = null; PostMethod post = null; TaskStatusInfo resultInfo = null; try { String url = "http://" + slave; url = url.replace(" ", "%20"); url += CONTEXT_PATH; url += "/?name=" + URLEncoder.encode(remoteTaskID, "UTF-8") + "&client=Y"; post = new PostMethod(url); post.setDoAuthentication(true); post.addRequestHeader(new Header("Content-Type", "text/plain")); // Get HTTP client HttpClient client = WekaServer.ConnectionManager.getSingleton().createHttpClient(); WekaServer.ConnectionManager.addCredentials(client, server.getUsername(), server.getPassword()); // Execute request int result = client.executeMethod(post); // System.out.println("[WekaServer] Response from master server : " + // result); if (result == 401) { System.err.println("[WekaServer] Unable to get remote status of task'" + origTaskID + "' - authentication required.\n"); } else { // the response is = post.getResponseBodyAsStream(); ObjectInputStream ois = new ObjectInputStream(new BufferedInputStream(new GZIPInputStream(is))); Object response = ois.readObject(); if (response.toString().startsWith(WekaServlet.RESPONSE_ERROR)) { System.err.println("[WekaServer] A problem occurred while " + "trying to retrieve remote status of task : '" + origTaskID + "'"); } else { if (response instanceof TaskStatusInfo) { resultInfo = ((TaskStatusInfo) response); } else { System.err.println("[WekaServer] A problem occurred while " + "trying to retrieve remote status of task : '" + origTaskID + "'"); } } } } catch (Exception ex) { System.err.println("[WekaServer] A problem occurred while " + "trying to retrieve remote status of task : '" + origTaskID + "' (" + ex.getMessage() + ")"); System.err.println("Remote task id: " + remoteTaskID); } finally { if (is != null) { try { is.close(); is = null; } catch (IOException e) { e.printStackTrace(); } } if (post != null) { post.releaseConnection(); post = null; } } return resultInfo; }
From source file:weka.server.knowledgeFlow.FlowRunnerRemote.java
/** * Execute the current flow remotely on the server * // w w w.jav a2 s .com * @throws Exception if a problem occurs */ public void executeFlowRemote() throws Exception { Exception exception = null; NamedTask taskToRun = null; if (m_schedule == null) { taskToRun = new UnscheduledNamedKFTask(NAME_PREFIX + m_name, m_flowXML, m_sequential, m_parameters); } else { taskToRun = new ScheduledNamedKFTask(NAME_PREFIX + m_name, m_flowXML, m_sequential, m_parameters, m_schedule); } InputStream is = null; // BufferedInputStream bi = null; PostMethod post = null; try { // serialized and compressed byte[] serializedTask = WekaServer.serializeTask(taskToRun); System.out.println("Sending " + serializedTask.length + " bytes..."); String service = ExecuteTaskServlet.CONTEXT_PATH + "/?client=Y"; post = new PostMethod(constructURL(service)); RequestEntity entity = new ByteArrayRequestEntity(serializedTask); post.setRequestEntity(entity); post.setDoAuthentication(true); post.addRequestHeader(new Header("Content-Type", "application/octet-stream")); // Get HTTP client HttpClient client = WekaServer.ConnectionManager.getSingleton().createHttpClient(); WekaServer.ConnectionManager.addCredentials(client, m_username, m_password); // Execute request int result = client.executeMethod(post); System.out.println("Response status from server : " + result); // the response /* * is = post.getResponseBodyAsStream(); bi = new BufferedInputStream(is); * StringBuffer bodyB = new StringBuffer(); int c; while ((c = * bi.read())!=-1) { bodyB.append((char)c); } */ if (result == 401) { // Security problem - authentication required /* * bodyB.setLength(0); bodyB.append("Unable to send task to server - " + * "authentication required.\n"); */ System.err.println("Unable to send task to server - authentication required.\n"); } else { is = post.getResponseBodyAsStream(); ObjectInputStream ois = new ObjectInputStream(is); // System.out.println("Number of bytes in response " + ois.available()); Object response = ois.readObject(); if (response.toString().startsWith(WekaServlet.RESPONSE_ERROR)) { System.err.println("A problem occurred at the sever : \n" + "\t" + response.toString()); } else { System.out.println("Task ID from server : " + response.toString()); } /* * String body = bodyB.toString(); if * (body.startsWith(WekaServlet.RESPONSE_ERROR)) { * System.err.println("A problem occurred at the sever : \n" + "\t" + * body); } else { System.out.println("Task ID from server : " + body); * } */ } } catch (Exception ex) { ex.printStackTrace(); exception = ex; } finally { /* * if (bi != null) { bi.close(); } */ if (is != null) { is.close(); } if (post != null) { // Release current connection to the connection pool post.releaseConnection(); } } if (exception != null) { throw new Exception(exception.fillInStackTrace()); } }
From source file:weka.server.knowledgeFlow.legacy.FlowRunnerRemote.java
/** * Execute the current flow remotely on the server * /*from w w w .j a va 2 s. c o m*/ * @throws Exception if a problem occurs */ public void executeFlowRemote() throws Exception { Exception exception = null; NamedTask taskToRun = null; if (m_schedule == null) { taskToRun = new LegacyUnscheduledNamedKFTask(NAME_PREFIX + m_name, m_flowXML, m_sequential, m_parameters); } else { taskToRun = new LegacyScheduledNamedKFTask(NAME_PREFIX + m_name, m_flowXML, m_sequential, m_parameters, m_schedule); } InputStream is = null; // BufferedInputStream bi = null; PostMethod post = null; try { // serialized and compressed byte[] serializedTask = WekaServer.serializeTask(taskToRun); System.out.println("Sending " + serializedTask.length + " bytes..."); String service = ExecuteTaskServlet.CONTEXT_PATH + "/?client=Y"; post = new PostMethod(constructURL(service)); RequestEntity entity = new ByteArrayRequestEntity(serializedTask); post.setRequestEntity(entity); post.setDoAuthentication(true); post.addRequestHeader(new Header("Content-Type", "application/octet-stream")); // Get HTTP client HttpClient client = WekaServer.ConnectionManager.getSingleton().createHttpClient(); WekaServer.ConnectionManager.addCredentials(client, m_username, m_password); // Execute request int result = client.executeMethod(post); System.out.println("Response status from server : " + result); // the response /* * is = post.getResponseBodyAsStream(); bi = new BufferedInputStream(is); * StringBuffer bodyB = new StringBuffer(); int c; while ((c = * bi.read())!=-1) { bodyB.append((char)c); } */ if (result == 401) { // Security problem - authentication required /* * bodyB.setLength(0); bodyB.append("Unable to send task to server - " + * "authentication required.\n"); */ System.err.println("Unable to send task to server - authentication required.\n"); } else { is = post.getResponseBodyAsStream(); ObjectInputStream ois = new ObjectInputStream(is); // System.out.println("Number of bytes in response " + ois.available()); Object response = ois.readObject(); if (response.toString().startsWith(WekaServlet.RESPONSE_ERROR)) { System.err.println("A problem occurred at the sever : \n" + "\t" + response.toString()); } else { System.out.println("Task ID from server : " + response.toString()); } /* * String body = bodyB.toString(); if * (body.startsWith(WekaServlet.RESPONSE_ERROR)) { * System.err.println("A problem occurred at the sever : \n" + "\t" + * body); } else { System.out.println("Task ID from server : " + body); * } */ } } catch (Exception ex) { ex.printStackTrace(); exception = ex; } finally { /* * if (bi != null) { bi.close(); } */ if (is != null) { is.close(); } if (post != null) { // Release current connection to the connection pool post.releaseConnection(); } } if (exception != null) { throw new Exception(exception.fillInStackTrace()); } }
From source file:weka.server.PurgeTaskServlet.java
protected String purgeRemote(String slave, String remoteTaskID, String origTaskID) { String ok = ""; InputStream is = null;/* w w w .j a v a 2s . c o m*/ PostMethod post = null; try { String url = "http://" + slave; url = url.replace(" ", "%20"); url += CONTEXT_PATH; url += "/?name=" + URLEncoder.encode(remoteTaskID, "UTF-8") + "&client=Y"; post = new PostMethod(url); post.setDoAuthentication(true); post.addRequestHeader(new Header("Content-Type", "text/plain")); // Get HTTP client HttpClient client = WekaServer.ConnectionManager.getSingleton().createHttpClient(); WekaServer.ConnectionManager.addCredentials(client, m_server.getUsername(), m_server.getPassword()); // Execute request int result = client.executeMethod(post); // System.out.println("[WekaServer] Response from master server : " + // result); if (result == 401) { System.err.println("[WekaServer] Unable to purge remote task '" + origTaskID + "' - authentication required.\n"); ok = "Unable to purge remote task '" + origTaskID + "' - authentication required for slave (" + slave + ")"; } else { // the response is = post.getResponseBodyAsStream(); ObjectInputStream ois = new ObjectInputStream(is); Object response = ois.readObject(); if (response.toString().startsWith(WekaServlet.RESPONSE_ERROR)) { System.err.println("[WekaServer] A problem occurred while " + "trying to purge task : '" + origTaskID + "' from remote server (" + slave + "). Remote " + "task ID : " + remoteTaskID); ok = "A problem occurred while " + "trying to purge task : '" + origTaskID + "' from remote server (" + slave + "). Remote " + "task ID : " + remoteTaskID; } } } catch (Exception ex) { System.err.println("[WekaServer] A problem occurred while " + "trying to purge task : '" + origTaskID + "' from remote server: " + slave + " (" + ex.getMessage() + ")"); ok = "A problem occurred while " + "trying to purge task : '" + origTaskID + "' from remote server: " + slave + " (" + ex.getMessage() + ")"; } finally { if (is != null) { try { is.close(); is = null; } catch (IOException e) { e.printStackTrace(); } } if (post != null) { post.releaseConnection(); post = null; } } return ok; }