org.cmis.interopserver.services.cap
Interface CAP

All Superinterfaces:
org.cmis.interopserver.services.base.Base, java.rmi.Remote
All Known Implementing Classes:
CAPSoapBindingImpl, CAPSoapBindingSkeleton, CAPSoapBindingStub

public interface CAP
extends org.cmis.interopserver.services.base.Base, java.rmi.Remote

The CAP interface for posting and retrieving CAP alerts.

Author:
interop team

Method Summary
 org.cmis.interopserver.beans.cap.Alert getCAPAlert(java.lang.String messageid)
          Gets the Alert that corresponds to this identifier.
 org.cmis.interopserver.beans.cap.Alert[] getCAPAlerts(java.util.Calendar lastupdate)
          Gets all Alerts since the given date-time, exclusive.
 org.cmis.interopserver.beans.cap.Alert[] getCAPAlerts(java.lang.String[] searchTerms)
          Gets all Alerts that are visible to the user that match ALL of the given search terms.
 java.util.Calendar getServerTime()
          Retrieves the current time on the server; useful for time-synching to ensure that getCAPAlerts(time) is accurate.
 void postCAPAlert(org.cmis.interopserver.beans.cap.Alert alert)
          Gets all Alerts with a element since the given date-time, exclusive.
 void postCAPAlert(org.cmis.interopserver.beans.cap.Alert alert, org.cmis.interopserver.beans.cap.CAPAttachmentDescriptor[] attachments)
          This is identitical to postCAPAlert(Alert), above, but also includes attachments.
 void postCAPAlert(org.cmis.interopserver.beans.cap.Alert alert, org.cmis.interopserver.beans.SimpleCOG[] mailList)
          Posts this Alert to the specified list of COGs.
 void postCAPAlert(org.cmis.interopserver.beans.cap.Alert alert, org.cmis.interopserver.beans.SimpleCOG[] mailList, org.cmis.interopserver.beans.cap.CAPAttachmentDescriptor[] attachments)
          This is identitical to postCAPAlert(alert, mailList), above, but also includes attachments.
 
Methods inherited from interface org.cmis.interopserver.services.base.Base
getCogs, getMyCog, ping
 

Method Detail

getCAPAlert

org.cmis.interopserver.beans.cap.Alert getCAPAlert(java.lang.String messageid)
                                                   throws java.rmi.RemoteException
Gets the Alert that corresponds to this identifier. Since the CAP identifier is unique only for a particular sender, to retrieve a particular CAP alert, concatenate the CAP sender, a colon, and the CAP identifier to use as the "messageid". For example: user@123.org:#1234 Any leading or trailing white space will be removed. If the "messageid" does not correspond to a CAP Alert in the DMIS system, an error will be returned.

Parameters:
messageid - (cap sender):(cap identifier)
Returns:
Alert that corresponds to this identifier.
Throws:
java.rmi.RemoteException - A remote exception occurred

getCAPAlerts

org.cmis.interopserver.beans.cap.Alert[] getCAPAlerts(java.lang.String[] searchTerms)
                                                      throws java.rmi.RemoteException
Gets all Alerts that are visible to the user that match ALL of the given search terms. Search terms are sent in as an array of strings in the form: method=search string The currently available method is "xpath"; however geospatial searches are coming soon. So, for example, to use an XPath query to search for all alerts with an "identifier" field that is equal to "id5", then include the following string in the searchTerms array: xpath=/alert[identifier="id5"] Details on XPath: For more information on XPath, see http://www.w3schools.com/xpath/ NOTE that the DMI-Services XPath support is not yet complete; all basic functions are supported but some functions are not yet implemented. If you run into something that is not supported and you would like it to be, please let us know and we will try to help.

Parameters:
searchTerms -
Returns:
All Alerts matching all of the search terms.
Throws:
java.rmi.RemoteException - if there is some error

getCAPAlerts

org.cmis.interopserver.beans.cap.Alert[] getCAPAlerts(java.util.Calendar lastupdate)
                                                      throws java.rmi.RemoteException
Gets all Alerts since the given date-time, exclusive. This includes Alerts that have been posted directly to the caller's COG as well as those that have been posted globally. The Alerts are returned in chronological order, from newest to oldest. If the date is in the future or otherwise invalid, an error is returned. If there are no alerts since that date-time, an empty list is returned.

Parameters:
lastupdate - a date-time cutoff for retrieving posted events
Returns:
An array of alerts since the given date-time.
Throws:
java.rmi.RemoteException - A remote exception occurred

postCAPAlert

void postCAPAlert(org.cmis.interopserver.beans.cap.Alert alert)
                  throws java.rmi.RemoteException
Gets all Alerts with a element since the given date-time, exclusive.

Parameters:
lastupdate - a date-time cutoff for retrieving posted events
Throws:
java.rmi.RemoteException - A remote exception occurred

postCAPAlert

void postCAPAlert(org.cmis.interopserver.beans.cap.Alert alert,
                  org.cmis.interopserver.beans.SimpleCOG[] mailList)
                  throws java.rmi.RemoteException
