Class AbstractCalendarWebScript
- java.lang.Object
-
- org.springframework.extensions.webscripts.AbstractWebScript
-
- org.springframework.extensions.webscripts.DeclarativeWebScript
-
- 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
- Author:
- Nick Burch
-
-
Field Summary
Fields Modifier and Type Field Description protected ActivityServiceactivityServicestatic StringCALENDAR_SERVICE_ACTIVITY_APP_NAMEprotected CalendarServicecalendarServiceprotected static intMAX_QUERY_ENTRY_COUNTWhen no maximum or paging info is given, what should we use?protected static StringMSG_EVENT_NOT_FOUNDprotected static StringMSG_INVALID_JSONprotected NodeServicenodeServiceprotected static StringPARAM_END_ATprotected static StringPARAM_ISO8601protected static StringPARAM_START_ATprotected static StringPARAM_TIMEZONEprotected SiteServicesiteService
-
Constructor Summary
Constructors Constructor Description AbstractCalendarWebScript()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected StringaddActivityEntry(String event, CalendarEntry entry, SiteInfo site, org.springframework.extensions.webscripts.WebScriptRequest req, org.json.simple.JSONObject json)Generates an activity entry for the entryprotected Map<String,Object>buildError(String message)Equivalent of jsonError in the old JavaScript controllersprotected org.alfresco.query.PagingRequestbuildPagingRequest(org.springframework.extensions.webscripts.WebScriptRequest req)Builds up a listing Paging request, either using the defaults or the paging options specifiedprotected NodeRefcreateIgnoreEvent(org.springframework.extensions.webscripts.WebScriptRequest req, CalendarEntry parent)For an event that is a recurring event, have an ignored child event generated for itprotected abstract Map<String,Object>executeImpl(SiteInfo site, 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 Map<String,Object>executeImpl(org.springframework.extensions.webscripts.WebScriptRequest req, org.springframework.extensions.webscripts.Status status, org.springframework.extensions.webscripts.Cache cache)protected booleanextractDates(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 notprotected StringgetOrNull(org.json.simple.JSONObject json, String key)protected DateparseDate(String date)Gets the date from the String, trying the various formats (New and Legacy) until one works...protected StringremoveTimeZoneIfRequired(Date date, Boolean isAllDay, Boolean removeTimezone)Removes the time zone for a given date if the Calendar Entry is an all day eventprotected StringremoveTimeZoneIfRequired(Date date, Boolean isAllDay, Boolean removeTimezone, String datePattern)Removes the time zone for a given date if the Calendar Entry is an all day eventvoidsetActivityService(ActivityService activityService)voidsetCalendarService(CalendarService calendarService)voidsetNodeService(NodeService nodeService)voidsetSiteService(SiteService siteService)protected booleanuseJSONErrors()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
addModuleBundleToCache, checkModuleBundleCache, createArgs, createArgsM, createHeaders, createHeadersM, createScriptParameters, createStatusException, createTemplateParameters, executeScript, getContainer, getDescription, getExecuteScript, getResources, getStatusTemplate, init, renderString, renderString, renderTemplate, sendStatus, setURLModelFactory, toString
-
-
-
-
Field Detail
-
CALENDAR_SERVICE_ACTIVITY_APP_NAME
public static final String CALENDAR_SERVICE_ACTIVITY_APP_NAME
- See Also:
- Constant Field Values
-
MSG_EVENT_NOT_FOUND
protected static final String MSG_EVENT_NOT_FOUND
- See Also:
- Constant Field Values
-
MSG_INVALID_JSON
protected static final String MSG_INVALID_JSON
- See Also:
- Constant Field Values
-
PARAM_TIMEZONE
protected static final String PARAM_TIMEZONE
- See Also:
- Constant Field Values
-
PARAM_START_AT
protected static final String PARAM_START_AT
- See Also:
- Constant Field Values
-
PARAM_END_AT
protected static final String PARAM_END_AT
- See Also:
- Constant Field Values
-
PARAM_ISO8601
protected static final 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 NodeService nodeService
-
siteService
protected SiteService siteService
-
activityService
protected ActivityService activityService
-
calendarService
protected CalendarService calendarService
-
-
Method Detail
-
setNodeService
public void setNodeService(NodeService nodeService)
-
setSiteService
public void setSiteService(SiteService siteService)
-
setActivityService
public void setActivityService(ActivityService activityService)
-
setCalendarService
public void setCalendarService(CalendarService calendarService)
-
parseDate
protected Date parseDate(String date)
Gets the date from the String, trying the various formats (New and Legacy) until one works...
-
extractDates
protected boolean extractDates(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 String getOrNull(org.json.simple.JSONObject json, 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 Map<String,Object> buildError(String message)
Equivalent of jsonError in the old JavaScript controllers
-
addActivityEntry
protected String addActivityEntry(String event, CalendarEntry entry, SiteInfo site, org.springframework.extensions.webscripts.WebScriptRequest req, org.json.simple.JSONObject json)
Generates an activity entry for the entry
-
createIgnoreEvent
protected NodeRef createIgnoreEvent(org.springframework.extensions.webscripts.WebScriptRequest req, CalendarEntry parent)
For an event that is a recurring event, have an ignored child event generated for it
-
executeImpl
protected Map<String,Object> executeImpl(org.springframework.extensions.webscripts.WebScriptRequest req, org.springframework.extensions.webscripts.Status status, org.springframework.extensions.webscripts.Cache cache)
- Overrides:
executeImplin classorg.springframework.extensions.webscripts.DeclarativeWebScript
-
removeTimeZoneIfRequired
protected String removeTimeZoneIfRequired(Date date, Boolean isAllDay, Boolean removeTimezone)
Removes the time zone for a given date if the Calendar Entry is an all day event- Returns:
- ISO 8601 formatted date String
-
removeTimeZoneIfRequired
protected String removeTimeZoneIfRequired(Date date, Boolean isAllDay, Boolean removeTimezone, String datePattern)
Removes the time zone for a given date if the Calendar Entry is an all day event- Returns:
- ISO 8601 formatted date String if datePattern is null
-
executeImpl
protected abstract Map<String,Object> executeImpl(SiteInfo site, 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)
-
-