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 ActivityService
activityService
static String
CALENDAR_SERVICE_ACTIVITY_APP_NAME
protected CalendarService
calendarService
protected static int
MAX_QUERY_ENTRY_COUNT
When no maximum or paging info is given, what should we use?protected static String
MSG_EVENT_NOT_FOUND
protected static String
MSG_INVALID_JSON
protected NodeService
nodeService
protected static String
PARAM_END_AT
protected static String
PARAM_ISO8601
protected static String
PARAM_START_AT
protected static String
PARAM_TIMEZONE
protected SiteService
siteService
-
Constructor Summary
Constructors Constructor Description AbstractCalendarWebScript()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description 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 entryprotected Map<String,Object>
buildError(String message)
Equivalent of jsonError in the old JavaScript controllersprotected 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 specifiedprotected 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 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 boolean
extractDates(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 String
getOrNull(org.json.simple.JSONObject json, String key)
protected Date
parseDate(String date)
Gets the date from the String, trying the various formats (New and Legacy) until one works...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 eventprotected 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 eventvoid
setActivityService(ActivityService activityService)
void
setCalendarService(CalendarService calendarService)
void
setNodeService(NodeService nodeService)
void
setSiteService(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
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:
executeImpl
in 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)
-
-