Package com.atlassian.confluence.internal.api.impl.service.incrementalsync.contentmanagement.commands
Class ContentUpdateCommand
java.lang.Object
com.atlassian.confluence.internal.api.impl.service.incrementalsync.MultiEventsCommand<ContentEvent,ContentManagementIncSyncModel,ContentJournalEntryTypes>
com.atlassian.confluence.internal.api.impl.service.incrementalsync.contentmanagement.commands.ContentManagementMultiEventsCommand<ContentEvent>
com.atlassian.confluence.internal.api.impl.service.incrementalsync.contentmanagement.commands.ContentUpdateCommand
- All Implemented Interfaces:
Command<ContentEvent,,ContentManagementIncSyncModel> CommandCreator<ContentEvent,ContentManagementIncSyncModel>
A command which handles common space content update events (PageUpdateEvent, BlogPostUpdateEvent, CommentUpdateEvent, PageMoveEvent)
- Since:
- 9.2.6
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final ContentServiceprotected final com.fasterxml.jackson.databind.ObjectMapperFields inherited from class com.atlassian.confluence.internal.api.impl.service.incrementalsync.contentmanagement.commands.ContentManagementMultiEventsCommand
commandSupportFields inherited from class com.atlassian.confluence.internal.api.impl.service.incrementalsync.MultiEventsCommand
logger, supportedEventEntryTypesMap -
Constructor Summary
ConstructorsConstructorDescriptionContentUpdateCommand(ContentCommandSupport commandSupport, ContentService contentService, SpaceFilteringService spaceFilteringService) -
Method Summary
Modifier and TypeMethodDescriptionprotected List<JournalMessage> createMessages(ContentEvent event) Creates a list ofJournalMessageinstances to store in the database.protected ContentJournalEntryTypesgetEntryTypeForEvent(ContentJournalEntryTypes mappingEntryType, ContentEvent event) Allow to overrideContentJournalEntryTypesbased on value of the eventprotected Map<Class<? extends ContentEvent>, ContentJournalEntryTypes> Provide a map of all supported eventsnewCommand(JournalEntry journalEntry) Create new command from a journal entry.newCommand(ContentEvent event) Create new command from an eventprocessJournalEntries(Collection<JournalEntry> journalEntries) DeserializeJournalEntryto JSON representable objectReturns predicate, that indicates if the given event should be processed or not.Methods inherited from class com.atlassian.confluence.internal.api.impl.service.incrementalsync.contentmanagement.commands.ContentManagementMultiEventsCommand
buildContentWithDirectAncestor, newCommand, processEvent, withRelatedContentMessages
-
Field Details
-
contentService
-
objectMapper
protected final com.fasterxml.jackson.databind.ObjectMapper objectMapper
-
-
Constructor Details
-
ContentUpdateCommand
public ContentUpdateCommand(ContentCommandSupport commandSupport, ContentService contentService, SpaceFilteringService spaceFilteringService)
-
-
Method Details
-
getSupportedEventEntryTypesMap
protected Map<Class<? extends ContentEvent>,ContentJournalEntryTypes> getSupportedEventEntryTypesMap()Description copied from class:MultiEventsCommandProvide a map of all supported events- Specified by:
getSupportedEventEntryTypesMapin classMultiEventsCommand<ContentEvent,ContentManagementIncSyncModel, ContentJournalEntryTypes> - Returns:
-
getEntryTypeForEvent
protected ContentJournalEntryTypes getEntryTypeForEvent(ContentJournalEntryTypes mappingEntryType, ContentEvent event) Description copied from class:ContentManagementMultiEventsCommandAllow to overrideContentJournalEntryTypesbased on value of the event- Overrides:
getEntryTypeForEventin classContentManagementMultiEventsCommand<ContentEvent>- Parameters:
mappingEntryType-event-- Returns:
-
createMessages
Description copied from class:ContentManagementMultiEventsCommandCreates a list ofJournalMessageinstances to store in the database.A
Listis used to preserve the order of messages as child content must be processed before parent content.- Specified by:
createMessagesin classContentManagementMultiEventsCommand<ContentEvent>- Parameters:
event- the event to process- Returns:
- a list of
JournalMessageinstances, or an empty list if no messages should be stored
-
processJournalEntries
public Collection<ContentManagementIncSyncModel> processJournalEntries(Collection<JournalEntry> journalEntries) Description copied from interface:CommandDeserializeJournalEntryto JSON representable object- Parameters:
journalEntries-- Returns:
-
shouldProcess
Description copied from interface:CommandCreatorReturns predicate, that indicates if the given event should be processed or not. If event should not be processed it is expected that command creator do not create command for such event and returns empty optional.- Returns:
- predicate that indicates if particular event has to be processed.
-
newCommand
Description copied from interface:CommandCreatorCreate new command from an event- Parameters:
event-- Returns:
-
newCommand
public Optional<Command<ContentEvent,ContentManagementIncSyncModel>> newCommand(JournalEntry journalEntry) Description copied from interface:CommandCreatorCreate new command from a journal entry. Concrete class should only return newCommandif the journalEntry is suitable for thatCommand- Parameters:
journalEntry-- Returns:
-