Search in sources :

Example 1 with NeutronRestFactory

use of org.apache.cloudstack.network.opendaylight.api.NeutronRestFactory in project cloudstack by apache.

the class Action method executePut.

protected String executePut(final String uri) throws NeutronRestApiException {
    try {
        validateCredentials();
    } catch (NeutronInvalidCredentialsException e) {
        throw new NeutronRestApiException("Invalid credentials!", e);
    }
    NeutronRestFactory factory = NeutronRestFactory.getInstance();
    NeutronRestApi neutronRestApi = factory.getNeutronApi(PutMethod.class);
    PutMethod putMethod = (PutMethod) neutronRestApi.createMethod(url, uri);
    try {
        String encodedCredentials = encodeCredentials();
        putMethod.setRequestHeader("Authorization", "Basic " + encodedCredentials);
        neutronRestApi.executeMethod(putMethod);
        if (putMethod.getStatusCode() != HttpStatus.SC_OK) {
            String errorMessage = responseToErrorMessage(putMethod);
            putMethod.releaseConnection();
            s_logger.error("Failed to update object : " + errorMessage);
            throw new NeutronRestApiException("Failed to create object : " + errorMessage);
        }
        return putMethod.getResponseBodyAsString();
    } catch (NeutronRestApiException e) {
        s_logger.error("NeutronRestApiException caught while trying to execute HTTP Method on the Neutron Controller", e);
        throw new NeutronRestApiException("API call to Neutron Controller Failed", e);
    } catch (IOException e) {
        throw new NeutronRestApiException("Failed to load json response body", e);
    } finally {
        putMethod.releaseConnection();
    }
}
Also used : NeutronRestFactory(org.apache.cloudstack.network.opendaylight.api.NeutronRestFactory) NeutronRestApi(org.apache.cloudstack.network.opendaylight.api.NeutronRestApi) NeutronInvalidCredentialsException(org.apache.cloudstack.network.opendaylight.api.NeutronInvalidCredentialsException) PutMethod(org.apache.commons.httpclient.methods.PutMethod) NeutronRestApiException(org.apache.cloudstack.network.opendaylight.api.NeutronRestApiException) IOException(java.io.IOException)

Example 2 with NeutronRestFactory

use of org.apache.cloudstack.network.opendaylight.api.NeutronRestFactory in project cloudstack by apache.

the class Action method executePost.

protected String executePost(final String uri, final StringRequestEntity entity) throws NeutronRestApiException {
    try {
        validateCredentials();
    } catch (NeutronInvalidCredentialsException e) {
        throw new NeutronRestApiException("Invalid credentials!", e);
    }
    NeutronRestFactory factory = NeutronRestFactory.getInstance();
    NeutronRestApi neutronRestApi = factory.getNeutronApi(PostMethod.class);
    PostMethod postMethod = (PostMethod) neutronRestApi.createMethod(url, uri);
    try {
        postMethod.setRequestHeader(CONTENT_TYPE, JSON_CONTENT_TYPE);
        postMethod.setRequestEntity(entity);
        String encodedCredentials = encodeCredentials();
        postMethod.setRequestHeader("Authorization", "Basic " + encodedCredentials);
        neutronRestApi.executeMethod(postMethod);
        if (postMethod.getStatusCode() != HttpStatus.SC_CREATED) {
            String errorMessage = responseToErrorMessage(postMethod);
            postMethod.releaseConnection();
            s_logger.error("Failed to create object : " + errorMessage);
            throw new NeutronRestApiException("Failed to create object : " + errorMessage);
        }
        return postMethod.getResponseBodyAsString();
    } catch (NeutronRestApiException e) {
        s_logger.error("NeutronRestApiException caught while trying to execute HTTP Method on the Neutron Controller", e);
        throw new NeutronRestApiException("API call to Neutron Controller Failed", e);
    } catch (IOException e) {
        throw new NeutronRestApiException("Failed to load json response body", e);
    } finally {
        postMethod.releaseConnection();
    }
}
Also used : NeutronRestFactory(org.apache.cloudstack.network.opendaylight.api.NeutronRestFactory) NeutronRestApi(org.apache.cloudstack.network.opendaylight.api.NeutronRestApi) NeutronInvalidCredentialsException(org.apache.cloudstack.network.opendaylight.api.NeutronInvalidCredentialsException) PostMethod(org.apache.commons.httpclient.methods.PostMethod) NeutronRestApiException(org.apache.cloudstack.network.opendaylight.api.NeutronRestApiException) IOException(java.io.IOException)

