Package org.ametys.web.repository.page
Class ZoneDAO
- java.lang.Object
-
- org.apache.avalon.framework.logger.AbstractLogEnabled
-
- org.ametys.web.repository.page.ZoneDAO
-
- All Implemented Interfaces:
Component
,LogEnabled
,Serviceable
public class ZoneDAO extends AbstractLogEnabled implements Serviceable, Component
-
-
Field Summary
Fields Modifier and Type Field Description private ContentTypeExtensionPoint
_cTypeEP
private ContentTypesAssignmentHandler
_cTypesAssignmentHandler
private CurrentUserProvider
_currentUserProvider
private ObservationManager
_observationManager
private AmetysObjectResolver
_resolver
private RightManager
_rightManager
private ServicesAssignmentHandler
_serviceAssignmentHandler
private ServiceExtensionPoint
_serviceEP
private SharedContentManager
_sharedContentManager
private WorkflowProvider
_workflowProvider
static String
ROLE
Avalon Role
-
Constructor Summary
Constructors Constructor Description ZoneDAO()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
_checkArguments(String zoneItemId, String zoneName, String pageId, UserIdentity user, ModifiablePage page, Zone zone, ZoneItem zoneItem)
protected void
_checkZoneItem(ModifiablePage page, String zoneName, ZoneItem zoneItem, UserIdentity user)
Check if the zone item can be moved to the given zone of the given page.private boolean
_isNew(Content content)
private boolean
_isReferenced(Content content)
protected ZoneItem
addContentReference(ModifiableZone zone, Content content, String metadataSetName)
Add the given content as a zone item in the given zone.Map<String,Object>
addSharedContent(String pageId, String zoneName, String contentId, String metadataSetName)
Insert a shared content into a zoneprotected ZoneItem
createSharedContent(ModifiableZone zone, DefaultContent originalContent, String metadataSetName)
Create a shared content referencing the given content and add the shared one to the zone.Content
getContent(ZoneItem zoneItem)
Get the content of a zone item.Service
getService(ZoneItem zoneItem)
Get the service of a zone item.Map<String,Object>
getZoneItemElementInfo(String id)
boolean
moveZoneItemTo(String zoneItemId, String zoneName, boolean beforeOrAfter, String beforeOrAfterItemId, String pageId)
Move a zone item of a page before/after another zone item of the same pagevoid
removeZoneItem(String zoneItemId)
Remove a zone item from pagevoid
service(ServiceManager smanager)
-
Methods inherited from class org.apache.avalon.framework.logger.AbstractLogEnabled
enableLogging, getLogger, setupLogger, setupLogger, setupLogger
-
-
-
-
Field Detail
-
_resolver
private AmetysObjectResolver _resolver
-
_observationManager
private ObservationManager _observationManager
-
_currentUserProvider
private CurrentUserProvider _currentUserProvider
-
_workflowProvider
private WorkflowProvider _workflowProvider
-
_sharedContentManager
private SharedContentManager _sharedContentManager
-
_cTypesAssignmentHandler
private ContentTypesAssignmentHandler _cTypesAssignmentHandler
-
_serviceAssignmentHandler
private ServicesAssignmentHandler _serviceAssignmentHandler
-
_cTypeEP
private ContentTypeExtensionPoint _cTypeEP
-
_serviceEP
private ServiceExtensionPoint _serviceEP
-
_rightManager
private RightManager _rightManager
-
-
Constructor Detail
-
ZoneDAO
public ZoneDAO()
-
-
Method Detail
-
service
public void service(ServiceManager smanager) throws ServiceException
- Specified by:
service
in interfaceServiceable
- Throws:
ServiceException
-
addSharedContent
public Map<String,Object> addSharedContent(String pageId, String zoneName, String contentId, String metadataSetName)
Insert a shared content into a zone- Parameters:
pageId
- The page idzoneName
- The zone namecontentId
- The content id to insertmetadataSetName
- The metadata set name- Returns:
- The result map
-
addContentReference
protected ZoneItem addContentReference(ModifiableZone zone, Content content, String metadataSetName)
Add the given content as a zone item in the given zone.- Parameters:
zone
- the zone to add the content in.content
- the content to add.metadataSetName
- the metadata set name.- Returns:
- the added zone item
-
createSharedContent
protected ZoneItem createSharedContent(ModifiableZone zone, DefaultContent originalContent, String metadataSetName)
Create a shared content referencing the given content and add the shared one to the zone.- Parameters:
zone
- the zone to create the shared content in.originalContent
- the original content.metadataSetName
- the metadata set name.- Returns:
- the added zone item
-
removeZoneItem
public void removeZoneItem(String zoneItemId)
Remove a zone item from page- Parameters:
zoneItemId
- The id of zone item to delete
-
getZoneItemElementInfo
public Map<String,Object> getZoneItemElementInfo(String id)
- Parameters:
id
- The id of page or zone item- Returns:
- The list of unreferenced contents
-
getContent
public Content getContent(ZoneItem zoneItem)
Get the content of a zone item. Can be null if zone item is a service zone item.- Parameters:
zoneItem
- The zone item- Returns:
- The content or null if zone item is a service zone item.
-
_isReferenced
private boolean _isReferenced(Content content)
-
getService
public Service getService(ZoneItem zoneItem)
Get the service of a zone item. Can be null if zone item is not a service zone item.- Parameters:
zoneItem
- The zone item- Returns:
- The service or null if zone item is not a service zone item.
-
moveZoneItemTo
public boolean moveZoneItemTo(String zoneItemId, String zoneName, boolean beforeOrAfter, String beforeOrAfterItemId, String pageId) throws UnknownAmetysObjectException, AmetysRepositoryException, RepositoryException
Move a zone item of a page before/after another zone item of the same page- Parameters:
zoneItemId
- The identifier of the zone item to movezoneName
- The destination zone namebeforeOrAfter
- true if before or false afterbeforeOrAfterItemId
- The target zone item can be nullpageId
- The concerned page id- Returns:
- true when success
- Throws:
UnknownAmetysObjectException
- If an error occurredAmetysRepositoryException
- If an error occurredRepositoryException
- If an error occurred
-
_checkZoneItem
protected void _checkZoneItem(ModifiablePage page, String zoneName, ZoneItem zoneItem, UserIdentity user)
Check if the zone item can be moved to the given zone of the given page.- Parameters:
page
- the page.zoneName
- the zone name.zoneItem
- the zone item to move.user
- the user
-
_checkArguments
private void _checkArguments(String zoneItemId, String zoneName, String pageId, UserIdentity user, ModifiablePage page, Zone zone, ZoneItem zoneItem)
-
-