com.eurotech.framework.cloud
Class Cloudlet

java.lang.Object
  extended by com.eurotech.framework.cloud.Cloudlet
All Implemented Interfaces:
CloudClientListener
Direct Known Subclasses:
VpnClient

public abstract class Cloudlet
extends Object
implements CloudClientListener

Cloudlet is an abstract class that can be extended by services that wants to implement remote resource management. The Cloudlet abstracts the detailed of the communication with the remote clients providing easy to use template methods to be implemented by subclasses to handle CRUD operations on local resources.


Field Summary
protected static int DFLT_PRIORITY
           
protected static int DFLT_PUB_QOS
           
protected static boolean DFLT_RETAIN
           
 
Constructor Summary
protected Cloudlet(String appId)
           
 
Method Summary
protected  void activate(org.osgi.service.component.ComponentContext componentContext)
           
protected  void deactivate(org.osgi.service.component.ComponentContext componentContext)
           
protected  void doDel(CloudletTopic reqTopic, EsfRequestPayload reqPayload, EsfResponsePayload respPayload)
           
protected  void doExec(CloudletTopic reqTopic, EsfRequestPayload reqPayload, EsfResponsePayload respPayload)
           
protected  void doGet(CloudletTopic reqTopic, EsfRequestPayload reqPayload, EsfResponsePayload respPayload)
           
protected  void doPost(CloudletTopic reqTopic, EsfRequestPayload reqPayload, EsfResponsePayload respPayload)
           
protected  void doPut(CloudletTopic reqTopic, EsfRequestPayload reqPayload, EsfResponsePayload respPayload)
           
 String getAppId()
           
protected  CloudClient getCloudApplicationClient()
           
protected  CloudService getCloudService()
           
 void onConnectionEstablished()
          Called when the CloudClient has successfully connected with the broker.
 void onConnectionLost()
          Called when the client has lost its connection with the broker.
 void onControlMessageArrived(String deviceId, String appTopic, EsfPayload msg, int qos, boolean retain)
          Called by the CloudClient when it receives a published control message from the broker.
 void onMessageArrived(String deviceId, String appTopic, EsfPayload msg, int qos, boolean retain)
          Called by the client when it receives a published data message from the broker.
 void onMessageConfirmed(int messageId, String topic)
          Called by the CloudClient when a published message has been fully acknowledged by the broker, as appropriate for the quality of service.
 void onMessagePublished(int messageId, String topic)
          Called by the CloudClient when a message has been transfered from the publishing queue to the underlying DataTransportService for publishing on the wire.
 void setCloudService(CloudService cloudService)
           
 void unsetCloudService(CloudService cloudService)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DFLT_PUB_QOS

protected static final int DFLT_PUB_QOS
See Also:
Constant Field Values

DFLT_RETAIN

protected static final boolean DFLT_RETAIN
See Also:
Constant Field Values

DFLT_PRIORITY

protected static final int DFLT_PRIORITY
See Also:
Constant Field Values
Constructor Detail

Cloudlet

protected Cloudlet(String appId)
Method Detail

setCloudService

public void setCloudService(CloudService cloudService)

unsetCloudService

public void unsetCloudService(CloudService cloudService)

activate

protected void activate(org.osgi.service.component.ComponentContext componentContext)

deactivate

protected void deactivate(org.osgi.service.component.ComponentContext componentContext)

getAppId

public String getAppId()

getCloudService

protected CloudService getCloudService()

getCloudApplicationClient

protected CloudClient getCloudApplicationClient()

doGet

protected void doGet(CloudletTopic reqTopic,
                     EsfRequestPayload reqPayload,
                     EsfResponsePayload respPayload)
              throws EsfException
Throws:
EsfException

doPut

protected void doPut(CloudletTopic reqTopic,
                     EsfRequestPayload reqPayload,
                     EsfResponsePayload respPayload)
              throws EsfException
Throws:
EsfException

doPost

protected void doPost(CloudletTopic reqTopic,
                      EsfRequestPayload reqPayload,
                      EsfResponsePayload respPayload)
               throws EsfException
Throws:
EsfException

doDel

protected void doDel(CloudletTopic reqTopic,
                     EsfRequestPayload reqPayload,
                     EsfResponsePayload respPayload)
              throws EsfException
Throws:
EsfException

doExec

protected void doExec(CloudletTopic reqTopic,
                      EsfRequestPayload reqPayload,
                      EsfResponsePayload respPayload)
               throws EsfException
Throws:
EsfException

onControlMessageArrived

public void onControlMessageArrived(String deviceId,
                                    String appTopic,
                                    EsfPayload msg,
                                    int qos,
                                    boolean retain)
Description copied from interface: CloudClientListener
Called by the CloudClient when it receives a published control message from the broker. If the message received has a binary payload that it has NOT been encoded using the the EsfPayload class, the received bytes will be set as the body field of a new EsfPaylaod instance which is passed to the callback Listener interface.

Specified by:
onControlMessageArrived in interface CloudClientListener
Parameters:
deviceId - The deviceId this message was addressed to.
appTopic - The appTopic the message arrived on.
msg - The EsfPayload that arrived.
qos - The Quality of Service that the message was received on.
retain - Whether the message was retained by the broker.

onMessageArrived

public void onMessageArrived(String deviceId,
                             String appTopic,
                             EsfPayload msg,
                             int qos,
                             boolean retain)
Description copied from interface: CloudClientListener
Called by the client when it receives a published data message from the broker. If the message received has a binary payload that it has NOT been encoded using the the EsfPayload class, the received bytes will be set as the body field of a new EsfPaylaod instance which is passed to the callback Listener interface.

Specified by:
onMessageArrived in interface CloudClientListener
Parameters:
deviceId - The asset ID of the semanticTopic prefix the message arrived on.
appTopic - The appTopic the message arrived on.
msg - The EsfPayload that arrived.
qos - The Quality of Service that the message was received on.
retain - Whether the message was retained by the broker.

onConnectionLost

public void onConnectionLost()
Description copied from interface: CloudClientListener
Called when the client has lost its connection with the broker. Depending on the DataService configuration, the client will attempt to reconnect and call the CloudClientListener.onConnectionEstablished() method upon a successful reconnect. This is only a notification, the callback handler should not attempt to handle the reconnect.
If the bundle using the client relies on subscriptions beyond the default ones, it is responsibility of the application to implement the CloudClientListener.onConnectionEstablished() callback method to restore the subscriptions it needs after a connection loss.

Specified by:
onConnectionLost in interface CloudClientListener

onConnectionEstablished

public void onConnectionEstablished()
Description copied from interface: CloudClientListener
Called when the CloudClient has successfully connected with the broker.
If the bundle using the client relies on subscriptions beyond the default ones, it is responsibility of the application to implement the CloudClientListener.onConnectionEstablished() callback method to restore the subscriptions it needs after a connection loss.

Specified by:
onConnectionEstablished in interface CloudClientListener

onMessageConfirmed

public void onMessageConfirmed(int messageId,
                               String topic)
Description copied from interface: CloudClientListener
Called by the CloudClient when a published message has been fully acknowledged by the broker, as appropriate for the quality of service. The published method is not called for QoS 0 publications.

Specified by:
onMessageConfirmed in interface CloudClientListener
Parameters:
messageId - The message id of the published message

onMessagePublished

public void onMessagePublished(int messageId,
                               String topic)
Description copied from interface: CloudClientListener
Called by the CloudClient when a message has been transfered from the publishing queue to the underlying DataTransportService for publishing on the wire.

Specified by:
onMessagePublished in interface CloudClientListener


Copyright © 2013. All Rights Reserved.