com.canoris.api
Class CanorisConnManager

java.lang.Object
  extended by com.canoris.api.CanorisConnManager

public class CanorisConnManager
extends java.lang.Object

Internally used class to perform the HTTPRequests. In addition JsonParseException(s) are caught here and wrapped in a CanorisException, which contains the HTTP_ERROR_CODE.


Method Summary
 java.util.Map<java.lang.String,java.lang.Object> createResource(java.util.Map<java.lang.String,java.lang.String> uriParams, java.util.Map<java.lang.String,java.lang.String> postParams, java.lang.String resourceType)
          Creates a resource by executing a POST request.
 org.codehaus.jackson.JsonNode createResourceAsTree(java.util.Map<java.lang.String,java.lang.String> uriParams, java.util.Map<java.lang.String,java.lang.String> postParams, java.lang.String resourceType)
          Creates a resource by executing a POST request and returns the response as a JsonNode
 void deleteResource(java.util.Map<java.lang.String,java.lang.String> params, java.lang.String resourceType)
          Delete the resource.
 CanorisFile getCanorisFile(java.util.Map<java.lang.String,java.lang.String> params, java.lang.String resourceType)
          Returns a canorisFile or null if no file is found with the give fileKey.
static CanorisConnManager getInstance()
           
 Pager getPagedResults(java.util.Map<java.lang.String,java.lang.String> params, java.lang.String resourceType)
          Returns a pager object holding the results.
 java.io.InputStream getResource(java.util.Map<java.lang.String,java.lang.String> params, java.lang.String resourceType)
          Returns the requested file
 java.util.Map<java.lang.String,java.lang.Object> getResourceAsMap(java.util.Map<java.lang.String,java.lang.String> params, java.lang.String resourceType)
          Returns a resource as a Map.
 java.util.Map<java.lang.String,java.lang.Object> getResources(java.util.Map<java.lang.String,java.lang.String> params, java.lang.String resourceType)
           
 org.codehaus.jackson.JsonNode getResourcesAsTree(java.util.Map<java.lang.String,java.lang.String> params, java.lang.String resourceType)
          Returns the requested resource as a JsonNode.
 boolean isUseProxy()
          Checks if proxy is in use.
 void setUseProxy(boolean useProxy)
          Sets the useProxy value and if true/false removes the proxy from httpClient accordingly.
 org.codehaus.jackson.JsonNode updateResource(java.util.Map<java.lang.String,java.lang.String> urlParams, java.util.Map<java.lang.String,java.lang.String> putParams, java.lang.String resourceType)
          Updates a resource by executing a PUT request.
 CanorisFile uploadFile(java.lang.String path)
          Uploads a file to the server.
 CanorisFile uploadFileFromURL(java.lang.String url, java.lang.String resourceType)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getInstance

public static CanorisConnManager getInstance()

isUseProxy

public boolean isUseProxy()
Checks if proxy is in use.

Returns:
boolean

setUseProxy

public void setUseProxy(boolean useProxy)
Sets the useProxy value and if true/false removes the proxy from httpClient accordingly. TODO: Oleg from httpClient says it's not necessary to remove the parameter. Test it somewhere that we don't need proxy.

Parameters:
useProxy -

uploadFile

public CanorisFile uploadFile(java.lang.String path)
                       throws java.net.URISyntaxException,
                              org.apache.http.client.ClientProtocolException,
                              java.io.IOException
Uploads a file to the server.

Parameters:
path -
Returns:
CanFile containing the response of the request
Throws:
java.net.URISyntaxException
org.apache.http.client.ClientProtocolException
java.io.IOException

uploadFileFromURL

public CanorisFile uploadFileFromURL(java.lang.String url,
                                     java.lang.String resourceType)
                              throws org.apache.http.client.ClientProtocolException,
                                     java.io.IOException,
                                     java.net.URISyntaxException,
                                     CanorisException
Throws:
org.apache.http.client.ClientProtocolException
java.io.IOException
java.net.URISyntaxException
CanorisException

getCanorisFile

public CanorisFile getCanorisFile(java.util.Map<java.lang.String,java.lang.String> params,
                                  java.lang.String resourceType)
                           throws java.io.IOException,
                                  org.codehaus.jackson.map.JsonMappingException,
                                  org.codehaus.jackson.JsonParseException,
                                  java.io.IOException,
                                  java.net.URISyntaxException,
                                  CanorisException
Returns a canorisFile or null if no file is found with the give fileKey. TODO: customMapper so it setups up the properties/key/ref automaticaly

Parameters:
params -
resourceType -
Returns:
CanorisFile
Throws:
java.io.IOException
org.codehaus.jackson.map.JsonMappingException
org.codehaus.jackson.JsonParseException
java.io.IOException
java.net.URISyntaxException
CanorisException

getResource

public java.io.InputStream getResource(java.util.Map<java.lang.String,java.lang.String> params,
                                       java.lang.String resourceType)
                                throws org.apache.http.client.ClientProtocolException,
                                       java.io.IOException,
                                       java.net.URISyntaxException,
                                       CanorisException
Returns the requested file

Parameters:
params -
resourceType -
Returns:
InputStream
Throws:
org.apache.http.client.ClientProtocolException
java.io.IOException
java.net.URISyntaxException
CanorisException

