Package org.ametys.cms.content.autosave
Class ContentBackupClientInteraction
- java.lang.Object
-
- org.apache.avalon.framework.logger.AbstractLogEnabled
-
- org.ametys.cms.content.autosave.ContentBackupClientInteraction
-
- All Implemented Interfaces:
Component,LogEnabled,Serviceable
public class ContentBackupClientInteraction extends AbstractLogEnabled implements Serviceable, Component
Component for manipulating auto-backup on contents
-
-
Field Summary
Fields Modifier and Type Field Description private static String__AUTOSAVE_NODETYPEprivate CurrentUserProvider_currentUserProviderprivate JSONUtils_jsonUtilsprivate AmetysObjectResolver_resolver
-
Constructor Summary
Constructors Constructor Description ContentBackupClientInteraction()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private Object_decodeValue(String value)private String_encodeValue(Object value)Map<String,Object>deleteContentBackup(String contentId)Delete an automatic backup for a content.protected Map<String,Object>getBackupData(ModelAwareDataHolder dataHolder)Retrieves the content backup informationMap<String,Object>getContentBackup(String contentId)Get the content backup informationprotected ModelAwareJCRAmetysObjectgetContentNode(String contentId, boolean createNew)Get the storage node for a content in the automatic backup space, or create it if it doesn't exist.protected ModifiableTraversableAmetysObjectgetOrCreateTempRoot()Get the temporary backup root, or create it if it doesn't exist.protected List<Map<String,Object>>getRepeatersBackupData(ModelAwareDataHolder dataHolder)Retrieves the repeaters backup informationprotected List<Map<String,Object>>getValuesBackupData(ModelAwareDataHolder dataHolder, String valuesRepeaterPath)Retrieves the values backup informationprotected voidremoveAllRepeaterEntries(ModifiableModelAwareDataHolder dataHolder)Remove all the repeater entries of a given data holder.voidservice(ServiceManager manager)Map<String,Object>setContentBackup(String contentId, Map<String,Object> values, Map<String,Object> invalidValues, String comments, Collection<Map<String,String>> repeaters)Store an automatic backup for a content.protected voidstoreRepeaters(ModifiableModelAwareDataHolder dataHolder, Collection<Map<String,String>> repeaters)Store the repeater item counts to be able to re-initialize themprotected voidstoreValues(ModifiableModelAwareDataHolder dataHolder, String valuesRepeaterPath, Map<String,Object> values)Store the attribute values-
Methods inherited from class org.apache.avalon.framework.logger.AbstractLogEnabled
enableLogging, getLogger, setupLogger, setupLogger, setupLogger
-
-
-
-
Field Detail
-
__AUTOSAVE_NODETYPE
private static final String __AUTOSAVE_NODETYPE
- See Also:
- Constant Field Values
-
_resolver
private AmetysObjectResolver _resolver
-
_currentUserProvider
private CurrentUserProvider _currentUserProvider
-
_jsonUtils
private JSONUtils _jsonUtils
-
-
Constructor Detail
-
ContentBackupClientInteraction
public ContentBackupClientInteraction()
-
-
Method Detail
-
service
public void service(ServiceManager manager) throws ServiceException
- Specified by:
servicein interfaceServiceable- Throws:
ServiceException
-
getContentBackup
public Map<String,Object> getContentBackup(String contentId)
Get the content backup information- Parameters:
contentId- The content id- Returns:
- The saved data
-
getBackupData
protected Map<String,Object> getBackupData(ModelAwareDataHolder dataHolder)
Retrieves the content backup information- Parameters:
dataHolder- the content backup data holder- Returns:
- the content backup information
-
getValuesBackupData
protected List<Map<String,Object>> getValuesBackupData(ModelAwareDataHolder dataHolder, String valuesRepeaterPath)
Retrieves the values backup information- Parameters:
dataHolder- the content backup data holdervaluesRepeaterPath- the path of the values attribute- Returns:
- the values backup information
-
_decodeValue
private Object _decodeValue(String value)
-
getRepeatersBackupData
protected List<Map<String,Object>> getRepeatersBackupData(ModelAwareDataHolder dataHolder)
Retrieves the repeaters backup information- Parameters:
dataHolder- the content backup data holder- Returns:
- the repeaters backup information
-
deleteContentBackup
public Map<String,Object> deleteContentBackup(String contentId)
Delete an automatic backup for a content.- Parameters:
contentId- The content id- Returns:
- A empty map
-
setContentBackup
public Map<String,Object> setContentBackup(String contentId, Map<String,Object> values, Map<String,Object> invalidValues, String comments, Collection<Map<String,String>> repeaters)
Store an automatic backup for a content.- Parameters:
contentId- The content idvalues- The valid values to storeinvalidValues- The invalid values to storecomments- The comments as JSON stringrepeaters- The repeaters to store- Returns:
- A empty Map
-
storeValues
protected void storeValues(ModifiableModelAwareDataHolder dataHolder, String valuesRepeaterPath, Map<String,Object> values)
Store the attribute values- Parameters:
dataHolder- the content backup data holdervaluesRepeaterPath- the path of the values attributevalues- the values to store, as a Map of values, indexed by name.
-
_encodeValue
private String _encodeValue(Object value)
-
storeRepeaters
protected void storeRepeaters(ModifiableModelAwareDataHolder dataHolder, Collection<Map<String,String>> repeaters)
Store the repeater item counts to be able to re-initialize them- Parameters:
dataHolder- the content backup data holderrepeaters- the repeaters data
-
removeAllRepeaterEntries
protected void removeAllRepeaterEntries(ModifiableModelAwareDataHolder dataHolder)
Remove all the repeater entries of a given data holder.- Parameters:
dataHolder- the data holder to clear.
-
getContentNode
protected ModelAwareJCRAmetysObject getContentNode(String contentId, boolean createNew)
Get the storage node for a content in the automatic backup space, or create it if it doesn't exist.- Parameters:
contentId- the content ID.createNew-trueto create automatically the node when missing.- Returns:
- the content backup storage node.
-
getOrCreateTempRoot
protected ModifiableTraversableAmetysObject getOrCreateTempRoot()
Get the temporary backup root, or create it if it doesn't exist.- Returns:
- the temporary backup root.
-
-