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
FieldsFields 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, _syncFieldsFields inherited from class org.ametys.plugins.contentio.synchronize.AbstractSimpleSynchronizableContentsCollection
_contentHelper, _synchronizingContentOperatorEPFields inherited from class org.ametys.plugins.contentio.synchronize.AbstractSynchronizableContentsCollection
_contentWorkflowHelper, _currentUserProvider, _hasGlobalError, _i18nUtils, _nbCreatedContents, _nbDeletedContents, _nbError, _nbNotChangedContents, _nbSynchronizedContents, _observationManager, SCC_UNIQUE_IDFields 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, _workflowNameFields 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
Constructors -
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 tableintgetTotalCount(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.voidservice(ServiceManager smanager) Methods inherited from class org.ametys.plugins.contentio.synchronize.impl.AbstractDataSourceSynchronizableContentsCollection
configureDataSource, configureSearchModel, getDataSourceId, getIdField, getLocalAndExternalFields, getMapping, getRemoteValues, putIdParameterMethods 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, validateContentMethods inherited from class org.ametys.plugins.contentio.synchronize.AbstractSynchronizableContentsCollection
_deleteContents, _getAdditionalInputsForContentCreation, _getContentPathQuery, _getExpressionsList, _hasSomethingChanged, _internalPopulate, _isParamNotEmpty, _logSynchronizationResult, _removeEmptyParameters, createContentAction, deleteUnexistingContents, empty, getSynchronizationResult, sendErrorMail, validateContentMethods 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, validateAfterImportMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods 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:
servicein interfaceServiceable- Overrides:
servicein 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:AbstractSimpleSynchronizableContentsCollectionSearch values and return the result without any treatment.- Specified by:
internalSearchin 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:SynchronizableContentsCollectionReturn the total number of results for the search.- Specified by:
getTotalCountin interfaceSynchronizableContentsCollection- Overrides:
getTotalCountin 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
-