Class ContentTableSource
- java.lang.Object
-
- java.util.Observable
-
- lumis.doui.source.Source<F>
-
- lumis.doui.source.TabularSource<ITableSourceField>
-
- lumis.doui.table.TableSource
-
- lumis.content.table.ContentTableSource
-
- All Implemented Interfaces:
java.util.Comparator<ISourceData>
- Direct Known Subclasses:
ChatRoomSource
,ColRequestSource
,DashboardSource
,ExperimentSource
,HierarchicalContentSource
,HtmlTemplateSource
,NavigationSource
,PrivacyTermSource
,ReportSource
,TagManagerSource
@StableMinor(version="17.0", sinceVersion="4.0") public class ContentTableSource extends TableSource
This source implementation adds content functionalities to theTableSource
it extends.- Since:
- 4.0.0
- Version:
- $Revision$ $Date$
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ContentTableSource.LockStrategy
Strategy on how to handleContentLocale
's locks during content operation.
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
ASSIGNED_TO_PARAMETER_NAME
The parameter that defines the value for workflow's assignedTo.static java.lang.String
ASSIGNED_TO_PARAMETER_VALUE_NULL
Value to indicate the assigned to is to be set to null.static java.lang.String
TRANSITION_PARAMETER_NAME
The parameter that defines the workflow's transition to be executed.-
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 ContentTableSource(org.w3c.dom.Node sourceDefinitionNode, ISourceContext sourceContext)
Creates a content table source.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description IContentTableSourceAddDataResult
addData(java.lang.Object data)
Adds a data in the persistence this source represents.protected ITableSourceFilter
createDefaultFilterInstance()
Creates and returns a source filter instance to be used as default tofilter
nodes.protected QueryBuilder
createQueryBuilder(IParameters parameters)
Creates the query builder used by this source.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 ITableSourceField
createSourceField(org.w3c.dom.Node fieldNode)
Factory method for creating a source field instance that corresponds to the field node given.void
deleteDataByItemIds(java.util.Collection<java.lang.String> itemIds)
CallsdeleteDataByItemIds(Collection, LockStrategy)
using same lock strategy of current operation if this delete is cascaded from another content, or with lock strategy ofContentTableSource.LockStrategy.CHECK_AND_RELEASE_AUTOMATIC_ON_COMMIT
otherwise.void
deleteDataByItemIds(java.util.Collection<java.lang.String> itemIds, ContentTableSource.LockStrategy lockStrategy)
Deletes data from the persistence this source represents.void
deleteInactiveVersionsByItemIds(java.util.Collection<java.lang.String> itemIds)
Deletes the inactive versions corresponding to the givenitemIds
.protected void
deleteVersionDataByItemIds(java.util.Collection<java.lang.String> itemIds)
Deletes the data related to the versions of the given item identifiers.protected IContentTableSourceAddDataResult
doAddData(IParameters data)
Adds the data to the persistence.protected ISourceCloneDataResult
doCloneData(ISourceData data)
Returns the result of the clone operation for the given data.protected void
doDeleteDataByItemIds(java.util.Collection<java.lang.String> itemIds)
Deletes the data in the persistence.protected IContentTableSourceUpdateDataResult
doUpdateData(IParameters data)
Updates the data in the persistence.IContentTableSourceBigDataPersister
getBigDataPersister()
Returns the ISourceBigDataPersister implementation to be used for this source.protected java.lang.String
getCloneDataTitleSuffix(ISourceData data)
Gets the translated clone data suffixprotected IContentTableSourceBigDataPersister
getDefaultBigDataPersister()
Returns the default ISourceBigDataPersister implementation to be used for this source if the big data persisting is not disabled and no specific persister class is configured for this source.protected java.lang.String
getDefaultProviderClass()
Returns data provider class for the source.protected java.lang.String
getDefaultSourceSearchContentFillerClassName()
Deprecated.Since 8.1.0 this method is no longer used and remains only for binary compatibility, due to lumis.search being replaced by lumis.portal.bigdata.MetaDataSourceField
getField(MetaDataSourceField.Type type)
Returns the filed based on the metadata type passed in.java.util.Collection<java.lang.String>
getHyperlinkDefaultParameters()
Returns the default parameters that should be used when creating a hyperlink url from this source.protected java.lang.String
getUpdateDataItemId(IParameters data)
Returns the item identifier of a data being updated, this will consider the id to the right active version.WorkflowConfig
getWorkflowConfig()
Returns the workflow associated with this source.protected boolean
isAdministrationInterface(IServiceInterface serviceInterface)
Returns true if the given service interface is the main administration interface for this source.boolean
isPublishAllAccessibleContents()
Indicates if contents not published to the current service instance but accessible by the current user should also be published.boolean
isWorkflowSupported()
Verifies if the current source supports a workflow.protected void
postDeleteDataByItemIds(java.util.Collection<java.lang.String> itemIds)
Called after delete operation.protected void
preDeleteDataByItemIds(java.util.Collection<java.lang.String> itemIds)
Called before delete operation.protected void
scheduleContentAddedEvent(ContentVersion contentVersion)
Schedules a content added event for the given content to be executed once the transaction is commited.void
scheduleIndexData(java.util.Collection<java.lang.String> itemIds)
Schedules the indexing of the data that corresponds to the specified item identifiers.IContentTableSourceUpdateDataResult
updateData(java.lang.Object data)
CallsupdateData(data, LockStrategy.CHECK_AND_RELEASE_AUTOMATIC_ON_COMMIT)
.IContentTableSourceUpdateDataResult
updateData(java.lang.Object data, ContentTableSource.LockStrategy lockStrategy)
Updates a data in the persistence this source represents.-
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
-
-
-
-
Field Detail
-
TRANSITION_PARAMETER_NAME
public static final java.lang.String TRANSITION_PARAMETER_NAME
The parameter that defines the workflow's transition to be executed. The value, if set, is to be the identifier of the workflow transition to be executed (e.g."authoring.approve"
). The transition must exist in the current content workflow state. If the parameter is not present or is set tonull
, no transition is executed.- Since:
- 10.4.0
- See Also:
- Constant Field Values
-
ASSIGNED_TO_PARAMETER_NAME
public static final java.lang.String ASSIGNED_TO_PARAMETER_NAME
The parameter that defines the value for workflow's assignedTo. A value ofASSIGNED_TO_PARAMETER_VALUE_NULL
indicates to change to null, and any other value indicates to change to that value. If the parameter is not present or is set to null, the assigned to is not to be changed.- Since:
- 10.4.0
- See Also:
ASSIGNED_TO_PARAMETER_VALUE_NULL
, Constant Field Values
-
ASSIGNED_TO_PARAMETER_VALUE_NULL
public static final java.lang.String ASSIGNED_TO_PARAMETER_VALUE_NULL
Value to indicate the assigned to is to be set to null.- Since:
- 10.4.0
- See Also:
ASSIGNED_TO_PARAMETER_NAME
, Constant Field Values
-
-
Constructor Detail
-
ContentTableSource
public ContentTableSource(org.w3c.dom.Node sourceDefinitionNode, ISourceContext sourceContext) throws PortalException
Creates a content table source.- Parameters:
sourceDefinitionNode
- the source definition node.sourceContext
- the source context.- Throws:
PortalException
- Since:
- 4.0.4
-
-
Method Detail
-
isAdministrationInterface
protected boolean isAdministrationInterface(IServiceInterface serviceInterface)
Returns true if the given service interface is the main administration interface for this source.- Overrides:
isAdministrationInterface
in classSource<ITableSourceField>
- Parameters:
serviceInterface
- the service interface.- Returns:
- true if the given service interface is the main administration interface for this source, false otherwise.
- Since:
- 4.0.6
-
getDefaultProviderClass
protected java.lang.String getDefaultProviderClass() throws PortalException
Description copied from class:TabularSource
Returns data provider class for the source. Always throws an exceptions since this source does not have a default provider class.- Overrides:
getDefaultProviderClass
in classTableSource
- Returns:
- Throws:
PortalException
-
getWorkflowConfig
public WorkflowConfig getWorkflowConfig() throws PortalException
Returns the workflow associated with this source.- Returns:
- the workflow associated with this source, or null if this source has no workflow.
- Throws:
PortalException
- Since:
- 4.0.7
-
isWorkflowSupported
public boolean isWorkflowSupported() throws PortalException
Verifies if the current source supports a workflow.- Returns:
- true if the source supports, false otherwise.
- Throws:
PortalException
- Since:
- 4.0.8
-
isPublishAllAccessibleContents
public boolean isPublishAllAccessibleContents()
Indicates if contents not published to the current service instance but accessible by the current user should also be published. Affects the query generated for the source in publication interfaces.- Returns:
- true if accessible contents not published to this service instance should also be published, false otherwise.
- Since:
- 4.2.0
-
createSourceField
protected ITableSourceField createSourceField(org.w3c.dom.Node fieldNode) throws PortalException
Description copied from class:Source
Factory method for creating a source field instance that corresponds to the field node given. This method instantiate and returns the source field, without initializing it.- Overrides:
createSourceField
in classTableSource
- Parameters:
fieldNode
- the field node.- Returns:
- the ISourceField created, or null if no field should be created for this node.
- Throws:
PortalException
- See Also:
Source.createCustomSourceField(Node)
-
getHyperlinkDefaultParameters
public java.util.Collection<java.lang.String> getHyperlinkDefaultParameters()
Description copied from class:Source
Returns the default parameters that should be used when creating a hyperlink url from this source.- Overrides:
getHyperlinkDefaultParameters
in classTabularSource<ITableSourceField>
- Returns:
- a collection with the default parameter names.
-
getField
public MetaDataSourceField getField(MetaDataSourceField.Type type)
Returns the filed based on the metadata type passed in.- Parameters:
type
-- Returns:
- Since:
- 4.0.11
-
getDefaultSourceSearchContentFillerClassName
@Deprecated protected java.lang.String getDefaultSourceSearchContentFillerClassName()
Deprecated.Since 8.1.0 this method is no longer used and remains only for binary compatibility, due to lumis.search being replaced by lumis.portal.bigdata. Consider usinggetDefaultBigDataPersister()
instead.Description copied from class:TabularSource
Returns the default source search content search filler class name.The default value defined in this class is lumis.doui.search.DouiTabularSourceSearchContentFiller.
- Overrides:
getDefaultSourceSearchContentFillerClassName
in classTabularSource<ITableSourceField>
- Returns:
-
createDefaultFilterInstance
protected ITableSourceFilter createDefaultFilterInstance()
Description copied from class:Source
Creates and returns a source filter instance to be used as default tofilter
nodes.- Overrides:
createDefaultFilterInstance
in classTableSource
- Returns:
- the created instance.
-
getBigDataPersister
public IContentTableSourceBigDataPersister getBigDataPersister()
Description copied from class:Source
Returns the ISourceBigDataPersister implementation to be used for this source.- Overrides:
getBigDataPersister
in classSource<ITableSourceField>
- Returns:
- the ISourceBigDataPersister implementation.
-
getDefaultBigDataPersister
protected IContentTableSourceBigDataPersister getDefaultBigDataPersister()
Description copied from class:Source
Returns the default ISourceBigDataPersister implementation to be used for this source if the big data persisting is not disabled and no specific persister class is configured for this source.This method is called by
Source.getBigDataPersister()
when the default is to be used.- Overrides:
getDefaultBigDataPersister
in classTableSource
- Returns:
- the default ISourceBigDataPersister implementation.
-
createQueryBuilder
protected QueryBuilder createQueryBuilder(IParameters parameters) throws PortalException
Description copied from class:TableSource
Creates the query builder used by this source.- Overrides:
createQueryBuilder
in classTableSource
- Parameters:
parameters
- the parameters to be used by the query builder.- Returns:
- the query builder.
- Throws:
PortalException
-
scheduleIndexData
public void scheduleIndexData(java.util.Collection<java.lang.String> itemIds) throws PortalException
Schedules the indexing of the data that corresponds to the specified item identifiers. Due to the non-transactional nature of big data, this method must schedule the actual indexing for after the transaction commit.Note that differently from
Source
's implementation,ContentTableSource
does not call this method by its standard operations that add/update/delete data, since it is expected to content JPA trigger data indexing.- Overrides:
scheduleIndexData
in classSource<ITableSourceField>
- Parameters:
itemIds
- the item identifiers.- Throws:
PortalException
- Since:
- 10.4.0
-
addData
public IContentTableSourceAddDataResult addData(java.lang.Object data) throws PortalException
Adds a data in the persistence this source represents.The implementation of this method in
Source
does the following:- Calls
doAddData(IParameters)
, method to be implemented by sources that supports this operation. Sends the render data changed notification
.- Calls
scheduleContentAddedEvent(ContentVersion)
to add a content added event in monitoring framework (in the default implementation, the event will only be added if the source context's transaction is correctly commited).
Differently from
Source
default implementation, for optimization reasons,ContentTableSource
assumes thatdoAddData(IParameters)
will already schedule the index of the data, so this method does not callscheduleIndexData(Collection)
.Special parameters that may be set on data for
ContentTableSource
:TRANSITION_PARAMETER_NAME
: optional parameter that may be set with the identifier of the workflow transition to perform during this add operation.ASSIGNED_TO_PARAMETER_NAME
: optional parameter that may be set with the identifier of the principal to be set as workflow's assigned to.- <
language field identifier
>.languageId
: optionalString
parameter specifying the locale to set for the content being added. This parameter is for backwards compatibility, as the locale may also be set using a parameter with name equals to the language field identifier (which acceptsString
andLocale
values). If no locale is specified in any of these parameters, the currentSessionConfig
's locale will be used. - <
language field identifier
>.contentId
: optional parameter that when set with the identifier of aContent
, indicates that theContentLocale
being added is to belong to thatContent
. - <
language field identifier
>.isDefaultLocale
: optional parameter that when set totrue
indicates thecontent's default locale
is to be set to the locale of the data being added. publish to principals
field identifier: optional parameters that may be a string with comma-separated identifiers or aCollection
of identifiers. Default value is everyone group.publish to service instances
field identifier: optional parameters that may be a string with comma-separated identifiers or aCollection
of identifiers. Default value is this source's service instance.
- Overrides:
addData
in classSource<ITableSourceField>
- Parameters:
data
- the acceptable types of data object depends on the source implementation. The defaultSource
implementation expects an object compatible withIParameters.asParameters(Object)
.- Returns:
- a result object with information about the added data.
- Throws:
PortalException
- Since:
- 10.4.0
- Calls
-
scheduleContentAddedEvent
protected void scheduleContentAddedEvent(ContentVersion contentVersion) throws PortalException
Schedules a content added event for the given content to be executed once the transaction is commited.- Parameters:
contentVersion
- the content version.- Throws:
PortalException
- Since:
- 12.0.0
-
doAddData
protected IContentTableSourceAddDataResult doAddData(IParameters data) throws PortalException
Adds the data to the persistence.This method is called by
addData(Object)
.ContentTableSource
expects this method to automatically schedule the content indexing, if required. This is usually automatically triggered by content JPA entities.- Overrides:
doAddData
in classTableSource
- Parameters:
data
- the data given toSource.addData(Object)
, converted toIParameters
if necessary.- Returns:
- the result object to be returned by
Source.addData(Object)
. - Throws:
PortalException
- Since:
- 10.4.0
-
updateData
public IContentTableSourceUpdateDataResult updateData(java.lang.Object data) throws PortalException
CallsupdateData(data, LockStrategy.CHECK_AND_RELEASE_AUTOMATIC_ON_COMMIT)
.- Overrides:
updateData
in classSource<ITableSourceField>
- Parameters:
data
- the acceptable types of data object depends on the source implementation. The defaultSource
implementation expects an object compatible withIParameters.asParameters(Object)
.- Returns:
- a result object with information about the updated data.
- Throws:
PortalException
- Since:
- 10.4.0
- See Also:
updateData(Object, LockStrategy)
-
updateData
public IContentTableSourceUpdateDataResult updateData(java.lang.Object data, ContentTableSource.LockStrategy lockStrategy) throws PortalException
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
doUpdateData(IParameters)
. Sends the render data changed notification
.
Accepts the same special parameters available in
addData(Object)
.- 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
- Since:
- 10.4.0
- Checks and handles the lock state of the content being updated according to the specified
-
getUpdateDataItemId
protected java.lang.String getUpdateDataItemId(IParameters data)
Returns the item identifier of a data being updated, this will consider the id to the right active version.- Overrides:
getUpdateDataItemId
in classSource<ITableSourceField>
- Parameters:
data
- the data.- Returns:
- the active version item identifier.
- Since:
- 12.0.0
-
doUpdateData
protected IContentTableSourceUpdateDataResult doUpdateData(IParameters data) throws PortalException
Updates the data in the persistence.This method is called by
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 classTableSource
- Parameters:
data
- the data argument given toupdateData(Object, LockStrategy)
, converted toIParameters
if necessary.- Returns:
- the result object to be returned by
updateData(Object, LockStrategy)
. - Throws:
PortalException
- Since:
- 10.4.0
-
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 classSource<ITableSourceField>
- 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
-
deleteDataByItemIds
public void deleteDataByItemIds(java.util.Collection<java.lang.String> itemIds) throws PortalException
CallsdeleteDataByItemIds(Collection, LockStrategy)
using same lock strategy of current operation if this delete is cascaded from another content, or with lock strategy ofContentTableSource.LockStrategy.CHECK_AND_RELEASE_AUTOMATIC_ON_COMMIT
otherwise.- Overrides:
deleteDataByItemIds
in classSource<ITableSourceField>
- Parameters:
itemIds
- the item identifiers of data to be deleted.- Throws:
PortalException
- Since:
- 10.4.0
- See Also:
deleteDataByItemIds(Collection, LockStrategy)
-
deleteDataByItemIds
public void deleteDataByItemIds(java.util.Collection<java.lang.String> itemIds, ContentTableSource.LockStrategy lockStrategy) throws PortalException
Deletes data from 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 deleted according to the specified
lockStrategy
. Sends the render data changed notification
.- Calls
#preDeleteFieldData(ISourcePreDeleteDataEvent)
on a source instance created from the source definition at service level. - Calls
doDeleteDataByItemIds(Collection)
.
- Parameters:
itemIds
- the item identifiers of data to be deleted.lockStrategy
- how content lock state is to be handled.- Throws:
PortalException
- Since:
- 10.4.0
- Checks and handles the lock state of the content being deleted according to the specified
-
deleteInactiveVersionsByItemIds
public void deleteInactiveVersionsByItemIds(java.util.Collection<java.lang.String> itemIds) throws ContentVersionInUseException, PortalException
Deletes the inactive versions corresponding to the givenitemIds
.- Parameters:
itemIds
- the primary identifiers of the items to be removed. Corresponds toContentVersion.getItemId()
.- Throws:
ContentVersionInUseException
- if any given itemId corresponds to anactive
orpublished
version.PortalObjectNotFoundException
- if any given itemId is not found.PortalException
- Since:
- 17.0.0
-
doDeleteDataByItemIds
protected void doDeleteDataByItemIds(java.util.Collection<java.lang.String> itemIds) throws PortalException
Deletes the data in the persistence.This method is called by
deleteDataByItemIds(Collection, LockStrategy)
.The implementation of this method does the following:
- Calls
preDeleteDataByItemIds(Collection)
. - Calls
deleteVersionDataByItemIds(Collection)
. - Deletes content metadata.
- Calls
postDeleteDataByItemIds(Collection)
.
ContentTableSource
expects this method to automatically schedule the delete of the related indexed data. This is usually automatically triggered by content JPA entities.- Overrides:
doDeleteDataByItemIds
in classTableSource
- Parameters:
itemIds
- the item identifiers of data to be deleted.- Throws:
PortalException
- Since:
- 10.4.0
- See Also:
deleteDataByItemIds(Collection, LockStrategy)
- Calls
-
preDeleteDataByItemIds
protected void preDeleteDataByItemIds(java.util.Collection<java.lang.String> itemIds) throws PortalException
Called before delete operation.It is called by
doDeleteDataByItemIds(Collection)
and by special operations that deletes versions without deleting the wholeContentLocale
.This method calls
Source.sendPreDeleteDataNotification(SourcePreDeleteDataEvent)
andSource.preDeleteFieldData(SourcePreDeleteDataEvent)
.- Parameters:
itemIds
- the item identifiers being deleted.- Throws:
PortalException
- Since:
- 10.4.0
-
postDeleteDataByItemIds
protected void postDeleteDataByItemIds(java.util.Collection<java.lang.String> itemIds) throws PortalException
Called after delete operation.It is called by
doDeleteDataByItemIds(Collection)
and by special operations that deletes versions without deleting the wholeContentLocale
.This method calls
Source.sendPostDeleteDataNotification(SourcePostDeleteDataEvent)
andSource.postDeleteFieldData(SourcePostDeleteDataEvent)
.- Parameters:
itemIds
- the item identifiers being deleted.- Throws:
PortalException
- Since:
- 10.4.0
-
deleteVersionDataByItemIds
protected void deleteVersionDataByItemIds(java.util.Collection<java.lang.String> itemIds) throws PortalException
Deletes the data related to the versions of the given item identifiers. This method does not delete any content metadata.It is called by
doDeleteDataByItemIds(Collection)
and by special operations that deletes versions without deleting the wholeContentLocale
.- Parameters:
itemIds
- the item identifiers.- Throws:
PortalException
- Since:
- 10.4.0
-
doCloneData
protected ISourceCloneDataResult doCloneData(ISourceData data) throws PortalException, java.lang.IllegalArgumentException, java.lang.UnsupportedOperationException
Description copied from class:Source
Returns the result of the clone operation for the given data. Typically, this method is called by theSource.cloneData(String)
method.- Overrides:
doCloneData
in classTableSource
- Parameters:
data
- the data to be cloned- Returns:
- the result of the clone operation for the given data.
- Throws:
PortalException
- If any other error occur.java.lang.IllegalArgumentException
- If the given data isnull
.java.lang.UnsupportedOperationException
- If this source does not supports data cloning.
-
getCloneDataTitleSuffix
protected java.lang.String getCloneDataTitleSuffix(ISourceData data) throws PortalException
Description copied from class:TableSource
Gets the translated clone data suffix- Overrides:
getCloneDataTitleSuffix
in classTableSource
- Returns:
- the translated clone data suffix
- Throws:
PortalException
-
-