Package com.atlassian.confluence.internal.api.impl.service.incrementalsync.contentmanagement.commands
Class ContentCreateCommand
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.ContentCreateCommand
- All Implemented Interfaces:
Command<ContentEvent,,ContentManagementIncSyncModel> CommandCreator<ContentEvent,ContentManagementIncSyncModel>
A command which handles common space content create events (PageCreateEvent, BlogPostCreateEvent, CommentCreateEvent)
- Since:
- 9.2.6
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected 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
ConstructorsConstructorDescriptionContentCreateCommand(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 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, getEntryTypeForEvent, newCommand, processEvent, withRelatedContentMessages
-
Field Details
-
objectMapper
protected final com.fasterxml.jackson.databind.ObjectMapper objectMapper
-
-
Constructor Details
-
ContentCreateCommand
public ContentCreateCommand(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:
-
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:
-