Example 3 with NeutronRestFactory

use of org.apache.cloudstack.network.opendaylight.api.NeutronRestFactory in project cloudstack by apache.

the class Action method executePut.

protected void executePut(final String uri, final StringRequestEntity entity) throws NeutronRestApiException {
    try {
        validateCredentials();
    } catch (NeutronInvalidCredentialsException e) {
        throw new NeutronRestApiException("Invalid credentials!", e);
    }
    NeutronRestFactory factory = NeutronRestFactory.getInstance();
    NeutronRestApi neutronRestApi = factory.getNeutronApi(PutMethod.class);
    PutMethod putMethod = (PutMethod) neutronRestApi.createMethod(url, uri);
    try {
        putMethod.setRequestHeader(CONTENT_TYPE, JSON_CONTENT_TYPE);
        putMethod.setRequestEntity(entity);
        String encodedCredentials = encodeCredentials();
        putMethod.setRequestHeader("Authorization", "Basic " + encodedCredentials);
        neutronRestApi.executeMethod(putMethod);
        if (putMethod.getStatusCode() != HttpStatus.SC_OK) {
            String errorMessage = responseToErrorMessage(putMethod);
            putMethod.releaseConnection();
            s_logger.error("Failed to update object : " + errorMessage);
            throw new NeutronRestApiException("Failed to create object : " + errorMessage);
        }
    } catch (NeutronRestApiException e) {
        s_logger.error("NeutronRestApiException caught while trying to execute HTTP Method on the Neutron Controller", e);
        throw new NeutronRestApiException("API call to Neutron Controller Failed", e);
    } finally {
        putMethod.releaseConnection();
    }
}
Also used : NeutronRestFactory(org.apache.cloudstack.network.opendaylight.api.NeutronRestFactory) NeutronRestApi(org.apache.cloudstack.network.opendaylight.api.NeutronRestApi) NeutronInvalidCredentialsException(org.apache.cloudstack.network.opendaylight.api.NeutronInvalidCredentialsException) PutMethod(org.apache.commons.httpclient.methods.PutMethod) NeutronRestApiException(org.apache.cloudstack.network.opendaylight.api.NeutronRestApiException)

Example 4 with NeutronRestFactory

use of org.apache.cloudstack.network.opendaylight.api.NeutronRestFactory in project cloudstack by apache.

the class Action method executeDelete.

protected void executeDelete(final String uri) throws NeutronRestApiException {
    try {
        validateCredentials();
    } catch (NeutronInvalidCredentialsException e) {
        throw new NeutronRestApiException("Invalid credentials!", e);
    }
    NeutronRestFactory factory = NeutronRestFactory.getInstance();
    NeutronRestApi neutronRestApi = factory.getNeutronApi(DeleteMethod.class);
    DeleteMethod deleteMethod = (DeleteMethod) neutronRestApi.createMethod(url, uri);
    try {
        deleteMethod.setRequestHeader(CONTENT_TYPE, JSON_CONTENT_TYPE);
        String encodedCredentials = encodeCredentials();
        deleteMethod.setRequestHeader("Authorization", "Basic " + encodedCredentials);
        neutronRestApi.executeMethod(deleteMethod);
        if (deleteMethod.getStatusCode() != HttpStatus.SC_NO_CONTENT) {
            String errorMessage = responseToErrorMessage(deleteMethod);
            deleteMethod.releaseConnection();
            s_logger.error("Failed to update object : " + errorMessage);
            throw new NeutronRestApiException("Failed to create object : " + errorMessage);
        }
    } catch (NeutronRestApiException e) {
        s_logger.error("NeutronRestApiException caught while trying to execute HTTP Method on the Neutron Controller", e);
        throw new NeutronRestApiException("API call to Neutron Controller Failed", e);
    } finally {
        deleteMethod.releaseConnection();
    }
}
Also used : NeutronRestFactory(org.apache.cloudstack.network.opendaylight.api.NeutronRestFactory) NeutronRestApi(org.apache.cloudstack.network.opendaylight.api.NeutronRestApi) DeleteMethod(org.apache.commons.httpclient.methods.DeleteMethod) NeutronInvalidCredentialsException(org.apache.cloudstack.network.opendaylight.api.NeutronInvalidCredentialsException) NeutronRestApiException(org.apache.cloudstack.network.opendaylight.api.NeutronRestApiException)

