org.cmis.interopserver.services.capv2
Class CAPv2SoapBindingImpl

java.lang.Object
  extended by org.cmis.interopserver.services.base.InteropDmisProxyObject
      extended by org.cmis.interopserver.services.base.BaseSoapBindingImpl
          extended by org.cmis.interopserver.services.capv2.CAPv2SoapBindingImpl
All Implemented Interfaces:
java.io.Serializable, java.rmi.Remote, org.cmis.interopserver.services.base.Base, CAPv2

public class CAPv2SoapBindingImpl
extends org.cmis.interopserver.services.base.BaseSoapBindingImpl
implements CAPv2

See Also:
Serialized Form

Field Summary
static java.lang.String PARSE_ERROR
           
 
Fields inherited from class org.cmis.interopserver.services.base.BaseSoapBindingImpl
alCogs, cogNameMapping, GENERIC_INTERNAL_ERROR, INVALID_SESSION_MESSAGE, log, SERVER_ERROR
 
Constructor Summary
CAPv2SoapBindingImpl()
           
 
Method Summary
protected  java.lang.String AlertToXML(org.cmis.interopserver.beans.capv2.Alert cap)
           
 org.cmis.interopserver.beans.capv2.Alert getCAPAlert(java.lang.String messageid)
          Gets the Alert that corresponds to this identifier.
 org.cmis.interopserver.beans.capv2.Alert[] getCAPAlerts(java.util.Calendar lastupdate)
          Gets all Alerts since the given date-time, exclusive.
 org.cmis.interopserver.beans.capv2.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.capv2.Alert cap)
          Posts this Alert globally across the system.
 void postCAPAlert(org.cmis.interopserver.beans.capv2.Alert cap, org.cmis.interopserver.beans.capv2.CAPAttachmentDescriptor[] attachments)
          This method is identitical to postCAPAlert(Alert), but also includes attachments.
 void postCAPAlert(org.cmis.interopserver.beans.capv2.Alert cap, org.cmis.interopserver.beans.SimpleCOG[] mailList)
          Posts this Alert to the specified list of COGs.
 void postCAPAlert(org.cmis.interopserver.beans.capv2.Alert cap, org.cmis.interopserver.beans.SimpleCOG[] mailList, org.cmis.interopserver.beans.capv2.CAPAttachmentDescriptor[] attachments)
          This is identitical to postCAPAlert(alert, mailList), above, but also includes attachments.
protected  org.cmis.interopserver.beans.capv2.Alert XMLToAlert(java.lang.String string)
           
 
Methods inherited from class org.cmis.interopserver.services.base.BaseSoapBindingImpl
addAttachment, addAttachment, clientNotifyViaSMTP, clientNotifyViaUrl, convertSimpleCogs, getCogNameMapping, getCogs, getDataHandler, getMyCog, ping
 
Methods inherited from class org.cmis.interopserver.services.base.InteropDmisProxyObject
getOperator, getProxy
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.cmis.interopserver.services.capv2.CAPv2
getCogs, getMyCog, ping
 

Field Detail

PARSE_ERROR

public static final java.lang.String PARSE_ERROR
See Also:
Constant Field Values
Constructor Detail

CAPv2SoapBindingImpl

public CAPv2SoapBindingImpl()
Method Detail

getCAPAlert

public org.cmis.interopserver.beans.capv2.Alert getCAPAlert(java.lang.String messageid)
                                                     throws java.rmi.RemoteException
Description copied from interface: CAPv2
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.

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

getCAPAlerts

public org.cmis.interopserver.beans.capv2.Alert[] getCAPAlerts(java.lang.String[] searchTerms)
                                                        throws java.rmi.RemoteException
Description copied from interface: CAPv2
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.

Specified by:
getCAPAlerts in interface CAPv2
Parameters:
searchTerms -
Returns:
Throws:
java.rmi.RemoteException
RemoteException - if there is some error

getCAPAlerts

public org.cmis.interopserver.beans.capv2.Alert[] getCAPAlerts(java.util.Calendar lastupdate)
                                                        throws java.rmi.RemoteException
Description copied from interface: CAPv2
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.

Specified by:
getCAPAlerts in interface CAPv2
Parameters:
lastupdate - a date-time cutoff for retrieving posted events. This value is being compared to the sent field of the Alert message.
Returns:
An array of alerts since the given date-time.
Throws:
java.rmi.RemoteException - A remote exception occurred

postCAPAlert

public void postCAPAlert(org.cmis.interopserver.beans.capv2.Alert cap,
                         org.cmis.interopserver.beans.SimpleCOG[] mailList,
                         org.cmis.interopserver.beans.capv2.CAPAttachmentDescriptor[] attachments)
                  throws java.rmi.RemoteException
Description copied from interface: CAPv2
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.

Specified by:
postCAPAlert in interface CAPv2
Parameters:
cap -
mailList -
attachments -
Throws:
java.rmi.RemoteException
See Also:
postCAPAlert

postCAPAlert

public void postCAPAlert(org.cmis.interopserver.beans.capv2.Alert cap,
                         org.cmis.interopserver.beans.SimpleCOG[] mailList)
                  throws java.rmi.RemoteException
Description copied from interface: CAPv2
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 CAPv2.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.

Specified by:
postCAPAlert in interface CAPv2
Parameters:
cap - Alert to be posted.
mailList - Array of SimpleCOGs to receive the alert.
Throws:
java.rmi.RemoteException - A remote exception occurred

postCAPAlert

public void postCAPAlert(org.cmis.interopserver.beans.capv2.Alert cap,
                         org.cmis.interopserver.beans.capv2.CAPAttachmentDescriptor[] attachments)
                  throws java.rmi.RemoteException
Description copied from interface: CAPv2
This method is identitical to postCAPAlert(Alert), 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.

Specified by:
postCAPAlert in interface CAPv2
Parameters:
cap -
attachments -
Throws:
java.rmi.RemoteException
See Also:
postCAPAlert

postCAPAlert

public void postCAPAlert(org.cmis.interopserver.beans.capv2.Alert cap)
                  throws java.rmi.RemoteException
Description copied from interface: CAPv2
Posts this Alert globally across the system. Once posted, the Alert will be accessible by users of all COGs (including the sender's) via the "getCAPAlert" methods, with the following exception: If the value of the Alert's Alert.scope field is "Private" and the org.cmis.interopserver.beans.cap.Alert#address field contains a space-delimited series COGs in the form "COGx" where x is a valid COG SimpleCOG.id (for example, COG1737 COG1000 COG2) then the Alert will be posted to only those specified COGs. If any of the COG ids are invalid, an error will be returned and no posting will take place. In any other case, the Alert will be posted globally across the DMIS system (to all COGs). This method does not return anything; if no error is returned then the posting has succeeded.

Specified by:
postCAPAlert in interface CAPv2
Parameters:
cap - Alert to be posted.
Throws:
java.rmi.RemoteException - A remote exception occurred

getServerTime

public java.util.Calendar getServerTime()
                                 throws java.rmi.RemoteException
Description copied from interface: CAPv2
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.

Specified by:
getServerTime in interface CAPv2
Returns:
Throws:
java.rmi.RemoteException
RemoteException

XMLToAlert

protected org.cmis.interopserver.beans.capv2.Alert XMLToAlert(java.lang.String string)
                                                       throws java.io.IOException
Parameters:
string -
Returns:
Throws:
java.io.IOException

AlertToXML

protected java.lang.String AlertToXML(org.cmis.interopserver.beans.capv2.Alert cap)
                               throws java.io.IOException
Parameters:
cap -
Returns:
Throws:
java.io.IOException