Class SQLSynchronizableContentsCollection
java.lang.Object
org.ametys.plugins.contentio.synchronize.AbstractStaticSynchronizableContentsCollection
org.ametys.plugins.contentio.synchronize.AbstractSynchronizableContentsCollection
org.ametys.plugins.contentio.synchronize.AbstractSimpleSynchronizableContentsCollection
org.ametys.plugins.contentio.synchronize.impl.AbstractDataSourceSynchronizableContentsCollection
org.ametys.plugins.contentio.synchronize.impl.SQLSynchronizableContentsCollection
- All Implemented Interfaces:
SynchronizableContentsCollection
,Component
,Configurable
,Serviceable
- Direct Known Subclasses:
SQLSynchronizableUDOrgunitCollection
,SQLSynchronizableUsersCollection
public class SQLSynchronizableContentsCollection
extends AbstractDataSourceSynchronizableContentsCollection
implements Component
Implementation of
SynchronizableContentsCollection
to be synchronized with a LDAP data source-
Field Summary
Fields inherited from class org.ametys.plugins.contentio.synchronize.impl.AbstractDataSourceSynchronizableContentsCollection
__PARAM_DATASOURCE_ID, __PARAM_FIELD_ID, __PARAM_MAPPING, __PARAM_MAPPING_ATTRIBUTE, __PARAM_MAPPING_METADATA_REF, __PARAM_MAPPING_SYNCHRO, _columnsAndCriteria, _jsonUtils, _mapping, _syncFields
Fields inherited from class org.ametys.plugins.contentio.synchronize.AbstractSimpleSynchronizableContentsCollection
_contentHelper, _synchronizingContentOperatorEP
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, _ignoreRestrictions, _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, LAST_SYNCHRONIZATION_DATA_NAME, LAST_SYNCHRONIZATION_USER_DATA_NAME, RESULT_NB_CREATED_CONTENTS, RESULT_NB_DELETED_CONTENTS, RESULT_NB_NOT_CHANGED_CONTENTS, RESULT_NB_SYNCHRONIZED_CONTENTS
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
_checkIdObjectValue
(String remoteKey, Object idObjectValue, Logger logger) Check if the id object value is correctGet normalized search result Indeed we need to normalize the search result for each database type For example, with Oracle, the returned SQL column names are uppercased so we need to retrieve for each returned column its real name for the mapping,_getSearchParameters
(Map<String, Object> parameters, int offset, int limit, List<Object> sort, List<String> columns) Get the parameters map for mybatis search_getTotalCounParameters
(Map<String, Object> parameters) Get the parameters map for mybatis total count_normalizeSearchResult
(String remoteKey, List<String> columns, List<Map<String, Object>> searchResults, Logger logger) We need to normalize the search result for each database type For example, with Oracle, the returned SQL column names are upper-cased so we need to retrieve for each returned column its real name for the mapping,Get the name of SQL tableint
getTotalCount
(Map<String, Object> parameters, Logger logger) Return the total number of results for the search.internalSearch
(Map<String, Object> searchParameters, int offset, int limit, List<Object> sort, Logger logger) Search values and return the result without any treatment.void
service
(ServiceManager smanager) Methods inherited from class org.ametys.plugins.contentio.synchronize.impl.AbstractDataSourceSynchronizableContentsCollection
configureDataSource, configureSearchModel, getDataSourceId, getIdField, getLocalAndExternalFields, getMapping, getRemoteValues, putIdParameter
Methods inherited from class org.ametys.plugins.contentio.synchronize.AbstractSimpleSynchronizableContentsCollection
_addEditInputsForSCC, _editContent, _fillContent, _getContentsToRemove, _getEditInputs, _getEditInputsContextParameters, _handleContent, _importContent, _importOrSynchronizeContent, _importOrSynchronizeContent, _importOrSynchronizeContents, _importOrSynchronizeContents, _internalPopulate, _isHandled, _synchronizeContent, _transformRemoteValues, configure, createContentAction, getAdditionalAttributeValues, getContent, getNotSynchronizedRelatedContentIds, getTransformedRemoteValues, importContent, populate, search, synchronizeContent, updateSyncInformations, validateContent
Methods inherited from class org.ametys.plugins.contentio.synchronize.AbstractSynchronizableContentsCollection
_deleteContents, _getAdditionalInputsForContentCreation, _getContentPathQuery, _getExpressionsList, _hasSomethingChanged, _internalPopulate, _isParamNotEmpty, _logSynchronizationResult, _removeEmptyParameters, createContentAction, deleteUnexistingContents, empty, getSynchronizationResult, 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, ignoreRestrictions, 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
additionalCommonOperations, additionalImportOperations, additionalSynchronizeOperations, handleRightAssignmentContext
-
Field Details
-
_sqlCollectionDAO
The SQL collection DAO
-
-
Constructor Details
-
SQLSynchronizableContentsCollection
public SQLSynchronizableContentsCollection()
-
-
Method Details
-
service
- Specified by:
service
in interfaceServiceable
- Overrides:
service
in classAbstractDataSourceSynchronizableContentsCollection
- Throws:
ServiceException
-
getTableName
Get the name of SQL table- Returns:
- The SQL table name
-
internalSearch
protected Map<String,Map<String, internalSearchObject>> (Map<String, Object> searchParameters, int offset, int limit, List<Object> sort, Logger logger) Description copied from class:AbstractSimpleSynchronizableContentsCollection
Search values and return the result without any treatment.- Specified by:
internalSearch
in classAbstractSimpleSynchronizableContentsCollection
- Parameters:
searchParameters
- Search parameters to restrict the searchoffset
- Begin of the searchlimit
- Number of resultssort
- Sort of results (ignored for LDAP results)logger
- The logger- Returns:
- Map of results without any treatment.
-
_getSearchParameters
protected Map<String,Object> _getSearchParameters(Map<String, Object> parameters, int offset, int limit, List<Object> sort, List<String> columns) Get the parameters map for mybatis search- Parameters:
parameters
- the filter parameteroffset
- the offsetlimit
- the limitsort
- the sort mapcolumns
- the list of columns- Returns:
- the parameter map
-
_normalizeSearchResult
protected Map<String,Map<String, _normalizeSearchResultObject>> (String remoteKey, List<String> columns, List<Map<String, Object>> searchResults, Logger logger) We need to normalize the search result for each database type For example, with Oracle, the returned SQL column names are upper-cased so we need to retrieve for each returned column its real name for the mapping,- Parameters:
remoteKey
- the remote key handling the idcolumns
- the list of columnssearchResults
- the search result maplogger
- the logger- Returns:
- the normalize search result map
-
_checkIdObjectValue
Check if the id object value is correct- Parameters:
remoteKey
- the remove keyidObjectValue
- the id object valuelogger
- the logger- Returns:
- true if the id object value is correct
-
_getNormalizedSearchResult
protected Map<String,Object> _getNormalizedSearchResult(List<String> columns, Map<String, Object> searchResult) Get normalized search result Indeed we need to normalize the search result for each database type For example, with Oracle, the returned SQL column names are uppercased so we need to retrieve for each returned column its real name for the mapping,- Parameters:
columns
- the columns listsearchResult
- the search result- Returns:
- the normalized search result
-
getTotalCount
Description copied from interface:SynchronizableContentsCollection
Return the total number of results for the search.- Specified by:
getTotalCount
in interfaceSynchronizableContentsCollection
- Overrides:
getTotalCount
in classAbstractSimpleSynchronizableContentsCollection
- Parameters:
parameters
- Parameters for the searchlogger
- The logger- Returns:
- The total count
-
_getTotalCounParameters
Get the parameters map for mybatis total count- Parameters:
parameters
- the filter parameter- Returns:
- the parameter map
-