org.alfresco.repo.web.scripts.calendar
Class AbstractCalendarWebScript

java.lang.Object
  extended by org.springframework.extensions.webscripts.AbstractWebScript
      extended by org.springframework.extensions.webscripts.DeclarativeWebScript
          extended by org.alfresco.repo.web.scripts.calendar.AbstractCalendarWebScript
All Implemented Interfaces:
org.springframework.extensions.webscripts.WebScript
Direct Known Subclasses:
AbstractCalendarListingWebScript, CalendarEntryDelete, CalendarEntryGet, CalendarEntryPost, CalendarEntryPut

public abstract class AbstractCalendarWebScript
extends org.springframework.extensions.webscripts.DeclarativeWebScript

Since:
4.0

Nested Class Summary
 
Nested classes/interfaces inherited from class org.springframework.extensions.webscripts.AbstractWebScript
org.springframework.extensions.webscripts.AbstractWebScript.ScriptDetails
 
Field Summary
protected  org.alfresco.service.cmr.activities.ActivityService activityService
           
static java.lang.String CALENDAR_SERVICE_ACTIVITY_APP_NAME
           
protected  org.alfresco.service.cmr.calendar.CalendarService calendarService
           
protected static int MAX_QUERY_ENTRY_COUNT
          When no maximum or paging info is given, what should we use?
protected  org.alfresco.service.cmr.repository.NodeService nodeService
           
protected static java.lang.String PARAM_END_AT
           
protected static java.lang.String PARAM_ISO8601
           
protected static java.lang.String PARAM_START_AT
           
protected static java.lang.String PARAM_TIMEZONE
           
protected  org.alfresco.service.cmr.site.SiteService siteService
           
 
Constructor Summary
AbstractCalendarWebScript()
           
 
Method Summary
protected  java.lang.String addActivityEntry(java.lang.String event, org.alfresco.service.cmr.calendar.CalendarEntry entry, org.alfresco.service.cmr.site.SiteInfo site, org.springframework.extensions.webscripts.WebScriptRequest req, org.json.simple.JSONObject json)
          Generates an activity entry for the entry
protected  java.util.Map buildError(java.lang.String message)
          Equivalent of jsonError in the old JavaScript controllers
protected  org.alfresco.query.PagingRequest buildPagingRequest(org.springframework.extensions.webscripts.WebScriptRequest req)
          Builds up a listing Paging request, either using the defaults or the paging options specified
protected  org.alfresco.service.cmr.repository.NodeRef createIgnoreEvent(org.springframework.extensions.webscripts.WebScriptRequest req, org.alfresco.service.cmr.calendar.CalendarEntry parent)
          For an event that is a recurring event, have an ignored child event generated for it
protected abstract  java.util.Map executeImpl(org.alfresco.service.cmr.site.SiteInfo site, java.lang.String eventName, org.springframework.extensions.webscripts.WebScriptRequest req, org.json.simple.JSONObject json, org.springframework.extensions.webscripts.Status status, org.springframework.extensions.webscripts.Cache cache)
           
protected  java.util.Map executeImpl(org.springframework.extensions.webscripts.WebScriptRequest req, org.springframework.extensions.webscripts.Status status, org.springframework.extensions.webscripts.Cache cache)
           
protected  boolean extractDates(org.alfresco.service.cmr.calendar.CalendarEntry entry, org.json.simple.JSONObject json)
          Extracts the Start and End details, along with the All Day flag from the JSON, and returns if the event is all day or not
protected  java.lang.String getOrNull(org.json.simple.JSONObject json, java.lang.String key)
           
protected  java.util.Date parseDate(java.lang.String date)
          Gets the date from the String, trying the various formats (New and Legacy) until one works...
 void setActivityService(org.alfresco.service.cmr.activities.ActivityService activityService)
           
 void setCalendarService(org.alfresco.service.cmr.calendar.CalendarService calendarService)
           
 void setNodeService(org.alfresco.service.cmr.repository.NodeService nodeService)
           
 void setSiteService(org.alfresco.service.cmr.site.SiteService siteService)
           
protected  boolean useJSONErrors()
          Normally the Calendar webscripts return a 200 with JSON containing the error message.
 
Methods inherited from class org.springframework.extensions.webscripts.DeclarativeWebScript
execute, executeFinallyImpl, executeImpl, executeImpl, getTemplateModel, renderFormatTemplate
 
