Example usage for org.apache.commons.httpclient Header Header

List of usage examples for org.apache.commons.httpclient Header Header

Introduction

In this page you can find the example usage for org.apache.commons.httpclient Header Header.

Prototype

public Header(String paramString1, String paramString2) 

Source Link

Usage

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;
}