Package org.ametys.plugins.odfsync.cdmfr
Class CDMFrSynchronizableContentsCollection
- java.lang.Object
-
- org.ametys.plugins.contentio.synchronize.AbstractStaticSynchronizableContentsCollection
-
- org.ametys.plugins.contentio.synchronize.AbstractSynchronizableContentsCollection
-
- org.ametys.plugins.odfsync.cdmfr.AbstractCDMFrSynchronizableContentsCollection
-
- org.ametys.plugins.odfsync.cdmfr.CDMFrSynchronizableContentsCollection
-
- All Implemented Interfaces:
SynchronizableContentsCollection
,Configurable
,Contextualizable
,Serviceable
public class CDMFrSynchronizableContentsCollection extends AbstractCDMFrSynchronizableContentsCollection implements Contextualizable
Class for CDMFr import and synchronization
-
-
Field Summary
Fields Modifier and Type Field Description protected static String
__PARAM_FOLDER
Data source parameter : folderprotected File
_cdmfrFolder
CDM-fr folderprotected Context
_cocoonContext
The Cocoon contextprotected String
_odfLang
Default language configured for ODFprotected Set<String>
_updatedContents
List of synchronized contents (to avoid a treatment twice or more)-
Fields inherited from class org.ametys.plugins.odfsync.cdmfr.AbstractCDMFrSynchronizableContentsCollection
_importCDMFrComponent
-
Fields inherited from class org.ametys.plugins.contentio.synchronize.AbstractSynchronizableContentsCollection
_contentWorkflowHelper, _currentUserProvider, _hasGlobalError, _i18nUtils, _nbCreatedContents, _nbDeletedContents, _nbError, _nbNotChangedContents, _nbSynchronizedContents, _observationManager, SCC_UNIQUE_ID
-
Fields inherited from class org.ametys.plugins.contentio.synchronize.AbstractStaticSynchronizableContentsCollection
_contentDAO, _contentPrefix, _contentType, _contentTypeEP, _id, _initialActionId, _label, _languages, _modelId, _modelParamValues, _removalSync, _reportMails, _resolver, _restrictedField, _sccHelper, _searchModelConfiguration, _synchronizeActionId, _synchronizeExistingContentsOnly, _synchronizingContentOperator, _validateActionId, _validateAfterImport, _workflowName
-
Fields inherited from interface org.ametys.plugins.contentio.synchronize.SynchronizableContentsCollection
COLLECTION_ID_DATA_NAME, RESULT_NB_CREATED_CONTENTS, RESULT_NB_DELETED_CONTENTS, RESULT_NB_NOT_CHANGED_CONTENTS, RESULT_NB_SYNCHRONIZED_CONTENTS
-
-
Constructor Summary
Constructors Constructor Description CDMFrSynchronizableContentsCollection()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected List<Content>
_getContentsToRemove(AmetysObjectIterable<ModifiableContent> contents)
Filter the contents to remove.protected Map<String,Object>
_handleFile(File cdmfrFile, Map<String,Object> parameters, org.slf4j.Logger logger)
Handle the CDM-fr file to import all the programs and its dependencies containing into it.protected List<ModifiableContent>
_internalPopulate(org.slf4j.Logger logger)
Internal implementation ofAbstractSynchronizableContentsCollection.populate(Logger)
void
configure(Configuration configuration)
protected void
configureDataSource(Configuration configuration)
Configure the data source parameters.protected void
configureSearchModel()
Configure the search model used by SCCSearchTool.protected void
configureSpecificParameters()
Configure the specific parameters of this implementation of CDM-fr import.void
contextualize(Context context)
ModifiableContent
getContent(String lang, String idValue)
Gets the content in the repositoryint
getTotalCount(Map<String,Object> searchParameters, org.slf4j.Logger logger)
Return the total number of results for the search.boolean
handleRightAssignmentContext()
Return true if aRightAssignmentContext
should be automatically generated for the contents of this SCCList<ModifiableContent>
importContent(String idValue, Map<String,Object> additionalParameters, org.slf4j.Logger logger)
Import a content from remote values.protected File[]
internalSearch(Map<String,Object> searchParameters, org.slf4j.Logger logger)
Search values and return the result without any treatment.Map<String,Map<String,Object>>
search(Map<String,Object> searchParameters, int offset, int limit, List<Object> sort, org.slf4j.Logger logger)
Search the data to import from parameters.-
Methods inherited from class org.ametys.plugins.odfsync.cdmfr.AbstractCDMFrSynchronizableContentsCollection
additionalCommonOperations, getIdField, getLocalAndExternalFields, service, synchronizeContent, updateSyncInformations
-
Methods inherited from class org.ametys.plugins.contentio.synchronize.AbstractSynchronizableContentsCollection
_deleteContents, _getAdditionalInputsForContentCreation, _getContentPathQuery, _getExpressionsList, _hasSomethingChanged, _isParamNotEmpty, _logSynchronizationResult, _removeEmptyParameters, createContentAction, deleteUnexistingContents, empty, getSynchronizationResult, populate, sendErrorMail, validateContent
-
Methods inherited from class org.ametys.plugins.contentio.synchronize.AbstractStaticSynchronizableContentsCollection
_parseLanguages, _parseParameters, _transformRemoteValuesCardinality, configureStaticParams, getContentPrefix, getContentType, getId, getInitialActionId, getLabel, getLanguages, getParameterValues, getReportMails, getRestrictedField, getSearchModelConfiguration, getSynchronizeActionId, getSynchronizeCollectionModelId, getSynchronizingContentOperator, getValidateActionId, getWorkflowName, removalSync, synchronizeExistingContentsOnly, validateAfterImport
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.ametys.plugins.contentio.synchronize.SynchronizableContentsCollection
additionalImportOperations, additionalSynchronizeOperations
-
-
-
-
Field Detail
-
__PARAM_FOLDER
protected static final String __PARAM_FOLDER
Data source parameter : folder- See Also:
- Constant Field Values
-
_cocoonContext
protected Context _cocoonContext
The Cocoon context
-
_cdmfrFolder
protected File _cdmfrFolder
CDM-fr folder
-
_updatedContents
protected Set<String> _updatedContents
List of synchronized contents (to avoid a treatment twice or more)
-
-
Constructor Detail
-
CDMFrSynchronizableContentsCollection
public CDMFrSynchronizableContentsCollection()
-
-
Method Detail
-
contextualize
public void contextualize(Context context) throws ContextException
- Specified by:
contextualize
in interfaceContextualizable
- Throws:
ContextException
-
configure
public void configure(Configuration configuration) throws ConfigurationException
- Specified by:
configure
in interfaceConfigurable
- Overrides:
configure
in classAbstractStaticSynchronizableContentsCollection
- Throws:
ConfigurationException
-
_internalPopulate
protected List<ModifiableContent> _internalPopulate(org.slf4j.Logger logger)
Description copied from class:AbstractSynchronizableContentsCollection
Internal implementation ofAbstractSynchronizableContentsCollection.populate(Logger)
- Overrides:
_internalPopulate
in classAbstractCDMFrSynchronizableContentsCollection
- Parameters:
logger
- The logger- Returns:
- The list of created/synchronized contents
-
importContent
public List<ModifiableContent> importContent(String idValue, Map<String,Object> additionalParameters, org.slf4j.Logger logger) throws Exception
Description copied from interface:SynchronizableContentsCollection
Import a content from remote values.- Specified by:
importContent
in interfaceSynchronizableContentsCollection
- Parameters:
idValue
- Id (for import/synchronization) of the content to importadditionalParameters
- Additional parameterslogger
- The logger- Returns:
- A list of created contents
- Throws:
Exception
- if an error occurs.
-
_handleFile
protected Map<String,Object> _handleFile(File cdmfrFile, Map<String,Object> parameters, org.slf4j.Logger logger)
Handle the CDM-fr file to import all the programs and its dependencies containing into it.- Parameters:
cdmfrFile
- The CDM-fr fileparameters
- Parameters used to import the filelogger
- The logger- Returns:
- The list of imported/synchronized programs
-
search
public Map<String,Map<String,Object>> search(Map<String,Object> searchParameters, int offset, int limit, List<Object> sort, org.slf4j.Logger logger)
Description copied from interface:SynchronizableContentsCollection
Search the data to import from parameters.- Specified by:
search
in interfaceSynchronizableContentsCollection
- Overrides:
search
in classAbstractCDMFrSynchronizableContentsCollection
- Parameters:
searchParameters
- Parameters for the searchoffset
- Begin of the searchlimit
- Number of resultssort
- Sort of results (ignored for LDAP results)logger
- The logger- Returns:
- A map of remote values by content
-
getTotalCount
public int getTotalCount(Map<String,Object> searchParameters, org.slf4j.Logger logger)
Description copied from interface:SynchronizableContentsCollection
Return the total number of results for the search.- Specified by:
getTotalCount
in interfaceSynchronizableContentsCollection
- Overrides:
getTotalCount
in classAbstractCDMFrSynchronizableContentsCollection
- Parameters:
searchParameters
- Parameters for the searchlogger
- The logger- Returns:
- The total count
-
internalSearch
protected File[] internalSearch(Map<String,Object> searchParameters, org.slf4j.Logger logger)
Search values and return the result without any treatment.- Parameters:
searchParameters
- Search parameters to restrict the searchlogger
- The logger- Returns:
File
tab listing the available CDM-fr files corresponding to the filter.
-
configureDataSource
protected void configureDataSource(Configuration configuration) throws ConfigurationException
Description copied from class:AbstractStaticSynchronizableContentsCollection
Configure the data source parameters.- Overrides:
configureDataSource
in classAbstractCDMFrSynchronizableContentsCollection
- Parameters:
configuration
- Configuration to read- Throws:
ConfigurationException
- If an error occurs
-
configureSpecificParameters
protected void configureSpecificParameters()
Configure the specific parameters of this implementation of CDM-fr import.
-
configureSearchModel
protected void configureSearchModel()
Description copied from class:AbstractStaticSynchronizableContentsCollection
Configure the search model used by SCCSearchTool.- Overrides:
configureSearchModel
in classAbstractCDMFrSynchronizableContentsCollection
-
getContent
public ModifiableContent getContent(String lang, String idValue)
Description copied from interface:SynchronizableContentsCollection
Gets the content in the repository- Specified by:
getContent
in interfaceSynchronizableContentsCollection
- Overrides:
getContent
in classAbstractCDMFrSynchronizableContentsCollection
- Parameters:
lang
- the languageidValue
- the content name- Returns:
- the content in the repository, or null if does not exist
-
handleRightAssignmentContext
public boolean handleRightAssignmentContext()
Description copied from interface:SynchronizableContentsCollection
Return true if aRightAssignmentContext
should be automatically generated for the contents of this SCC- Specified by:
handleRightAssignmentContext
in interfaceSynchronizableContentsCollection
- Returns:
- true to automatically generate a
RightAssignmentContext
. Return false if the rights of contents of this SCC are handle by its ownRightAssignmentContext
-
_getContentsToRemove
protected List<Content> _getContentsToRemove(AmetysObjectIterable<ModifiableContent> contents)
Description copied from class:AbstractSynchronizableContentsCollection
Filter the contents to remove.- Overrides:
_getContentsToRemove
in classAbstractCDMFrSynchronizableContentsCollection
- Parameters:
contents
- The list of all the available contents- Returns:
- The
List
ofContent
to remove.
-
-