Methods inherited from class org.springframework.extensions.webscripts.AbstractWebScript
createArgs, createArgsM, createHeaders, createHeadersM, createScriptParameters, createStatusException, createTemplateParameters, executeScript, getContainer, getDescription, getExecuteScript, getResources, getStatusTemplate, init, renderString, renderString, renderTemplate, sendStatus, setURLModelFactory, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

CALENDAR_SERVICE_ACTIVITY_APP_NAME

public static final java.lang.String CALENDAR_SERVICE_ACTIVITY_APP_NAME
See Also:
Constant Field Values

PARAM_TIMEZONE

protected static final java.lang.String PARAM_TIMEZONE
See Also:
Constant Field Values

PARAM_START_AT

protected static final java.lang.String PARAM_START_AT
See Also:
Constant Field Values

PARAM_END_AT

protected static final java.lang.String PARAM_END_AT
See Also:
Constant Field Values

PARAM_ISO8601

protected static final java.lang.String PARAM_ISO8601
See Also:
Constant Field Values

MAX_QUERY_ENTRY_COUNT

protected static final int MAX_QUERY_ENTRY_COUNT
When no maximum or paging info is given, what should we use?

See Also:
Constant Field Values

nodeService

protected org.alfresco.service.cmr.repository.NodeService nodeService

siteService

protected org.alfresco.service.cmr.site.SiteService siteService

activityService

protected org.alfresco.service.cmr.activities.ActivityService activityService

calendarService

protected org.alfresco.service.cmr.calendar.CalendarService calendarService
Constructor Detail

AbstractCalendarWebScript

public AbstractCalendarWebScript()
Method Detail

setNodeService

public void setNodeService(org.alfresco.service.cmr.repository.NodeService nodeService)

setSiteService

public void setSiteService(org.alfresco.service.cmr.site.SiteService siteService)

setActivityService

public void setActivityService(org.alfresco.service.cmr.activities.ActivityService activityService)

setCalendarService

public void setCalendarService(org.alfresco.service.cmr.calendar.CalendarService calendarService)

parseDate

protected java.util.Date parseDate(java.lang.String date)
Gets the date from the String, trying the various formats (New and Legacy) until one works...


extractDates

protected boolean extractDates(org.alfresco.service.cmr.calendar.CalendarEntry entry,
                               org.json.simple.JSONObject json)
                        throws org.json.JSONException
Extracts the Start and End details, along with the All Day flag from the JSON, and returns if the event is all day or not

Throws:
org.json.JSONException

getOrNull

protected java.lang.String getOrNull(org.json.simple.JSONObject json,
                                     java.lang.String key)
                              throws org.json.JSONException
Throws:
org.json.JSONException

buildPagingRequest

protected org.alfresco.query.PagingRequest buildPagingRequest(org.springframework.extensions.webscripts.WebScriptRequest req)
Builds up a listing Paging request, either using the defaults or the paging options specified


useJSONErrors

protected boolean useJSONErrors()
Normally the Calendar webscripts return a 200 with JSON containing the error message. Override this to switch to using HTTP status codes instead


buildError

protected java.util.Map buildError(java.lang.String message)
Equivalent of jsonError in the old JavaScript controllers


addActivityEntry

protected java.lang.String addActivityEntry(java.lang.String event,
                                            org.alfresco.service.cmr.calendar.CalendarEntry entry,
                                            org.alfresco.service.cmr.site.SiteInfo site,
                                            org.springframework.extensions.webscripts.WebScriptRequest req,
                                            org.json.simple.JSONObject json)
Generates an activity entry for the entry


createIgnoreEvent

protected org.alfresco.service.cmr.repository.NodeRef createIgnoreEvent(org.springframework.extensions.webscripts.WebScriptRequest req,
                                                                        org.alfresco.service.cmr.calendar.CalendarEntry parent)
For an event that is a recurring event, have an ignored child event generated for it


executeImpl

protected java.util.Map executeImpl(org.springframework.extensions.webscripts.WebScriptRequest req,
                                    org.springframework.extensions.webscripts.Status status,
                                    org.springframework.extensions.webscripts.Cache cache)
Overrides:
executeImpl in class org.springframework.extensions.webscripts.DeclarativeWebScript

executeImpl

protected abstract java.util.Map executeImpl(org.alfresco.service.cmr.site.SiteInfo site,
                                             java.lang.String eventName,
                                             org.springframework.extensions.webscripts.WebScriptRequest req,
                                             org.json.simple.JSONObject json,
                                             org.springframework.extensions.webscripts.Status status,
                                             org.springframework.extensions.webscripts.Cache cache)


Copyright © 2005 - 2010 Alfresco Software, Inc. All Rights Reserved.