public interface MessageEventRepository extends WonRepository<MessageEventPlaceholder>
| Modifier and Type | Method and Description |
|---|---|
boolean |
existEarlierMessageWithSameInnermostMessageURIAndReceiverNeedURI(java.net.URI messageUri)
For a specified message (msg in the query), return true iff
there is an earlier message with the same recipient and the same innermost message uri
that is not the corresponding remote message of the specified one
|
java.util.List<MessageEventPlaceholder> |
findByParentURI(java.net.URI URI) |
org.springframework.data.domain.Slice<MessageEventPlaceholder> |
findByParentURI(java.net.URI parentURI,
org.springframework.data.domain.Pageable pageable) |
org.springframework.data.domain.Slice<MessageEventPlaceholder> |
findByParentURIAfter(java.net.URI parentURI,
java.util.Date referenceDate,
org.springframework.data.domain.Pageable pageable) |
org.springframework.data.domain.Slice<MessageEventPlaceholder> |
findByParentURIAfterFetchDatasetEagerly(java.net.URI parentURI,
java.util.Date referenceDate,
org.springframework.data.domain.Pageable pageable) |
java.util.List<MessageEventPlaceholder> |
findByParentURIAndMessageType(java.net.URI parentURI,
WonMessageType messageType) |
java.util.List<MessageEventPlaceholder> |
findByParentURIAndMessageTypeForUpdate(java.net.URI parentURI,
WonMessageType messageType) |
java.util.List<MessageEventPlaceholder> |
findByParentURIAndNotReferencedByOtherMessage(java.net.URI parentURI) |
java.util.List<MessageEventPlaceholder> |
findByParentURIAndNotReferencedByOtherMessageForUpdate(java.net.URI parentURI) |
org.springframework.data.domain.Slice<MessageEventPlaceholder> |
findByParentURIAndType(java.net.URI parentURI,
WonMessageType messageType,
org.springframework.data.domain.Pageable pageable) |
org.springframework.data.domain.Slice<MessageEventPlaceholder> |
findByParentURIAndTypeAfter(java.net.URI parentURI,
java.util.Date referenceDate,
WonMessageType messageType,
org.springframework.data.domain.Pageable pageable) |
org.springframework.data.domain.Slice<MessageEventPlaceholder> |
findByParentURIAndTypeAfterFetchDatasetEagerly(java.net.URI parentURI,
java.util.Date referenceDate,
WonMessageType messageType,
org.springframework.data.domain.Pageable pageable) |
org.springframework.data.domain.Slice<MessageEventPlaceholder> |
findByParentURIAndTypeBefore(java.net.URI parentURI,
java.util.Date referenceDate,
WonMessageType messageType,
org.springframework.data.domain.Pageable pageable) |
org.springframework.data.domain.Slice<MessageEventPlaceholder> |
findByParentURIAndTypeBeforeFetchDatasetEagerly(java.net.URI parentURI,
java.util.Date referenceDate,
WonMessageType messageType,
org.springframework.data.domain.Pageable pageable) |
org.springframework.data.domain.Slice<MessageEventPlaceholder> |
findByParentURIAndTypeBeforeFetchDatasetEagerly(java.net.URI parentURI,
java.net.URI referenceMessageURI,
WonMessageType messageType,
org.springframework.data.domain.Pageable pageable) |
org.springframework.data.domain.Slice<MessageEventPlaceholder> |
findByParentURIAndTypeFetchDatasetEagerly(java.net.URI parentURI,
WonMessageType messageType,
org.springframework.data.domain.Pageable pageable) |
org.springframework.data.domain.Slice<MessageEventPlaceholder> |
findByParentURIBefore(java.net.URI parentURI,
java.util.Date referenceDate,
org.springframework.data.domain.Pageable pageable) |
org.springframework.data.domain.Slice<MessageEventPlaceholder> |
findByParentURIBeforeFetchDatasetEagerly(java.net.URI parentURI,
java.util.Date referenceDate,
org.springframework.data.domain.Pageable pageable) |
org.springframework.data.domain.Slice<MessageEventPlaceholder> |
findByParentURIBeforeFetchDatasetEagerly(java.net.URI parentURI,
java.net.URI referenceMessageUri,
org.springframework.data.domain.Pageable pageable) |
org.springframework.data.domain.Slice<MessageEventPlaceholder> |
findByParentURIFetchDatasetEagerly(java.net.URI parentURI,
org.springframework.data.domain.Pageable pageable) |
java.util.Date |
findMaxActivityDateOfParentAtTime(java.net.URI parentURI,
java.util.Date referenceDate) |
java.util.Date |
findMaxActivityDateOfParentAtTime(java.net.URI parentURI,
WonMessageType messageType,
java.util.Date referenceDate) |
MessageEventPlaceholder |
findNewestByParentURI(java.net.URI parentUri) |
MessageEventPlaceholder |
findNewestByParentURIforUpdate(java.net.URI parentUri) |
MessageEventPlaceholder |
findOldestByParentURIforUpdate(java.net.URI parentUri) |
MessageEventPlaceholder |
findOneByCorrespondingRemoteMessageURI(java.net.URI uri) |
MessageEventPlaceholder |
findOneByMessageURI(java.net.URI URI) |
MessageEventPlaceholder |
findOneByMessageURIforUpdate(java.net.URI uri) |
org.springframework.data.domain.Slice<java.net.URI> |
getMessageURIsByParentURI(java.net.URI parentURI,
WonMessageType messageType,
org.springframework.data.domain.Pageable pageable) |
org.springframework.data.domain.Slice<java.net.URI> |
getMessageURIsByParentURIAfter(java.net.URI parentURI,
java.util.Date referenceDate,
org.springframework.data.domain.Pageable pageable) |
org.springframework.data.domain.Slice<java.net.URI> |
getMessageURIsByParentURIAfter(java.net.URI parentURI,
java.util.Date referenceDate,
WonMessageType messageType,
org.springframework.data.domain.Pageable pageable) |
org.springframework.data.domain.Slice<java.net.URI> |
getMessageURIsByParentURIBefore(java.net.URI parentURI,
java.util.Date referenceDate,
org.springframework.data.domain.Pageable pageable) |
org.springframework.data.domain.Slice<java.net.URI> |
getMessageURIsByParentURIBefore(java.net.URI parentURI,
java.util.Date referenceDate,
WonMessageType messageType,
org.springframework.data.domain.Pageable pageable) |
java.util.List<UnreadMessageInfoForConnection> |
getUnreadInfoForNeed(java.net.URI needURI,
java.util.Collection<java.net.URI> lastSeenMessageURIs) |
boolean |
isReadPermittedForWebID(java.net.URI messageUri,
java.net.URI webId) |
boolean |
isReceivedSameInnermostMessageFromSender(java.net.URI messageUri,
java.net.URI senderNeedURI)
When we want to forward a message to recipient r, we first check if we have
received a message with the same innermost message from r.
|
void |
lockConnectionAndEventContainerByContainedMessageForUpdate(java.net.URI messageUri) |
void |
lockNeedAndEventContainerByContainedMessageForUpdate(java.net.URI messageUri) |
findById, saveAndFlushMessageEventPlaceholder findOneByMessageURI(java.net.URI URI)
@Query(value="select case when (count(msg) > 0) then true else false end from MessageEventPlaceholder msg left outer join Connection con on ( msg.parentURI = con.connectionURI or msg.parentURI = con.needURI ) where msg.messageURI = :messageUri and ( ( con is null and msg.parentURI = :webId ) or con.needURI = :webId or con.remoteNeedURI = :webId or msg.receiverNodeURI = :webId or msg.senderNodeURI = :webId )")
boolean isReadPermittedForWebID(@Param(value="messageUri")
java.net.URI messageUri,
@Param(value="webId")
java.net.URI webId)
@Query(value="select \n\tnew won.protocol.model.unread.UnreadMessageInfoForConnection(\n\t\tc.connectionURI, \n\t\tc.state, \n\t\tcount(*), \n\t\tmax(m.creationDate), \n\t\tmin(m.creationDate) \n ) \n from Connection c join MessageEventPlaceholder m on \n \tc.connectionURI = m.parentURI\n left join MessageEventPlaceholder last on \n m.parentURI = last.parentURI\n and last.messageURI in :lastSeenMessageUris \n where \n c.needURI = :needUri \n\t\tand m.messageType not in (\'SUCCESS_RESPONSE\', \'FAILURE_RESPONSE\') \n and (last is null or m.creationDate > last.creationDate) \n group by c.connectionURI, c.state \n") java.util.List<UnreadMessageInfoForConnection> getUnreadInfoForNeed(@Param(value="needUri") java.net.URI needURI, @Param(value="lastSeenMessageUris") java.util.Collection<java.net.URI> lastSeenMessageURIs)
@Lock(value=PESSIMISTIC_WRITE)
@Query(value="select n,c from NeedEventContainer c join MessageEventPlaceholder msg on msg.parentURI = c.parentUri join Need n on c.parentUri = n.needURI where msg.messageURI = :messageUri")
void lockNeedAndEventContainerByContainedMessageForUpdate(@Param(value="messageUri")
java.net.URI messageUri)
@Lock(value=PESSIMISTIC_WRITE)
@Query(value="select con,c from NeedEventContainer c join MessageEventPlaceholder msg on msg.parentURI = c.parentUri join Connection con on c.parentUri = con.connectionURI where msg.messageURI = :messageUri")
void lockConnectionAndEventContainerByContainedMessageForUpdate(@Param(value="messageUri")
java.net.URI messageUri)
@Lock(value=PESSIMISTIC_WRITE) @Query(value="select msg from MessageEventPlaceholder msg where msg.messageURI = :uri") MessageEventPlaceholder findOneByMessageURIforUpdate(@Param(value="uri") java.net.URI uri)
java.util.List<MessageEventPlaceholder> findByParentURI(java.net.URI URI)
@Lock(value=PESSIMISTIC_WRITE) @Query(value="select msg from MessageEventPlaceholder msg where msg.parentURI = :parent and msg.messageType = :messageType") java.util.List<MessageEventPlaceholder> findByParentURIAndMessageTypeForUpdate(@Param(value="parent") java.net.URI parentURI, @Param(value="messageType") WonMessageType messageType)
@Query(value="select msg from MessageEventPlaceholder msg where msg.parentURI = :parent and msg.messageType = :messageType") java.util.List<MessageEventPlaceholder> findByParentURIAndMessageType(@Param(value="parent") java.net.URI parentURI, @Param(value="messageType") WonMessageType messageType)
@Lock(value=PESSIMISTIC_WRITE) @Query(value="select msg from MessageEventPlaceholder msg left outer join MessageEventPlaceholder msg2 on msg.parentURI = msg2.parentURI and msg.creationDate < msg2.creationDate where msg.parentURI = :parent and msg2.id is null") MessageEventPlaceholder findNewestByParentURIforUpdate(@Param(value="parent") java.net.URI parentUri)
@Query(value="select msg from MessageEventPlaceholder msg left outer join MessageEventPlaceholder msg2 on msg.parentURI = msg2.parentURI and msg.creationDate < msg2.creationDate where msg.parentURI = :parent and msg2.id is null") MessageEventPlaceholder findNewestByParentURI(@Param(value="parent") java.net.URI parentUri)
@Lock(value=PESSIMISTIC_WRITE) @Query(value="select msg from MessageEventPlaceholder msg left outer join MessageEventPlaceholder msg2 on msg.parentURI = msg2.parentURI and msg.creationDate > msg2.creationDate where msg.parentURI = :parent and msg2.id is null") MessageEventPlaceholder findOldestByParentURIforUpdate(@Param(value="parent") java.net.URI parentUri)
@Lock(value=PESSIMISTIC_WRITE) @Query(value="select msg from MessageEventPlaceholder msg where msg.parentURI = :parent and referencedByOtherMessage = false") java.util.List<MessageEventPlaceholder> findByParentURIAndNotReferencedByOtherMessageForUpdate(@Param(value="parent") java.net.URI parentURI)
@Query(value="select msg from MessageEventPlaceholder msg where msg.parentURI = :parent and referencedByOtherMessage = false") java.util.List<MessageEventPlaceholder> findByParentURIAndNotReferencedByOtherMessage(@Param(value="parent") java.net.URI parentURI)
@Query(value="select msg from MessageEventPlaceholder msg where msg.parentURI = :parent") org.springframework.data.domain.Slice<MessageEventPlaceholder> findByParentURI(@Param(value="parent") java.net.URI parentURI, org.springframework.data.domain.Pageable pageable)
@Query(value="select msg from MessageEventPlaceholder msg left join fetch msg.datasetHolder where msg.parentURI = :parent") org.springframework.data.domain.Slice<MessageEventPlaceholder> findByParentURIFetchDatasetEagerly(@Param(value="parent") java.net.URI parentURI, org.springframework.data.domain.Pageable pageable)
@Query(value="select messageURI from MessageEventPlaceholder msg where msg.parentURI = :parent and msg.messageType = :messageType")
org.springframework.data.domain.Slice<java.net.URI> getMessageURIsByParentURI(@Param(value="parent")
java.net.URI parentURI,
@Param(value="messageType")
WonMessageType messageType,
org.springframework.data.domain.Pageable pageable)
@Query(value="select msg from MessageEventPlaceholder msg where msg.parentURI = :parent and msg.messageType = :messageType") org.springframework.data.domain.Slice<MessageEventPlaceholder> findByParentURIAndType(@Param(value="parent") java.net.URI parentURI, @Param(value="messageType") WonMessageType messageType, org.springframework.data.domain.Pageable pageable)
@Query(value="select msg from MessageEventPlaceholder msg left join fetch msg.datasetHolder where msg.parentURI = :parent and msg.messageType = :messageType") org.springframework.data.domain.Slice<MessageEventPlaceholder> findByParentURIAndTypeFetchDatasetEagerly(@Param(value="parent") java.net.URI parentURI, @Param(value="messageType") WonMessageType messageType, org.springframework.data.domain.Pageable pageable)
@Query(value="select messageURI from MessageEventPlaceholder msg where msg.parentURI = :parent and msg.creationDate < :referenceDate")
org.springframework.data.domain.Slice<java.net.URI> getMessageURIsByParentURIBefore(@Param(value="parent")
java.net.URI parentURI,
@Param(value="referenceDate")
java.util.Date referenceDate,
org.springframework.data.domain.Pageable pageable)
@Query(value="select msg from MessageEventPlaceholder msg where msg.parentURI = :parent and msg.creationDate < :referenceDate") org.springframework.data.domain.Slice<MessageEventPlaceholder> findByParentURIBefore(@Param(value="parent") java.net.URI parentURI, @Param(value="referenceDate") java.util.Date referenceDate, org.springframework.data.domain.Pageable pageable)
@Query(value="select msg from MessageEventPlaceholder msg left join fetch msg.datasetHolder where msg.parentURI = :parent and msg.creationDate < :referenceDate") org.springframework.data.domain.Slice<MessageEventPlaceholder> findByParentURIBeforeFetchDatasetEagerly(@Param(value="parent") java.net.URI parentURI, @Param(value="referenceDate") java.util.Date referenceDate, org.springframework.data.domain.Pageable pageable)
@Query(value="select msg from MessageEventPlaceholder msg left join fetch msg.datasetHolder where msg.parentURI = :parent and msg.creationDate < (select msg2.creationDate from MessageEventPlaceholder msg2 where msg2.messageURI = :referenceMessageUri )") org.springframework.data.domain.Slice<MessageEventPlaceholder> findByParentURIBeforeFetchDatasetEagerly(@Param(value="parent") java.net.URI parentURI, @Param(value="referenceMessageUri") java.net.URI referenceMessageUri, org.springframework.data.domain.Pageable pageable)
@Query(value="select messageURI from MessageEventPlaceholder msg where msg.parentURI = :parent and msg.creationDate < :referenceDate and msg.messageType = :messageType")
org.springframework.data.domain.Slice<java.net.URI> getMessageURIsByParentURIBefore(@Param(value="parent")
java.net.URI parentURI,
@Param(value="referenceDate")
java.util.Date referenceDate,
@Param(value="messageType")
WonMessageType messageType,
org.springframework.data.domain.Pageable pageable)
@Query(value="select msg from MessageEventPlaceholder msg where msg.parentURI = :parent and msg.creationDate < :referenceDate and msg.messageType = :messageType") org.springframework.data.domain.Slice<MessageEventPlaceholder> findByParentURIAndTypeBefore(@Param(value="parent") java.net.URI parentURI, @Param(value="referenceDate") java.util.Date referenceDate, @Param(value="messageType") WonMessageType messageType, org.springframework.data.domain.Pageable pageable)
@Query(value="select msg from MessageEventPlaceholder msg left join fetch msg.datasetHolder where msg.parentURI = :parent and msg.creationDate < :referenceDate and msg.messageType = :messageType") org.springframework.data.domain.Slice<MessageEventPlaceholder> findByParentURIAndTypeBeforeFetchDatasetEagerly(@Param(value="parent") java.net.URI parentURI, @Param(value="referenceDate") java.util.Date referenceDate, @Param(value="messageType") WonMessageType messageType, org.springframework.data.domain.Pageable pageable)
@Query(value="select msg from MessageEventPlaceholder msg left join fetch msg.datasetHolder where msg.parentURI = :parent and msg.messageType = :messageType and msg.creationDate < (select msg2.creationDate from MessageEventPlaceholder msg2 where msg2.messageURI = :referenceMessageUri )") org.springframework.data.domain.Slice<MessageEventPlaceholder> findByParentURIAndTypeBeforeFetchDatasetEagerly(@Param(value="parent") java.net.URI parentURI, @Param(value="referenceMessageUri") java.net.URI referenceMessageURI, @Param(value="messageType") WonMessageType messageType, org.springframework.data.domain.Pageable pageable)
@Query(value="select messageURI from MessageEventPlaceholder msg where msg.parentURI = :parent and msg.creationDate > :referenceDate")
org.springframework.data.domain.Slice<java.net.URI> getMessageURIsByParentURIAfter(@Param(value="parent")
java.net.URI parentURI,
@Param(value="referenceDate")
java.util.Date referenceDate,
org.springframework.data.domain.Pageable pageable)
@Query(value="select msg from MessageEventPlaceholder msg where msg.parentURI = :parent and msg.creationDate > :referenceDate") org.springframework.data.domain.Slice<MessageEventPlaceholder> findByParentURIAfter(@Param(value="parent") java.net.URI parentURI, @Param(value="referenceDate") java.util.Date referenceDate, org.springframework.data.domain.Pageable pageable)
@Query(value="select msg from MessageEventPlaceholder msg left join fetch msg.datasetHolder where msg.parentURI = :parent and msg.creationDate > :referenceDate") org.springframework.data.domain.Slice<MessageEventPlaceholder> findByParentURIAfterFetchDatasetEagerly(@Param(value="parent") java.net.URI parentURI, @Param(value="referenceDate") java.util.Date referenceDate, org.springframework.data.domain.Pageable pageable)
@Query(value="select messageURI from MessageEventPlaceholder msg where msg.parentURI = :parent and msg.creationDate > :referenceDate and msg.messageType = :messageType")
org.springframework.data.domain.Slice<java.net.URI> getMessageURIsByParentURIAfter(@Param(value="parent")
java.net.URI parentURI,
@Param(value="referenceDate")
java.util.Date referenceDate,
@Param(value="messageType")
WonMessageType messageType,
org.springframework.data.domain.Pageable pageable)
@Query(value="select msg from MessageEventPlaceholder msg left join fetch msg.datasetHolder where msg.parentURI = :parent and msg.creationDate > :referenceDate and msg.messageType = :messageType") org.springframework.data.domain.Slice<MessageEventPlaceholder> findByParentURIAndTypeAfter(@Param(value="parent") java.net.URI parentURI, @Param(value="referenceDate") java.util.Date referenceDate, @Param(value="messageType") WonMessageType messageType, org.springframework.data.domain.Pageable pageable)
@Query(value="select msg from MessageEventPlaceholder msg where msg.parentURI = :parent and msg.creationDate > :referenceDate and msg.messageType = :messageType") org.springframework.data.domain.Slice<MessageEventPlaceholder> findByParentURIAndTypeAfterFetchDatasetEagerly(@Param(value="parent") java.net.URI parentURI, @Param(value="referenceDate") java.util.Date referenceDate, @Param(value="messageType") WonMessageType messageType, org.springframework.data.domain.Pageable pageable)
@Query(value="select msg from MessageEventPlaceholder msg where msg.correspondingRemoteMessageURI = :uri") MessageEventPlaceholder findOneByCorrespondingRemoteMessageURI(@Param(value="uri") java.net.URI uri)
@Query(value="select max(msg.creationDate) from MessageEventPlaceholder msg where msg.creationDate <= :referenceDate and parentURI = :parent")
java.util.Date findMaxActivityDateOfParentAtTime(@Param(value="parent")
java.net.URI parentURI,
@Param(value="referenceDate")
java.util.Date referenceDate)
@Query(value="select max(msg.creationDate) from MessageEventPlaceholder msg where msg.creationDate <= :referenceDate and parentURI = :parent and msg.messageType = :messageType")
java.util.Date findMaxActivityDateOfParentAtTime(@Param(value="parent")
java.net.URI parentURI,
@Param(value="messageType")
WonMessageType messageType,
@Param(value="referenceDate")
java.util.Date referenceDate)
@Query(value="select case when (count(otherMsg) > 0) then true else false end from MessageEventPlaceholder msg, MessageEventPlaceholder otherMsg join Connection otherCon on (otherMsg.parentURI = otherCon.connectionURI) where msg.messageURI = :messageUri and otherMsg.messageURI <> msg.messageURI and otherCon.needURI = msg.receiverNeedURI and otherMsg.receiverNeedURI = msg.receiverNeedURI and otherMsg.innermostMessageURI = msg.innermostMessageURI and ( msg.creationDate > otherMsg.creationDate or ( msg.creationDate = otherMsg.creationDate and msg.id > otherMsg.id ))")
boolean existEarlierMessageWithSameInnermostMessageURIAndReceiverNeedURI(@Param(value="messageUri")
java.net.URI messageUri)
messageUri - @Query(value="select case when (count(otherMsg) > 0) then true else false end from MessageEventPlaceholder msg, MessageEventPlaceholder otherMsg join Connection otherCon on (otherMsg.parentURI = otherCon.connectionURI) where msg.messageURI = :messageUri and otherMsg.senderNeedURI = :senderNeedUri and otherMsg.messageURI <> msg.messageURI and otherCon.needURI = msg.receiverNeedURI and otherMsg.receiverNeedURI = msg.receiverNeedURI and otherMsg.innermostMessageURI = msg.innermostMessageURI")
boolean isReceivedSameInnermostMessageFromSender(@Param(value="messageUri")
java.net.URI messageUri,
@Param(value="senderNeedUri")
java.net.URI senderNeedURI)
messageUri - Copyright © 2018. All Rights Reserved.