Posts this Alert to the specified list of COGs. Once posted, the Alert will be accessible to users of any of the COGs on that list, as well as the sender's COG. This is semantically identical to using postCAPAlert(Alert) with COG ids specified in the address field as described above. This method will ignore the address and scope fields of the Alert and post it only to the COGs specified in the array of SimpleCOG objects supplied. If any of the COGs specified in the COG array are invalid, an error will be returned and no posting will take place. The same is true if there are duplicates in the COG array, or if the sender's COG is specified in the COG array. This method does not return anything; if no error is returned then the posting has succeeded.

Parameters:
alert - Alert to be posted.
mailList - Array of SimpleCOGs to receive the alert.
Throws:
java.rmi.RemoteException - A remote exception occurred

postCAPAlert

void postCAPAlert(org.cmis.interopserver.beans.cap.Alert alert,
                  org.cmis.interopserver.beans.cap.CAPAttachmentDescriptor[] attachments)
                  throws java.rmi.RemoteException
This is identitical to postCAPAlert(Alert), above, but also includes attachments. These attachments are ways to include resources pertinent to the alert that will be hosted on DMI-Services servers and accessible to all recipients of the alert (via a URL in a "resource" block). These attachments are included in the message, following the SOAP with Attachments specification (most toolkits have methods to deal with adding attachments; see your toolkit documentation for details). The CAPAttachmentDescriptor object contains information identifying the "info" block that the attachment corresponds to; see the CAPAttachmentDescriptor for details on these fields. The object also contains information describing the attachment, and optionally a SHA-1 digest that will be checked by DMI-Services to ensure no transport errors. The attachments will be handled in DMIS in the following manner: DMIS will pull the attachments from the message and store them on the DMI-Services servers. DMIS will assume that the first CAPAttachmentDescriptor object corresponds to the first attachment, and so on; if there are an uneven number of attachments and CAPAttachmentDescriptors, it will throw an error. DMIS will check each attachment against the digest provided in the corresponding CAPAttachmentDescriptor (if any); if there is a mismatch it will assume that an error occured in transmission and will throw an error. For each attachment, DMIS will add a resource block to the info block described in the CAPAttachmentDescriptor (existing resource blocks will not be affected). It will populate the resource block with data from the CAPAttachmentDescriptor object. It will also fill in the message digest, if it was not specified in the CAPAttachmentDescriptor, and it will fill in the size value. It will fill in the URL value with the URL that a recipient of the alert can use to view/retrieve the resource (using HTTPS). The alert, with the new resource block, will then be posted as usual.

Parameters:
alert - Alert to be posted.
attachments - Descriptions of the attachments that are added to this message via the SOAP with Attachments specification. These must correspond, one-to-one, with attachments in this message. The first attachment descriptor in the array describes the first attachment in the message, and so on.
Throws:
java.rmi.RemoteException - A remote exception occurred
See Also:
postCAPAlert

postCAPAlert

void postCAPAlert(org.cmis.interopserver.beans.cap.Alert alert,
                  org.cmis.interopserver.beans.SimpleCOG[] mailList,
                  org.cmis.interopserver.beans.cap.CAPAttachmentDescriptor[] attachments)
                  throws java.rmi.RemoteException
This is identitical to postCAPAlert(alert, mailList), above, but also includes attachments. These attachments are ways to include resources pertinent to the alert that will be hosted on DMI-Services servers and accessible to all recipients of the alert (via a URL in a "resource" block). These attachments are included in the message, following the SOAP with Attachments specification (most toolkits have methods to deal with adding attachments; see your toolkit documentation for details). The CAPAttachmentDescriptor object contains information identifying the "info" block that the attachment corresponds to; see the CAPAttachmentDescriptor for details on these fields. The object also contains information describing the attachment, and optionally a SHA-1 digest that will be checked by DMI-Services to ensure no transport errors. The attachments will be handled in DMIS in the following manner: DMIS will pull the attachments from the message and store them on the DMI-Services servers. DMIS will assume that the first CAPAttachmentDescriptor object corresponds to the first attachment, and so on; if there are an uneven number of attachments and CAPAttachmentDescriptors, it will throw an error. DMIS will check each attachment against the digest provided in the corresponding CAPAttachmentDescriptor (if any); if there is a mismatch it will assume that an error occured in transmission and will throw an error. For each attachment, DMIS will add a resource block to the info block described in the CAPAttachmentDescriptor (existing resource blocks will not be affected). It will populate the resource block with data from the CAPAttachmentDescriptor object. It will also fill in the message digest, if it was not specified in the CAPAttachmentDescriptor, and it will fill in the size value. It will fill in the URL value with the URL that a recipient of the alert can use to view/retrieve the resource (using HTTPS). The alert, with the new resource block, will then be posted as usual; see postCAPAlert(alert, mailList) for details.

Parameters:
alert - Alert to be posted.
attachments - Descriptions of the attachments that are added to this message via the SOAP with Attachments specification. These must correspond, one-to-one, with attachments in this message. The first attachment descriptor in the array describes the first attachment in the message, and so on.
Throws:
java.rmi.RemoteException - A remote exception occurred
See Also:
postCAPAlert

getServerTime

java.util.Calendar getServerTime()
                                 throws java.rmi.RemoteException
Retrieves the current time on the server; useful for time-synching to ensure that getCAPAlerts(time) is accurate. Note that current server time is also returned as a SOAP header with each request; this method is here only for convenience.

Returns:
current server time.
Throws:
java.rmi.RemoteException