|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.sakaiproject.entitybroker.util.AbstractEntityProvider
org.sakaiproject.announcement.entityprovider.AnnouncementEntityProviderImpl
public class AnnouncementEntityProviderImpl
Allows some basic functions on announcements. Due to limitations of EntityBroker the internal URLs of the announcements service can't be exposed directly, so we have to map them, with assumptions about characters used in IDs. Basically we pack together the {siteId}:{channelId}:{announcementId} into the ID.
| Nested Class Summary | |
|---|---|
class |
AnnouncementEntityProviderImpl.DecoratedAnnouncement
Class to hold only the fields that we want to return |
class |
AnnouncementEntityProviderImpl.DecoratedAttachment
|
| Field Summary | |
|---|---|
static int |
DEFAULT_DAYS_IN_PAST
|
static int |
DEFAULT_NUM_ANNOUNCEMENTS
|
static String |
ENTITY_PREFIX
|
| Fields inherited from class org.sakaiproject.entitybroker.util.AbstractEntityProvider |
|---|
developerHelperService |
| Fields inherited from interface org.sakaiproject.entitybroker.entityprovider.capabilities.CollectionResolvable |
|---|
SEARCH_LOCATION_REFERENCE, SEARCH_TAGS, SEARCH_USER_REFERENCE |
| Fields inherited from interface org.sakaiproject.entitybroker.entityprovider.extension.Formats |
|---|
ALL_KNOWN_FORMATS, ATOM, ATOM_EXTENSIONS, ATOM_MIME_TYPE, FORM, FORM_EXTENSIONS, FORM_MIME_TYPE, HTML, HTML_EXTENSIONS, HTML_MIME_TYPE, JSON, JSON_EXTENSIONS, JSON_MIME_TYPE, JSONP, JSONP_EXTENSIONS, JSONP_MIME_TYPE, RSS, RSS_EXTENSIONS, RSS_MIME_TYPE, TXT, TXT_EXTENSIONS, TXT_MIME_TYPE, UTF_8, XML, XML_EXTENSIONS, XML_MIME_TYPE |
| Fields inherited from interface org.sakaiproject.entitybroker.entityprovider.capabilities.ActionsExecutable |
|---|
ACTION_METHOD_SUFFIX |
| Constructor Summary | |
|---|---|
AnnouncementEntityProviderImpl()
|
|
| Method Summary | |
|---|---|
String |
createEntity(org.sakaiproject.entitybroker.EntityReference ref,
Object entity,
Map<String,Object> params)
|
void |
deleteEntity(org.sakaiproject.entitybroker.EntityReference ref,
Map<String,Object> params)
|
boolean |
entityExists(String id)
|
AnnouncementEntityProviderImpl.DecoratedAnnouncement |
findEntityById(String entityId,
String siteId)
|
List<String> |
findEntityRefs(String[] arg0,
String[] arg1,
String[] arg2,
boolean arg3)
Unimplemented EntityBroker methods |
Object |
getAnnouncementByID(org.sakaiproject.entitybroker.EntityView view,
Map<String,Object> params)
message/siteId/EntityID |
List<?> |
getAnnouncements(String siteId,
Map<String,Object> params,
boolean onlyPublic)
Get the list of announcements for a site (or user site, or ! |
List<?> |
getAnnouncementsForSite(org.sakaiproject.entitybroker.EntityView view,
Map<String,Object> params)
site/siteId |
List<?> |
getAnnouncementsForUser(org.sakaiproject.entitybroker.EntityView view,
Map<String,Object> params)
user |
List<?> |
getEntities(org.sakaiproject.entitybroker.EntityReference ref,
org.sakaiproject.entitybroker.entityprovider.search.Search search)
|
Object |
getEntity(org.sakaiproject.entitybroker.EntityReference ref)
|
String |
getEntityPrefix()
Prefix for this provider |
String[] |
getHandledInputFormats()
|
String[] |
getHandledOutputFormats()
|
List<?> |
getMessagesOfTheDay(org.sakaiproject.entitybroker.EntityView view,
Map<String,Object> params)
motd |
Object |
getSampleEntity()
|
void |
setAnnouncementService(AnnouncementService announcementService)
|
void |
setEntityBrokerManager(org.sakaiproject.entitybroker.EntityBrokerManager entityBrokerManager)
|
void |
setEntityManager(org.sakaiproject.entity.api.EntityManager entityManager)
|
void |
setSecurityService(org.sakaiproject.authz.api.SecurityService securityService)
|
void |
setSessionManager(org.sakaiproject.tool.api.SessionManager sessionManager)
|
void |
setSiteService(org.sakaiproject.site.api.SiteService siteService)
|
void |
setTimeService(org.sakaiproject.time.api.TimeService timeService)
|
void |
setToolManager(org.sakaiproject.tool.api.ToolManager toolManager)
|
void |
setUserDirectoryService(org.sakaiproject.user.api.UserDirectoryService userDirectoryService)
|
AnnouncementEntityProviderImpl.DecoratedAnnouncement |
showAnnouncement(org.sakaiproject.entitybroker.EntityView view,
Map<String,Object> params)
This handles announcements, URLs should be like, /announcement/msg/{context}/{channelId}/{announcementId} an example would be /announcement/msg/21b1984d-af58-43da-8583-f4adee769aa2/main/5641323b-761a-4a4d-8761-688f4928141b . |
void |
updateEntity(org.sakaiproject.entitybroker.EntityReference ref,
Object entity,
Map<String,Object> params)
|
| Methods inherited from class org.sakaiproject.entitybroker.util.AbstractEntityProvider |
|---|
afterPropertiesSet, destroy, setDeveloperHelperService, setEntityProviderManager |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final String ENTITY_PREFIX
public static int DEFAULT_NUM_ANNOUNCEMENTS
public static int DEFAULT_DAYS_IN_PAST
| Constructor Detail |
|---|
public AnnouncementEntityProviderImpl()
| Method Detail |
|---|
public void setEntityBrokerManager(org.sakaiproject.entitybroker.EntityBrokerManager entityBrokerManager)
public String getEntityPrefix()
getEntityPrefix in interface org.sakaiproject.entitybroker.entityprovider.EntityProvider
public List<?> getAnnouncements(String siteId,
Map<String,Object> params,
boolean onlyPublic)
siteId - - siteId requested, or user site, or !site for motd.params - - the raw URL params that were sent, for processing.onlyPublic - - only show public announcements
public AnnouncementEntityProviderImpl.DecoratedAnnouncement findEntityById(String entityId,
String siteId)
public List<?> getAnnouncementsForSite(org.sakaiproject.entitybroker.EntityView view,
Map<String,Object> params)
public List<?> getAnnouncementsForUser(org.sakaiproject.entitybroker.EntityView view,
Map<String,Object> params)
public List<?> getMessagesOfTheDay(org.sakaiproject.entitybroker.EntityView view,
Map<String,Object> params)
public AnnouncementEntityProviderImpl.DecoratedAnnouncement showAnnouncement(org.sakaiproject.entitybroker.EntityView view,
Map<String,Object> params)
throws org.sakaiproject.entity.api.EntityPermissionException
org.sakaiproject.entity.api.EntityPermissionException
public Object getAnnouncementByID(org.sakaiproject.entitybroker.EntityView view,
Map<String,Object> params)
public boolean entityExists(String id)
entityExists in interface org.sakaiproject.entitybroker.entityprovider.CoreEntityProviderpublic Object getSampleEntity()
getSampleEntity in interface org.sakaiproject.entitybroker.entityprovider.capabilities.Sampleable
public List<String> findEntityRefs(String[] arg0,
String[] arg1,
String[] arg2,
boolean arg3)
public String createEntity(org.sakaiproject.entitybroker.EntityReference ref,
Object entity,
Map<String,Object> params)
createEntity in interface org.sakaiproject.entitybroker.entityprovider.capabilities.Createable
public void updateEntity(org.sakaiproject.entitybroker.EntityReference ref,
Object entity,
Map<String,Object> params)
updateEntity in interface org.sakaiproject.entitybroker.entityprovider.capabilities.Updateable
public void deleteEntity(org.sakaiproject.entitybroker.EntityReference ref,
Map<String,Object> params)
deleteEntity in interface org.sakaiproject.entitybroker.entityprovider.capabilities.Deleteablepublic String[] getHandledOutputFormats()
getHandledOutputFormats in interface org.sakaiproject.entitybroker.entityprovider.capabilities.Outputablepublic String[] getHandledInputFormats()
getHandledInputFormats in interface org.sakaiproject.entitybroker.entityprovider.capabilities.Inputable
public List<?> getEntities(org.sakaiproject.entitybroker.EntityReference ref,
org.sakaiproject.entitybroker.entityprovider.search.Search search)
getEntities in interface org.sakaiproject.entitybroker.entityprovider.capabilities.CollectionResolvablepublic Object getEntity(org.sakaiproject.entitybroker.EntityReference ref)
getEntity in interface org.sakaiproject.entitybroker.entityprovider.capabilities.Resolvablepublic void setEntityManager(org.sakaiproject.entity.api.EntityManager entityManager)
public void setSecurityService(org.sakaiproject.authz.api.SecurityService securityService)
public void setSessionManager(org.sakaiproject.tool.api.SessionManager sessionManager)
public void setSiteService(org.sakaiproject.site.api.SiteService siteService)
public void setAnnouncementService(AnnouncementService announcementService)
public void setUserDirectoryService(org.sakaiproject.user.api.UserDirectoryService userDirectoryService)
public void setTimeService(org.sakaiproject.time.api.TimeService timeService)
public void setToolManager(org.sakaiproject.tool.api.ToolManager toolManager)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||