Package org.gcube.event.publisher
Class AbstractEventPublisher
- java.lang.Object
-
- org.gcube.event.publisher.AbstractEventPublisher
-
- All Implemented Interfaces:
EventPublisher
public abstract class AbstractEventPublisher extends Object implements EventPublisher
-
-
Field Summary
Fields Modifier and Type Field Description protected static org.slf4j.Loggerlogger
-
Constructor Summary
Constructors Constructor Description AbstractEventPublisher()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description EventStatuscheck(String instanceId)Checks for the workflow results status.protected abstract EventSendercreateEventSender()protected ResultsParsercreateResultsParser()EventSendergetEventSender()intgetLastCheckHTTPResponseCode()Returns the last returned HTTP response code of a check.intgetLastPublishEventHTTPResponseCode()Returns the last returned HTTP response code of a publish.ResultsParsergetResultsParser()booleanisLastCheckOK()Tells if the last check was a success or not.booleanisLastPublishOK()Tells if the last publish was a success or not.voidpublish(Event event)Publish a new event and nothing more.Stringpublish(Event event, boolean waitForResult)Publishes a new event and optionally wait for the result.EventStatuspublishAndCheck(Event event)Publish an event and immediately checks for the results status.EventStatuspublishAndCheck(Event event, int delayMS)Publish an event and checks for the results status after a delay.EventStatusrefresh(EventStatus eventStatus)Refreshes an event status by checking for the status of the workflow execution represented by theEventStatus.getInstanceId()string.voidsetEventSender(EventSender eventSender)voidsetResultsParser(ResultsParser resultsParser)
-
-
-
Method Detail
-
publish
public void publish(Event event)
Description copied from interface:EventPublisherPublish a new event and nothing more. The sender is not interested to the success/failure of the send. The results on the workflow engine, is the start of an instance of the workflow identified by theEvent.getName()string.- Specified by:
publishin interfaceEventPublisher- Parameters:
event- the event to be published
-
publish
public String publish(Event event, boolean waitForResult)
Description copied from interface:EventPublisherPublishes a new event and optionally wait for the result. IfwaitForResultparameter isfalsethe behavior is the same of theEventPublisher.publish(Event)method, if true, the workflow id is returned as string if the publish had success.- Specified by:
publishin interfaceEventPublisher- Parameters:
event- the vent to be publishedwaitForResult- if the sender is interested or not to the resulting workflow id- Returns:
- the resulting workflow id
-
isLastPublishOK
public boolean isLastPublishOK()
Description copied from interface:EventPublisherTells if the last publish was a success or not.- Specified by:
isLastPublishOKin interfaceEventPublisher- Returns:
trueif the publish was OK,falseotherwise
-
getLastPublishEventHTTPResponseCode
public int getLastPublishEventHTTPResponseCode()
Description copied from interface:EventPublisherReturns the last returned HTTP response code of a publish. E.g. 200 if the send was OK or 404 if the event doesn't have a corresponding workflow definition.- Specified by:
getLastPublishEventHTTPResponseCodein interfaceEventPublisher- Returns:
- the HTTP response code of the last publish or -1 if an error occurred before the call (e.g. during the authorization or connection)
-
publishAndCheck
public EventStatus publishAndCheck(Event event)
Description copied from interface:EventPublisherPublish an event and immediately checks for the results status. The behavior is the same of theEventPublisher.publishAndCheck(Event, int)withdelayMSargument less or equal to 0.- Specified by:
publishAndCheckin interfaceEventPublisher- Parameters:
event- the event to be published- Returns:
- an object with info about the event's running status
-
publishAndCheck
public EventStatus publishAndCheck(Event event, int delayMS)
Description copied from interface:EventPublisherPublish an event and checks for the results status after a delay. The behavior is the same of theEventPublisher.publishAndCheck(Event)if delayMS argument is less or equal to 0.- Specified by:
publishAndCheckin interfaceEventPublisher- Parameters:
event- the event to be publisheddelayMS- the delay betwen the publish and the query calls- Returns:
- an object with info about the event's running status
-
check
public EventStatus check(String instanceId)
Description copied from interface:EventPublisherChecks for the workflow results status.- Specified by:
checkin interfaceEventPublisher- Parameters:
instanceId- the workflow instance id, resulting of theEventPublisher.publish(Event, boolean)withwaitForResultas true.- Returns:
- an object with info about the event's running status
-
refresh
public EventStatus refresh(EventStatus eventStatus)
Description copied from interface:EventPublisherRefreshes an event status by checking for the status of the workflow execution represented by theEventStatus.getInstanceId()string.- Specified by:
refreshin interfaceEventPublisher- Parameters:
eventStatus- a previously obtained event status.- Returns:
- an object with new info about the event's running status
-
isLastCheckOK
public boolean isLastCheckOK()
Description copied from interface:EventPublisherTells if the last check was a success or not.- Specified by:
isLastCheckOKin interfaceEventPublisher- Returns:
trueif the publish was OK,falseotherwise
-
getLastCheckHTTPResponseCode
public int getLastCheckHTTPResponseCode()
Description copied from interface:EventPublisherReturns the last returned HTTP response code of a check. E.g. 200 if the send was OK or 404 if the event doesn't have a corresponding workflow instance.- Specified by:
getLastCheckHTTPResponseCodein interfaceEventPublisher- Returns:
- the HTTP response code of the last publish or -1 if an error occurred before the call (e.g. during the authorization or connection)
-
createEventSender
protected abstract EventSender createEventSender()
-
createResultsParser
protected ResultsParser createResultsParser()
-
getEventSender
public EventSender getEventSender()
-
setEventSender
public void setEventSender(EventSender eventSender)
-
getResultsParser
public ResultsParser getResultsParser()
-
setResultsParser
public void setResultsParser(ResultsParser resultsParser)
-
-