Class HierarchicalContentSource
- java.lang.Object
-
- java.util.Observable
-
- lumis.doui.source.Source<F>
-
- lumis.doui.source.TabularSource<ITableSourceField>
-
- lumis.doui.table.TableSource
-
- lumis.content.table.ContentTableSource
-
- lumis.service.hierarchicalcontent.HierarchicalContentSource
-
- All Implemented Interfaces:
java.util.Comparator<ISourceData>
public class HierarchicalContentSource extends ContentTableSource
Hierarchical content source.- Since:
- 16.1.0
- Version:
- $Revision$ $Date$
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class lumis.content.table.ContentTableSource
ContentTableSource.LockStrategy
-
-
Field Summary
-
Fields inherited from class lumis.content.table.ContentTableSource
ASSIGNED_TO_PARAMETER_NAME, ASSIGNED_TO_PARAMETER_VALUE_NULL, TRANSITION_PARAMETER_NAME
-
Fields inherited from class lumis.doui.source.TabularSource
positionSourceField, primaryKeySourceField, searchableSourceFields, tabularData
-
Fields inherited from class lumis.doui.source.Source
addInterfaceId, administrationInterfaceId, connectionId, detailsInterfaceId, editInterfaceId, fields, fieldsMap, id, introductionSourceField, keywordsSourceField, load, metaDataSourceId, parameters, primaryNameSourceField, readData, SOURCE_READ_DATA_ALWAYS, SOURCE_READ_DATA_NEVER, SOURCE_READ_DATA_ON_DEMAND, sourceContext, sourceDefinitionNode
-
-
Constructor Summary
Constructors Constructor Description HierarchicalContentSource(org.w3c.dom.Node sourceDefinitionNode, ISourceContext sourceContext)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.util.Collection<IPortalEvent>
createRenderDataChangedEvent(PortalEventOperationType operationType, java.util.Collection<java.lang.String> itemIds)
Returns the render data changed event to be sent bySource.sendRenderDataChangedNotification(PortalEventOperationType, Collection)
.protected IContentTableSourceUpdateDataResult
doUpdateData(IParameters data)
Updates the data in the persistence.IContentTableSourceUpdateDataResult
updateData(java.lang.Object data, ContentTableSource.LockStrategy lockStrategy)
Updates a data in the persistence this source represents.-
Methods inherited from class lumis.content.table.ContentTableSource
addData, createDefaultFilterInstance, createQueryBuilder, createSourceField, deleteDataByItemIds, deleteDataByItemIds, deleteInactiveVersionsByItemIds, deleteVersionDataByItemIds, doAddData, doCloneData, doDeleteDataByItemIds, getBigDataPersister, getCloneDataTitleSuffix, getDefaultBigDataPersister, getDefaultProviderClass, getDefaultSourceSearchContentFillerClassName, getField, getHyperlinkDefaultParameters, getUpdateDataItemId, getWorkflowConfig, isAdministrationInterface, isPublishAllAccessibleContents, isWorkflowSupported, postDeleteDataByItemIds, preDeleteDataByItemIds, scheduleContentAddedEvent, scheduleIndexData, updateData
-
Methods inherited from class lumis.doui.table.TableSource
createDefaultCompositeFilterInstance, createSourceFilter, deleteRelatedData, getFilter, getIsCloneDataSupportedDefaultValue, getTableName, readData, readData, readData
-
Methods inherited from class lumis.doui.source.TabularSource
applyPostLoadFilters, applyPostLoadPagination, compare, compareField, convertDataToDefinedDataTypes, convertDataToDefinedDataTypes, evaluateMaxRows, getData, getDouiHyperlinkItemParameterField, getFieldClass, getFieldId, getFieldIds, getFieldName, getFieldsDefinitionNode, getIndexerEngineId, getIndexerId, getMaxRows, getPositionField, getPrimaryKeyField, getReindexerTabularDataProcessorClassName, getSearchableFields, getSearcherEngineId, getSearcherId, getSortedFieldIds, getSourceSearchContentFillerClassName, getStartAt, hasField, isSearchEnabled, readFieldsIntoFieldsMap, setData, setMaxRows, setStartAt
-
Methods inherited from class lumis.doui.source.Source
cloneData, createCustomSourceField, deleteDataByItemIds, getAddInterfaceId, getAdministrationInterfaceId, getDataForCloning, getDataProvider, getDefinitionNode, getDetailsInterfaceId, getDistinct, getDouiContext, getEditInterfaceId, getField, getFields, getFiltersNode, getId, getIntroductionField, getIntroductionImageField, getKeywordsField, getLoad, getMetaDataSourceId, getParameterClass, getParameterValue, getPrimaryNameField, getPublishStartDateField, getReadData, getSourceContainer, getSourceContext, getTransaction, isDataCloningSupported, isDetails, isRenderDataChangedNotificationEnabled, load, postAddFieldData, postDeleteFieldData, postProcessSource, postUpdateFieldData, preAddFieldData, preDeleteFieldData, preUpdateFieldData, readData, scheduleIndexData, sendPostAddDataNotification, sendPostDeleteDataNotification, sendPostUpdateDataNotification, sendPreAddDataNotification, sendPreDeleteDataNotification, sendPreUpdateDataNotification, sendRenderDataChangedNotification, sendRenderDataChangedNotification, setLoad, setParameterValue, setParameterValue, setReadData, setRenderDataChangedNotificationEnabled, valueChanged
-
Methods inherited from class java.util.Observable
addObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChanged
-
-
-
-
Constructor Detail
-
HierarchicalContentSource
public HierarchicalContentSource(org.w3c.dom.Node sourceDefinitionNode, ISourceContext sourceContext) throws PortalException
- Throws:
PortalException
-
-
Method Detail
-
createRenderDataChangedEvent
protected java.util.Collection<IPortalEvent> createRenderDataChangedEvent(PortalEventOperationType operationType, java.util.Collection<java.lang.String> itemIds) throws PortalException
Description copied from class:Source
Returns the render data changed event to be sent bySource.sendRenderDataChangedNotification(PortalEventOperationType, Collection)
.- Overrides:
createRenderDataChangedEvent
in classContentTableSource
- Parameters:
operationType
- the operation type for the notification.itemIds
- the item identifiers.- Returns:
- the event to be sent, or
null
to nothing be sent. - Throws:
PortalException
-
updateData
public IContentTableSourceUpdateDataResult updateData(java.lang.Object data, ContentTableSource.LockStrategy lockStrategy) throws PortalException
Description copied from class:ContentTableSource
Updates a data in the persistence this source represents.The implementation of this method in
ContentTableSource
does the following:- Checks and handles the lock state of the content being updated according to the specified
lockStrategy
. - Calls
ContentTableSource.doUpdateData(IParameters)
. Sends the render data changed notification
.
Accepts the same special parameters available in
ContentTableSource.addData(Object)
.- Overrides:
updateData
in classContentTableSource
- Parameters:
data
- the data to be updated. Expects an object compatible withIParameters.asParameters(Object)
.lockStrategy
- how content lock state is to be handled.- Returns:
- a result object with information about the updated data.
- Throws:
ContentLockedException
- if update operation could not be executed because the content is locked by another user.PortalException
- Checks and handles the lock state of the content being updated according to the specified
-
doUpdateData
protected IContentTableSourceUpdateDataResult doUpdateData(IParameters data) throws PortalException
Description copied from class:ContentTableSource
Updates the data in the persistence.This method is called by
ContentTableSource.updateData(Object, LockStrategy)
.If the source has versioning, this method calls
Source.preAddFieldData(SourcePreAddDataEvent)
. Otherwise it callsSource.preUpdateFieldData(SourcePreUpdateDataEvent)
.ContentTableSource
expects this method to automatically schedule the content indexing, if required. This is usually automatically triggered by content JPA entities.- Overrides:
doUpdateData
in classContentTableSource
- Parameters:
data
- the data argument given toContentTableSource.updateData(Object, LockStrategy)
, converted toIParameters
if necessary.- Returns:
- the result object to be returned by
ContentTableSource.updateData(Object, LockStrategy)
. - Throws:
PortalException
-
-