getResourceAsMap

public java.util.Map<java.lang.String,java.lang.Object> getResourceAsMap(java.util.Map<java.lang.String,java.lang.String> params,
                                                                         java.lang.String resourceType)
                                                                  throws org.apache.http.client.ClientProtocolException,
                                                                         java.io.IOException,
                                                                         java.net.URISyntaxException,
                                                                         CanorisException
Returns a resource as a Map. This is eligible only for specific type of resources that don't return a "file handler".

Parameters:
params -
resourceType -
Returns:
Map the representation of the resource
Throws:
org.apache.http.client.ClientProtocolException
java.io.IOException
java.net.URISyntaxException
Cano.risException
CanorisException

getResources

public java.util.Map<java.lang.String,java.lang.Object> getResources(java.util.Map<java.lang.String,java.lang.String> params,
                                                                     java.lang.String resourceType)
                                                              throws org.apache.http.client.ClientProtocolException,
                                                                     java.io.IOException,
                                                                     java.net.URISyntaxException,
                                                                     CanorisException
Parameters:
params -
resourceType -
Returns:
Map
Throws:
org.apache.http.client.ClientProtocolException
java.io.IOException
java.net.URISyntaxException
CanorisException

getResourcesAsTree

public org.codehaus.jackson.JsonNode getResourcesAsTree(java.util.Map<java.lang.String,java.lang.String> params,
                                                        java.lang.String resourceType)
                                                 throws org.codehaus.jackson.JsonParseException,
                                                        org.codehaus.jackson.map.JsonMappingException,
                                                        org.apache.http.ParseException,
                                                        java.io.IOException,
                                                        java.net.URISyntaxException,
                                                        CanorisException
Returns the requested resource as a JsonNode. This is the only viable solution in some case due to the JSON results being heavily nested.

Parameters:
params -
resourceType -
Returns:
JsonNode
Throws:
org.codehaus.jackson.JsonParseException
org.codehaus.jackson.map.JsonMappingException
org.apache.http.ParseException
java.io.IOException
java.net.URISyntaxException
CanorisException

createResource

public java.util.Map<java.lang.String,java.lang.Object> createResource(java.util.Map<java.lang.String,java.lang.String> uriParams,
                                                                       java.util.Map<java.lang.String,java.lang.String> postParams,
                                                                       java.lang.String resourceType)
                                                                throws org.apache.http.client.ClientProtocolException,
                                                                       java.io.IOException,
                                                                       java.net.URISyntaxException,
                                                                       CanorisException
Creates a resource by executing a POST request.

Parameters:
uriParams -
postParams -
resourceType -
Returns:
Map
Throws:
org.apache.http.client.ClientProtocolException
java.io.IOException
java.net.URISyntaxException
CanorisException

createResourceAsTree

public org.codehaus.jackson.JsonNode createResourceAsTree(java.util.Map<java.lang.String,java.lang.String> uriParams,
                                                          java.util.Map<java.lang.String,java.lang.String> postParams,
                                                          java.lang.String resourceType)
                                                   throws org.apache.http.client.ClientProtocolException,
                                                          java.io.IOException,
                                                          java.net.URISyntaxException,
                                                          CanorisException
Creates a resource by executing a POST request and returns the response as a JsonNode

Parameters:
uriParams -
postParams -
resourceType -
Returns:
JsonNode
Throws:
org.apache.http.client.ClientProtocolException
java.io.IOException
java.net.URISyntaxException
CanorisException

updateResource

public org.codehaus.jackson.JsonNode updateResource(java.util.Map<java.lang.String,java.lang.String> urlParams,
                                                    java.util.Map<java.lang.String,java.lang.String> putParams,
                                                    java.lang.String resourceType)
                                             throws org.apache.http.client.ClientProtocolException,
                                                    java.io.IOException,
                                                    java.net.URISyntaxException,
                                                    CanorisException
Updates a resource by executing a PUT request.

Parameters:
urlParams -
putParams -
resourceType -
Returns:
JsonNode
Throws:
org.apache.http.client.ClientProtocolException
java.io.IOException
java.net.URISyntaxException
CanorisException

deleteResource

public void deleteResource(java.util.Map<java.lang.String,java.lang.String> params,
                           java.lang.String resourceType)
                    throws org.apache.http.client.ClientProtocolException,
                           java.io.IOException,
                           java.net.URISyntaxException,
                           CanorisException
Delete the resource. Does not return anything. TODO: what exception does this throw that is useful???

Parameters:
params -
resourceType -
Throws:
org.apache.http.client.ClientProtocolException
java.io.IOException
java.net.URISyntaxException
CanorisException

getPagedResults

public Pager getPagedResults(java.util.Map<java.lang.String,java.lang.String> params,
                             java.lang.String resourceType)
                      throws org.apache.http.client.ClientProtocolException,
                             java.io.IOException,
                             java.net.URISyntaxException,
                             CanorisException
Returns a pager object holding the results. Depending on the type of the request the pager will hold files, templates or collections.

Parameters:
params -
resourceType -
Returns:
Pager
Throws:
org.apache.http.client.ClientProtocolException
java.io.IOException
java.net.URISyntaxException
CanorisException