|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.gcube.contentmanagement.baselayer.networkFileTransfer.CommonsHTTPClientPseudeContentManager
public class CommonsHTTPClientPseudeContentManager
This class provides the basic functionallity to retrieve files via HTTP(S). It does not provide a full-fledged content manager e.g. with the abitility to store or delete remote files. The implementation is backed by the widely used Apache Jakarta Commons HTTPClient, that does avoid most of the problems of HTTP implementation provided by Java directly, e.g. concurrent use in multiple threads with different authentications.
Field Summary | |
---|---|
static java.lang.String |
HTTP_RESPONSE_HEADER_ELEMENT_CONTENT_LENGTH
Constant name of the response header defining the length of the content according to RFC 2616, Section 14.13 commons-httpclient will evaluate this name case insensitive |
static java.lang.String |
HTTP_RESPONSE_HEADER_ELEMENT_CONTENT_TYPE
Constant name of the response header defining the MIME type of the content according to RFC 2616, Section 14.17 commons-httpclient will evaluate this name case insensitive |
static java.lang.String |
HTTP_RESPONSE_HEADER_TRANSFER_ENCODING
Constant name of the response header defining the the transfer encoding according to RFC 2616, Section 14.41 This field is important in the context of the content length, since RFC 2616, Section 4.4.3 defines that in case both are submitted, content length must be be ignored. |
Fields inherited from interface org.gcube.contentmanagement.baselayer.InstantiableManager |
---|
MANAGER_INSTANTIATION_METHOD_NAME |
Constructor Summary | |
---|---|
CommonsHTTPClientPseudeContentManager(java.lang.String managedURL)
Constructs a new manager for a particular URL |
Method Summary | |
---|---|
boolean |
deleteBinaryContent(RawContentLocation location,
BasicStorageHints hints)
Removes the binary content from storage (Unsupported Operation) |
boolean |
existsBinaryContent(RawContentLocation location,
BasicStorageHints hints)
Checks whether there is content at this location |
BaseLayerStream |
getBinaryContent(RawContentLocation location,
BasicStorageHints hints)
Opens the content for reading and passes the input stream to the caller |
java.lang.String |
getDataProvider()
|
static java.lang.String |
getDataProviderPrefix()
Returns the prefix that is used by the manager for identying responsibility for a data source |
static HTTPPseudoContentManager |
getManagerInstance(java.lang.String[] params,
java.lang.String managerName)
|
java.lang.String |
getUniqueStorageLocationIDFor(java.lang.String objectID)
|
boolean |
handles(java.lang.String dataprovider)
Checks whether the RawFileContentManager can handle this data. |
RawContentLocation |
makePermanentLocation(RawContentLocation currentLocation,
BasicStorageHints hints)
Returns a raw location, which can be stored and retrieved later without the need to pass again all the hints. |
RawContentLocation |
saveBinaryContent(java.lang.String uniqueStorageID,
BaseLayerStream binaryFileContent,
BasicStorageHints hints)
Saves the passed binary content in the managed resource. |
boolean |
supportsAppending()
Tells whether this content manager supports appending content in addition to overwriting the content when storing |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String HTTP_RESPONSE_HEADER_ELEMENT_CONTENT_LENGTH
public static final java.lang.String HTTP_RESPONSE_HEADER_TRANSFER_ENCODING
public static final java.lang.String HTTP_RESPONSE_HEADER_ELEMENT_CONTENT_TYPE
Constructor Detail |
---|
public CommonsHTTPClientPseudeContentManager(java.lang.String managedURL)
managedURL
- the URL that should be mamagedMethod Detail |
---|
public static java.lang.String getDataProviderPrefix()
public RawContentLocation saveBinaryContent(java.lang.String uniqueStorageID, BaseLayerStream binaryFileContent, BasicStorageHints hints) throws BaseLayerException
saveBinaryContent
in interface RawFileContentManager
binaryFileContent
- the content to storeuniqueStorageID
- a unique ID to as a hint where to store the contenthints
- the hints that should be used
BaseLayerException
- in case of failure of underlying storage systempublic BaseLayerStream getBinaryContent(RawContentLocation location, BasicStorageHints hints) throws BaseLayerException
getBinaryContent
in interface RawFileContentManager
location
- the RawContentLocation where the content is accessiblehints
- the hints that should be used
BaseLayerException
- in case of failure of underlying storage systempublic boolean deleteBinaryContent(RawContentLocation location, BasicStorageHints hints) throws BaseLayerException
deleteBinaryContent
in interface RawFileContentManager
location
- the RawContentLocation where the content is accessiblehints
- the hints that should be used
BaseLayerException
- in case of failure of underlying storage systempublic boolean existsBinaryContent(RawContentLocation location, BasicStorageHints hints) throws BaseLayerException
existsBinaryContent
in interface RawFileContentManager
location
- the RawContentLocation where the content is accessible
BaseLayerException
- in case of failure of underlying storage systempublic boolean handles(java.lang.String dataprovider)
This means that it can handle the requests for content stored at this dataprovider. In the ideal case, this also checks if it has all required access rights. But this cannot be enforced as a strong requirement before the actual calls take place.
handles
in interface RawFileContentManager
dataprovider
-
public java.lang.String getDataProvider()
getDataProvider
in interface RawFileContentManager
public boolean supportsAppending()
supportsAppending
in interface RawFileContentManager
BasicStorageHints#HINT_NAME_APPEND_CONTENT
public RawContentLocation makePermanentLocation(RawContentLocation currentLocation, BasicStorageHints hints) throws ValueNotValidException
This is of particular interest for username / password combinations.
makePermanentLocation
in interface RawFileContentManager
currentLocation
- the location, where content can be accessed currently (may
require information from the hints)hints
- hints, that may be needed to request the content
ValueNotValidException
- If some hints was not defined correctly or there is no
possibility to include that in the permanent location.public static HTTPPseudoContentManager getManagerInstance(java.lang.String[] params, java.lang.String managerName) throws BaseLayerException
BaseLayerException
public java.lang.String getUniqueStorageLocationIDFor(java.lang.String objectID)
getUniqueStorageLocationIDFor
in interface RawFileContentManager
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |