public abstract class AbstractSynchronizableContentsCollection extends AbstractStaticSynchronizableContentsCollection implements Serviceable
SynchronizableContentsCollection.| Modifier and Type | Field and Description |
|---|---|
protected ContentDAO |
_contentDAO
The content DAO
|
protected ContentTypeExtensionPoint |
_contentTypeEP
The content type extension point
|
protected CurrentUserProvider |
_currentUserProvider
The current user provider
|
protected boolean |
_hasGlobalError
True if there is a global error during synchronization
|
protected I18nUtils |
_i18nUtils
The i18n utils
|
protected int |
_nbCreatedContents
Number of created contents
|
protected int |
_nbDeletedContents
Number of deleted contents
|
protected int |
_nbError
Number of errors encountered
|
protected int |
_nbNotChangedContents
Number of unchanged contents
|
protected int |
_nbSynchronizedContents
Number of synchronized contents
|
protected ObservationManager |
_observationManager
The observation manager
|
protected AmetysObjectResolver |
_resolver
The ametys object resolver
|
protected BaseSynchroComponent |
_synchroComponent
The base SCC component
|
protected static String |
SCC_UNIQUE_ID
SCC unique ID field
|
_contentPrefix, _contentType, _id, _initialActionId, _label, _languages, _modelId, _modelParamValues, _removalSync, _reportMails, _restrictedField, _searchModelConfiguration, _synchronizeActionId, _synchronizeExistingContentsOnly, _synchronizingContentOperator, _validateActionId, _validateAfterImport, _workflowNameCOLLECTION_ID_PROPERTY| Constructor and Description |
|---|
AbstractSynchronizableContentsCollection() |
| Modifier and Type | Method and Description |
|---|---|
protected String |
_getContentPathQuery(String lang,
String idValue,
String contentType)
Construct the query to retrieve the content.
|
protected abstract List<Content> |
_getContentsToRemove(AmetysObjectIterable<ModifiableDefaultContent> contents)
Filter the contents to remove.
|
protected List<Expression> |
_getExpressionsList(String lang,
String idValue,
String contentType)
Construct the query to retrieve the content.
|
protected ModifiableCompositeMetadata |
_getMetadataHolder(ModifiableCompositeMetadata parentMetadata,
String metadataPath)
Get the metadata holder for the requested metadata path.
|
protected abstract List<ModifiableDefaultContent> |
_internalPopulate(Logger logger)
Internal implementation of
populate(Logger) |
protected boolean |
_isParamNotEmpty(Object parameterValue)
Check if the parameter value is empty
|
protected Map<String,Object> |
_removeEmptyParameters(Map<String,Object> parameters)
Remove empty parameters to the map
|
protected boolean |
_removeMetadataIfExists(ModifiableCompositeMetadata metadataHolder,
String metadataName,
boolean synchronize)
Remove the metadata if exists
|
protected boolean |
_synchronizeMetadata(ModifiableDefaultContent content,
ContentType contentType,
String logicalMetadataPath,
String completeMetadataPath,
List<Object> remoteValue,
boolean synchronize,
boolean create,
Logger logger)
Fill the metadata with remove value.
|
protected boolean |
_updateRelation(ModifiableCompositeMetadata metadataToEdit,
String metadataName,
Content content)
Update the invert relation by adding the new value (Content) to the old values.
|
protected boolean |
_updateRelation(ModifiableCompositeMetadata metadataToEdit,
String metadataName,
Content content,
boolean remove)
Update the invert relation by adding/removing the content to/from the old values.
|
protected boolean |
applyChanges(ModifiableDefaultContent content,
Integer actionId,
String event,
Logger logger)
Does workflow action
|
protected boolean |
applyChanges(ModifiableDefaultContent content,
Logger logger)
Does workflow action
|
protected ModifiableDefaultContent |
createContentAction(String contentType,
String workflowName,
int initialActionId,
String lang,
String contentTitle,
Logger logger)
Creates content action with result from request
|
protected void |
deleteUnexistingContents(Logger logger)
Delete contents created by a previous synchronization which does not exist anymore in remote source
|
List<ModifiableDefaultContent> |
populate(Logger logger)
Populates contents
|
protected void |
sendErrorMail(int nbError)
Sends the report mails
|
void |
service(ServiceManager manager) |
protected void |
updateSCCProperty(DefaultContent content)
Add the current synchronizable collection as property
|
protected void |
validateContent(WorkflowAwareContent content,
int validationActionId,
Logger logger)
Validates a content after import
|
_parseLanguages, _parseParameters, configure, configureDataSource, configureSearchModel, configureStaticParams, getContentPrefix, getContentType, getId, getInitialActionId, getLabel, getLanguages, getParameterValues, getReportMails, getRestrictedField, getSearchModelConfiguration, getSynchronizeActionId, getSynchronizeCollectionModelId, getSynchronizingContentOperator, getValidateActionId, getWorkflowName, removalSync, synchronizeExistingContentsOnly, validateAfterImportclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetContent, getExternalOnlyFields, getIdField, getLocalAndExternalFields, getTotalCount, handleRightAssignmentContext, importContent, search, synchronizeContent, updateSyncInformationsprotected static final String SCC_UNIQUE_ID
protected I18nUtils _i18nUtils
protected CurrentUserProvider _currentUserProvider
protected ObservationManager _observationManager
protected ContentDAO _contentDAO
protected AmetysObjectResolver _resolver
protected ContentTypeExtensionPoint _contentTypeEP
protected BaseSynchroComponent _synchroComponent
protected int _nbError
protected boolean _hasGlobalError
protected int _nbCreatedContents
protected int _nbSynchronizedContents
protected int _nbNotChangedContents
protected int _nbDeletedContents
public AbstractSynchronizableContentsCollection()
public void service(ServiceManager manager) throws ServiceException
service in interface ServiceableServiceExceptionpublic List<ModifiableDefaultContent> populate(Logger logger)
SynchronizableContentsCollectionpopulate in interface SynchronizableContentsCollectionlogger - The loggerprotected abstract List<ModifiableDefaultContent> _internalPopulate(Logger logger)
populate(Logger)logger - The loggerprotected void deleteUnexistingContents(Logger logger)
logger - The loggerprotected abstract List<Content> _getContentsToRemove(AmetysObjectIterable<ModifiableDefaultContent> contents)
protected void sendErrorMail(int nbError) throws javax.mail.MessagingException
nbError - The number of errorjavax.mail.MessagingException - if a messaging error occurredprotected void validateContent(WorkflowAwareContent content, int validationActionId, Logger logger)
content - The content to validatevalidationActionId - Validation action ID to use for this contentlogger - The loggerprotected boolean applyChanges(ModifiableDefaultContent content, Logger logger) throws RepositoryException
content - The synchronized contentlogger - The loggerRepositoryException - if an error occurs when trying to rollback pending changes in the repository.protected boolean applyChanges(ModifiableDefaultContent content, Integer actionId, String event, Logger logger) throws RepositoryException
content - The synchronized contentactionId - Workflow actionevent - Type of eventlogger - The loggerRepositoryException - if an error occurs when trying to rollback pending changes in the repository.protected ModifiableDefaultContent createContentAction(String contentType, String workflowName, int initialActionId, String lang, String contentTitle, Logger logger)
contentType - Type of the content to createworkflowName - Workflow to use for this contentinitialActionId - Action ID for initializationlang - The languagecontentTitle - The content titlelogger - The loggerprotected List<Expression> _getExpressionsList(String lang, String idValue, String contentType)
lang - LangidValue - Synchronization valuecontentType - Content typeList of Expressionprotected String _getContentPathQuery(String lang, String idValue, String contentType)
lang - LangidValue - Synchronization valuecontentType - Content typeprotected boolean _synchronizeMetadata(ModifiableDefaultContent content, ContentType contentType, String logicalMetadataPath, String completeMetadataPath, List<Object> remoteValue, boolean synchronize, boolean create, Logger logger)
content - The content to synchronizecontentType - The content typelogicalMetadataPath - The logical metadata path without the entriescompleteMetadataPath - The complete metadata path from the root of the contentremoteValue - The remote valuesynchronize - true if synchronizablecreate - true if content is creating, false if it is updatedlogger - The loggertrue if changes were madeprotected boolean _removeMetadataIfExists(ModifiableCompositeMetadata metadataHolder, String metadataName, boolean synchronize)
metadataHolder - The metadata holdermetadataName - The name of the metadatasynchronize - true if the data is synchronizetrue if the metadata have been removedprotected ModifiableCompositeMetadata _getMetadataHolder(ModifiableCompositeMetadata parentMetadata, String metadataPath)
parentMetadata - Initial metadatametadataPath - Metadata path from the parentprotected boolean _updateRelation(ModifiableCompositeMetadata metadataToEdit, String metadataName, Content content)
metadataToEdit - Metadata holder to editmetadataName - Metadata name to setcontent - The content to add or removetrue if there are changesprotected boolean _updateRelation(ModifiableCompositeMetadata metadataToEdit, String metadataName, Content content, boolean remove)
metadataToEdit - Metadata holder to editmetadataName - Metadata name to setcontent - The content to add or removeremove - true if we wan't to remove the content from the relationtrue if there are changesprotected void updateSCCProperty(DefaultContent content) throws RepositoryException
content - The synchronized contentRepositoryException - if an error occurredprotected Map<String,Object> _removeEmptyParameters(Map<String,Object> parameters)
parameters - the parametersprotected boolean _isParamNotEmpty(Object parameterValue)
parameterValue - the parameter value