Example 5 with NeutronRestFactory

use of org.apache.cloudstack.network.opendaylight.api.NeutronRestFactory in project cloudstack by apache.

the class Action method executeGet.

public String executeGet(final String uri, final Map<String, String> parameters) throws NeutronRestApiException {
    try {
        validateCredentials();
    } catch (NeutronInvalidCredentialsException e) {
        throw new NeutronRestApiException("Invalid credentials!", e);
    }
    NeutronRestFactory factory = NeutronRestFactory.getInstance();
    NeutronRestApi neutronRestApi = factory.getNeutronApi(GetMethod.class);
    GetMethod getMethod = (GetMethod) neutronRestApi.createMethod(url, uri);
    try {
        getMethod.setRequestHeader(CONTENT_TYPE, JSON_CONTENT_TYPE);
        String encodedCredentials = encodeCredentials();
        getMethod.setRequestHeader("Authorization", "Basic " + encodedCredentials);
        if (parameters != null && !parameters.isEmpty()) {
            List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(parameters.size());
            for (Entry<String, String> e : parameters.entrySet()) {
                nameValuePairs.add(new NameValuePair(e.getKey(), e.getValue()));
            }
            getMethod.setQueryString(nameValuePairs.toArray(new NameValuePair[0]));
        }
        neutronRestApi.executeMethod(getMethod);
        if (getMethod.getStatusCode() != HttpStatus.SC_OK) {
            String errorMessage = responseToErrorMessage(getMethod);
            getMethod.releaseConnection();
            s_logger.error("Failed to retrieve object : " + errorMessage);
            throw new NeutronRestApiException("Failed to retrieve object : " + errorMessage);
        }
        return getMethod.getResponseBodyAsString();
    } catch (NeutronRestApiException e) {
        s_logger.error("NeutronRestApiException caught while trying to execute HTTP Method on the Neutron Controller", e);
        throw new NeutronRestApiException("API call to Neutron Controller Failed", e);
    } catch (IOException e) {
        throw new NeutronRestApiException(e);
    } finally {
        getMethod.releaseConnection();
    }
}
Also used : NeutronRestFactory(org.apache.cloudstack.network.opendaylight.api.NeutronRestFactory) NeutronRestApi(org.apache.cloudstack.network.opendaylight.api.NeutronRestApi) NameValuePair(org.apache.commons.httpclient.NameValuePair) NeutronInvalidCredentialsException(org.apache.cloudstack.network.opendaylight.api.NeutronInvalidCredentialsException) GetMethod(org.apache.commons.httpclient.methods.GetMethod) ArrayList(java.util.ArrayList) NeutronRestApiException(org.apache.cloudstack.network.opendaylight.api.NeutronRestApiException) IOException(java.io.IOException)

Aggregations

NeutronInvalidCredentialsException (org.apache.cloudstack.network.opendaylight.api.NeutronInvalidCredentialsException)5 NeutronRestApi (org.apache.cloudstack.network.opendaylight.api.NeutronRestApi)5 NeutronRestApiException (org.apache.cloudstack.network.opendaylight.api.NeutronRestApiException)5 NeutronRestFactory (org.apache.cloudstack.network.opendaylight.api.NeutronRestFactory)5 IOException (java.io.IOException)3 PutMethod (org.apache.commons.httpclient.methods.PutMethod)2 ArrayList (java.util.ArrayList)1 NameValuePair (org.apache.commons.httpclient.NameValuePair)1 DeleteMethod (org.apache.commons.httpclient.methods.DeleteMethod)1 GetMethod (org.apache.commons.httpclient.methods.GetMethod)1 PostMethod (org.apache.commons.httpclient.methods.PostMethod)1