You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by ie...@apache.org on 2020/07/30 16:22:42 UTC
[james-project] branch JAMES-3260-gradle-poc updated (c40c389 ->
3017d55)
This is an automated email from the ASF dual-hosted git repository.
ieugen pushed a change to branch JAMES-3260-gradle-poc
in repository https://gitbox.apache.org/repos/asf/james-project.git.
from c40c389 JAMES-3273 #comment Fixed publish to maven local - removed duplicates
add bcb75a6 [REFACTORING] Use Optional.stream
add 0b47d96 [REFACTORING] Use Predicate.{not, equals}
add 4eb9d55 JAMES-3295 Add an AtMost matcher
add 3a80f69 JAMES-3295 remoteDeliveryShouldStoreTemporaryFailureAsPermanentWhenExceedsMaximumRetries
add 45e9324 JAMES-3295 Matcher for permanent error SMTP code
add 29cd7d4 JAMES-3295 Matcher for permanent delivery error
add d8c498c JAMES-3295 Permanent delivery error matcher implementation/test
add eb7510b JAMES-3302 Documentation skeleton for the distributed James server
add 5331338 Fix anchor links
add 3c78672 JAMES-3295 handle configuration AtMostMatcher with differents config
add c312298 JAMES-3295 Matcher for temporary delivery failure
add 9711f90 JAMES-3295 Temporary delivery error matcher implementation/test
add 5ef6acc JAMES-3295 add a test remoteDeliveryErrorHandlingShouldIgnoreMailsNotTransitingByRemoteDelivery in RemoteDeliveryErrorHandlingTest
add e461a3a JAMES-3295 proof for the test remoteDeliveryErrorHandlingShouldIgnoreMailsNotTransitingByRemoteDelivery
add 9ecfcaa [JAMES-3301] Removed antlib references, fixed formatting issue in markdown
add 85ab0e3 JAMES-3295 Use MessageManager::listMessagesMetadata more widely
add c74f883 JAMES-3305 Dont crash EventBus processing upon invalid messages
add f0f598a JAMES-3305 Helper for RabbitMQ DeadLetter queue option
add 1de4fa5 JAMES-3305 Invalid EventBus messages needs to be stored in dead letter queue
add 9996553 JAMES-3305 Key registration should not crash on invalid messages
add cbf9001 [Refactor] Remove unused misleading wrong configuration files
add 88ba426 JAMES-3266 Offer an option to disable ElasticSearch in Distributed James product
add 106bba2 JAMES-3266 Document ElasticSearch opt-in/opt-out
add c4fafaf JAMES-3266 Move disable ElasticSearch option into a separate search.properties configuration file
add e3b61d3 JAMES-3155 Limit the number of flags updated at the same time
add c23267a JAMES-3308: add test in RabbitMQTerminationSubscriberTest for deserialization error handling
add 17f8fc5 JAMES-3296 Add republishing to RabbitMQMailQueue from Cassandra capability
add 7bc6a36 JAMES-3296 Add task to republish RabbitMQ MailQueue from Cassandra
add 85ba240 JAMES-3107 Log slow traces to WARN
add 7ed1980 JAMES-3305 Add FailsDeserializationTask type for testing
add aebfaa9 JAMES-3305 Task manager deserialization error handling
add d3cf49f JAMES-2904 Remove unused MessageResult::hasAttachment
add add3e9a JAMESā2290 Fix unstable test: DiscreteDistributionTest.partitionShouldSupportDuplicatedDistributionEntry
add 06431cd [REFACTORING] Avoid variable reallocation in FetchResponseBuilder
add ba3a096 [REFACTORING] FetchResponseBuilder should use Optional::isEmpty
add 3441547 [REFACTORING] MessageResultUtils never throws
add d4dd474 [REFACTORING] Remove unused methods in MessageResultUtils
add b531212 [REFACTORING] Remove unused FetchResponse.Address empty array
add 823ed4e [REFACTORING] Avoid variable reallocation in EnvelopeBuilder
add a2ba8b1 [REFACTORING] Avoid variable reallocation in PartialFetchBodyElement
add 3f1f171 [REFACTORING] IMAP FETCH javaDoc fixes
add 0779dea [REFACTORING] MimeBodyElement should use StandardCharset
add 83b4d2b [REFACTORING] Rearrange IMAP FETCH fields
add a78237b [REFACTORING] Remove uneeded else blocks in IMAP FETCH code
add f6eed48 JAMES-3302 Migrate Run section for Distributed server
add 96c4f1d JAMES-3302 Migrate Run with docker section for Distributed server
add 7918cec JAMES-3302 Migrate CLI section for Distributed Server
add 627a3de JAMES-3302 Adapt CLI documentation for the Distributed Server
add 4669739 JAMES-3302 Migrate WebAdmin documentation to Antora
add 1a15f32 JAMES-3302 Refine Distributed server architecture page
add e8937d9 JAMES-3302 Document logging for the Distributed Server
add 7d9bb96 JAMES-3302 Extract architecture from operating guide
add cd105c8 JAMES-3302 Migrate operator guide
add 9d217f1 JAMES-3302 Write more about Architecture for Distributed server
add 4b8e7d7 JAMES-3302 List configuration files for Distributed Server
add 1c9f1d3 JAMES-3302 Fixing dead links for Distributed Server documentation
add 4e099d0 [ADR] Define quality levels
add 0967b65 [RELEASE] git-commit-id-plugin should not fail when no git directory
add f78a914 [Refactoring] Migrate MailboxCopierTest to JUnit5
add e8d9def [Refactoring] Migrate JpaMigratorTest to JUnit5
add 7475d71 [Refactoring] Migrate PDFTextExtractorTest to JUnit5
add 95fd894 [Refactoring] Migrate SpringMailboxTest to JUnit5
add 8cbc671 JAMES-3098 add tests for mailbox/get with properties filtering
add 9b1c388 JAMES-3098 filter properties from response
add a8b7894 JAMES-3098 return error if invalid property requested
add c338d0f [REFACTORING] Remove unused method argument
add 8da802e JAMES-3309 Avoid a NPE in FetchProcessor when SelectedMailbox is unselected
add 396c012 JAMES-2813 Disable unstable test
add d41ccba JAMES-3083 Disable unstable test in RabbitMQEventBusTest
add ab10167 JAMES-3083 Disable unstable test in RabbitMQDeletedMessageVaultIntegrationTest
add 03ecec8 fixup! JAMES-3083 Disable unstable test in RabbitMQDeletedMessageVaultIntegrationTest
add 9cdeb21 JAMES-3008: add test for DistributedTaskManagerTest
add 8a4afcf [CHANGELOG] Document recent work
add 3ae6ff6 JAMES-3177 extract applicable flags update
add d06faa6 JAMES-3177 group applicableflags with update status
add ab05880 JAMES-3177 turn updateApplicableFlags into a static method for tests
add a5e1332 JAMES-3177 port SelectedMailboxImplTest to junit5
add cbd08be JAMES-3177 cover updateApplicableFlags with tests
add bf4ad97 JAMES-3177 refactor to encapsulate applicable flag logic
add db67bdf JAMES-3177 make use of a persistent datastructure to avoid most locking in UidMsnConverter
add eb806e3 JAMES-3177 extraction of method handling events
add 0747959 JAMES-3177 use vavr pattern matching to simplify the event handling code
add cd8e790 JAMES-3177 use latest stable vavr library
add 27d307c JAMES-3177 Enhance SelectedMailboxImpl applicable flags related tests
add dc5ecc7 JAMES-3177 Applicable flags updates needs to be thread safe
add ffab77e JAMES-3313 Write a Deduplicating blobStore
add 82206dc JAMES-3313 Move GC class to a separate class
add 62d934c JAMES-3313 MemoryBlobStore should use DeduplicatingBlobStore
add c18ddb0 JAMES-3313 CassandraBlobStore should use DeDuplicatingBlobStore
add 20812f2 JAMES-3313 Drop support for Hybrid BlobStore
add 01991fd JAMES-3312: Integration test for SessionRoutes
add 134a160 [RELEASE] Upgrade instructions: freeze 3.5.0
add 5edc8af [RELEASE] Changelog: freeze 3.5.0
add af3d8dd [Release] s/3.4.0/3.5.0/ on the website
add e7d8fbd [Release] Beta for Distributed Guice James server
add d094b31 [Release] Post for Apache James 3.5.0 release
add 37b2d0b JAMES-3313 Lazily instanciate BlobStore within mailbox/cassandra tests
add 649b611 JAMES-3314 rename module blob-deduplicating to blob-storage-strategy
add 5e27563 JAMES-3314 implement Passtrough blobstore
add 700116f7 JAMES-3314 Mutualize CassandraBlobStoreContract
add e2c8fc2 JAMES-3314 Avoid double MetricableBlobStore wrapping in MemoryBlobStoreTest
add 7e8e2be JAMES-3314 Extract test enforcing content-based BlobId generation
add ddd3be5 JAMES-3314 Rewrite DeletedMessagesVaultRoutesTest so that it do not hard code BlobId generation logic
add 26268b1 JAMES-3224 Use CassandraConsistenciesConfiguration for default consistency levels
add e104e7c JAMES-3344 Upgrade Bouncy Castle to last version
add 810c97e [Refactoring] Migrate GenericMailetTest to Junit 5
add fcf79b5 [Refactoring] Migrate MailetPipelineLoggingTest to Junit 5
add 6b640ca [Refactoring] Migrate MailetUtilTest to Junit 5
add fe001ce [Refactoring] Migrate MatcherInverterTest to Junit 5
add 8bea2b4 [Refactoring] Migrate StringUtilsTest to Junit 5
add fb3dc2a [Refactoring] Migrate ICalendarParserTest to Junit 5
add 0953a85 [Refactoring] Migrate ICALToHeadersTest to Junit 5
add f2351ec [Refactoring] Migrate ICALAttributeDTOTest to Junit 5
add be74e50 [Refactoring] Migrate DefaultDescriptorsExtractorTest to Junit 5
add 75ad3e2 JAMES-3318 Remove BlobStore::delete from BlobStore contract
add 71187b5 JAMES-3318 BlobStoreDeletedMessageVault should use DumbBlobStore for effective deletion
add f4ff554 JAMES-3318 Deduplication BlobStore::delete should be a noop operation
add aa0e6e7 JAMES-3319 FetchType is no longer relevant to fetch messageDao rows
add f9a8477 JAMES-3319 Actual Message & Attachment deletion for mailbox/cassandra
add ecbd1c3 JAMES-3319 Tests for CassandraMailRepository blob deletion
add 1bcc8f7 JAMES-3319 Decrease the test count for storingAndRemovingMessagesConcurrentlyShouldLeadToConsistentResult
add b5c4607 JAMES-3319 Rewrite a failure test to leverage Cassandra instrumentation
add 87a0d25 JAMES-3319 Tests for CassandraMailRepository blob deletion
add 948f29a JAMES-3319 Rely on Cassandra instrumentation for CassandraMailRepository failure tests
add ff850ea JAMES-3319 Simplify CassandraMailRepository constructors
add 74311ad JAMES-3319 Actual blob deletion for CassandraMailRepository
add 110947c JAMES-3319 MimeMessageStore should support deletion
add d27ac6a JAMES-3310 Make DeletedMessageVaultHook failure sensitive
add 2de38df JAMES-3157 Fix support for bench profiles
add 62b20ec JAMES-2892 Request level error handling
add 6867c94 JAMES-2892 use the same default capabilities everywhere
add e1ae434 JAMES-3093 Port UserProvisioner from draft to jmap-rfc-8621
add 98f9f18 JAMES-3093 Port MailboxProvisioner from draft to jmap-rfc-8621
add d2c314e JAMES-3093 User and mailboxes provisioning for JMAP-RFC-8621
add 029fc19 JAMES-3093 Refactoring MailboxGetMethodContract with mailboxes provisioning
add 986002b JAMES-3317 add deduplication propertie for blobstore in configuration
add d6ac26f JAMES-3317 use Storage strategy from BlobStoreConfiguration when instantiating the blobstore
add 03addb0 JAMES-3348 Add missing Sieve persistent class declarations
add ab1a174 [REFACTORING] Default methods for GuiceModuleTestRule
add 039bdea [REFACTORING] Cleanup Text extractor overrides
add 89fb5f4 [REFACTORING] Override cleanup for RabbitMQAwsS3Stepdefs
add d69b48f JAMES-3319 Effective blob deletion for RabbitMQMailQueue
add 9356dac JAMES-3319 Add a test ensuring deduplication blobStore do not accidentaly delete similar blobs
add 2676b9c JAMES-3319 Mitigate CassandraMailQueueView deletion concurrency
add 67b3a65 JAMES-3099 copy core and mail new JMAP specs into our source code
add 05d9267 JAMES-3099 Add a subsection in config.jmap about JMAP versions in James
add c9ccd9f JAMES-3099 Annotate JMAP RFC-8621 mail specifications
add c297b6e JAMES-3099 Annotate JMAP RFC-8620 core specifications
add 30a99e3 JAMES-3099 Add a little explanation in the README about annotations
new 3017d55 Merge branch 'master' into JAMES-3260-gradle-poc
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
CHANGELOG.md | 76 +-
JenkinsfileStressTests.groovy | 4 +-
README.adoc | 8 +-
.../cassandra/init/CassandraTableManager.java | 5 +-
.../backends/cassandra/init/ClusterFactory.java | 11 +-
.../cassandra/init/ResilientClusterProvider.java | 9 +-
.../CassandraConsistenciesConfiguration.java | 2 +
.../james/backends/cassandra/CassandraCluster.java | 3 +-
.../james/backends/cassandra/DockerCassandra.java | 20 +-
.../cassandra/init/ClusterFactoryTest.java | 7 +-
.../init/ResilientClusterProviderTest.java | 8 +-
.../SessionWithInitializedTablesFactoryTest.java | 3 +-
.../apache/james/backends/rabbitmq/Constants.java | 4 +
.../java/org/apache/james/core/MaybeSender.java | 3 +-
.../destination/conf/blob.properties | 9 +-
.../destination/conf/blob.properties | 16 +-
.../destination/conf/blob.properties | 18 +-
.../cassandra/destination/conf/blob.properties | 9 +-
dockerfiles/site/website/compile.sh | 4 +-
docs/modules/servers/nav.adoc | 15 +
docs/modules/servers/pages/distributed.adoc | 18 +-
.../servers/pages/distributed/architecture.adoc | 244 ++
.../servers/pages/distributed/configure/index.adoc | 27 +
.../servers/pages/distributed/extend/index.adoc | 18 +
.../pages/distributed/extend/mail-processing.adoc | 3 +
.../distributed/extend/mailbox-listeners.adoc | 3 +
.../pages/distributed/extend/smtp-hooks.adoc | 3 +
.../pages/distributed/extend/webadmin-routes.adoc | 3 +
.../servers/pages/distributed/operate/cli.adoc | 334 ++
.../servers/pages/distributed/operate/guide.adoc | 603 +++
.../servers/pages/distributed/operate/index.adoc | 22 +
.../servers/pages/distributed/operate/logging.adoc | 108 +
.../servers/pages/distributed/operate/metrics.adoc | 11 +
.../pages/distributed/operate/webadmin.adoc | 4047 ++++++++++++++++++++
.../servers/pages/distributed/run-docker.adoc | 120 +
docs/modules/servers/pages/distributed/run.adoc | 114 +
.../org/apache/james/mailbox/model/MailboxACL.java | 3 +-
.../apache/james/mailbox/model/MailboxPath.java | 3 +-
.../mailbox/model/MessageAttachmentMetadata.java | 3 +-
.../apache/james/mailbox/model/MessageResult.java | 5 -
.../james/mailbox/quota/MaxQuotaManager.java | 6 +-
.../apache/james/mailbox/MailboxManagerTest.java | 31 -
.../CassandraMailboxSessionMapperFactory.java | 2 +-
.../mailbox/cassandra/DeleteMessageListener.java | 23 +-
.../cassandra/mail/CassandraMessageDAO.java | 79 +-
.../cassandra/mail/MessageRepresentation.java | 18 +-
.../task/SolveMessageInconsistenciesService.java | 3 +-
.../quota/CassandraCurrentQuotaManager.java | 4 +-
.../cassandra/table/CassandraMessageV2Table.java | 7 -
.../cassandra/CassandraMailboxManagerTest.java | 24 +
.../mail/CassandraAnnotationMapperTest.java | 6 +-
.../CassandraMailboxMapperConcurrencyTest.java | 2 +
.../mail/CassandraMailboxMapperGenericTest.java | 2 +
.../cassandra/mail/CassandraMessageDAOTest.java | 6 +-
.../cassandra/mail/CassandraMessageMapperTest.java | 3 +-
.../mailbox/cassandra/mail/utils/GuiceUtils.java | 22 +-
.../quota/CassandraPerUserMaxQuotaManagerTest.java | 6 +-
.../ElasticSearchListeningMessageSearchIndex.java | 7 +-
.../elasticsearch/json/IndexableMessage.java | 3 +-
.../james/mailbox/elasticsearch/json/MimePart.java | 7 +-
.../james/mailbox/events/EventDispatcher.java | 28 +-
.../james/mailbox/events/GroupRegistration.java | 31 +-
.../mailbox/events/KeyRegistrationHandler.java | 3 +-
.../james/mailbox/events/RabbitMQEventBus.java | 2 +
.../james/mailbox/events/RabbitMQEventBusTest.java | 107 +-
.../model/openjpa/AbstractJPAMailboxMessage.java | 6 -
.../mailbox/maildir/mail/model/MaildirMessage.java | 5 -
.../maildir/user/MaildirSubscriptionMapper.java | 4 +-
.../inmemory/mail/InMemoryMessageMapper.java | 5 +-
.../quota/InMemoryCurrentQuotaManager.java | 3 +-
.../james/vault/DeletedMessageVaultHook.java | 1 +
.../vault/blob/BlobStoreDeletedMessageVault.java | 7 +-
.../james/vault/DeletedMessageVaultHookTest.java | 9 +-
.../blob/BlobStoreDeletedMessageVaultTest.java | 11 +-
.../mailbox/store/search/PDFTextExtractorTest.java | 20 +-
.../james/mailbox/spring/SpringMailboxTest.java | 16 +-
.../james/mailbox/store/MessageResultImpl.java | 5 -
.../james/mailbox/store/StoreMessageIdManager.java | 3 +-
.../mailbox/store/StoreMessageResultIterator.java | 5 -
.../store/mail/model/DelegatingMailboxMessage.java | 5 -
.../mailbox/store/mail/model/FlagsFactory.java | 3 +-
.../james/mailbox/store/mail/model/Message.java | 2 -
.../store/mail/model/impl/MessageParser.java | 9 +-
.../mail/model/impl/SimpleMailboxMessage.java | 29 +-
.../store/mail/model/impl/SimpleMessage.java | 9 +-
.../store/AbstractMessageIdManagerStorageTest.java | 32 -
.../mailbox/tools/copier/MailboxCopierTest.java | 21 +-
.../tools/indexer/CassandraReIndexerImplTest.java | 2 +-
.../tools/jpa/migrator/JpaMigratorTest.java | 20 +-
.../api/src/main/java/org/apache/mailet/Mail.java | 3 +-
.../org/apache/mailet/base/GenericMailetTest.java | 28 +-
.../mailet/base/MailetPipelineLoggingTest.java | 31 +-
.../org/apache/mailet/base/MailetUtilTest.java | 128 +-
.../apache/mailet/base/MatcherInverterTest.java | 15 +-
.../org/apache/mailet/base/StringUtilsTest.java | 31 +-
.../james/transport/mailets/ICALToHeadersTest.java | 82 +-
.../transport/mailets/ICalendarParserTest.java | 84 +-
.../mailets/model/ICALAttributeDTOTest.java | 95 +-
.../mailet/DefaultDescriptorsExtractorTest.java | 20 +-
.../james/transport/mailets/SetErrorMessage.java | 4 +-
.../apache/james/transport/matchers/AtMost.java | 116 +
.../utils/MailAddressCollectionReader.java | 3 +-
.../james/transport/matchers/AtMostTest.java | 229 ++
.../metrics/dropwizard/DropWizardTimeMetric.java | 2 +-
mpt/all/src/assemble/bin.xml | 7 -
pom.xml | 20 +-
protocols/imap/pom.xml | 4 +
.../imap/decode/parser/CreateCommandParser.java | 4 +-
.../james/imap/message/response/FetchResponse.java | 3 -
.../imap/processor/AbstractMailboxProcessor.java | 15 +-
.../james/imap/processor/SearchProcessor.java | 11 +-
.../james/imap/processor/StoreProcessor.java | 25 +-
.../imap/processor/base/SelectedMailboxImpl.java | 228 +-
.../james/imap/processor/base/UidMsnConverter.java | 83 +-
.../james/imap/processor/fetch/AddressImpl.java | 4 -
.../imap/processor/fetch/ContentBodyElement.java | 2 -
.../imap/processor/fetch/EnvelopeBuilder.java | 129 +-
.../james/imap/processor/fetch/EnvelopeImpl.java | 11 -
.../james/imap/processor/fetch/FetchProcessor.java | 11 +-
.../imap/processor/fetch/FetchResponseBuilder.java | 116 +-
.../imap/processor/fetch/HeaderBodyElement.java | 1 -
.../imap/processor/fetch/HeadersBodyElement.java | 2 -
.../imap/processor/fetch/MessageResultUtils.java | 78 +-
.../imap/processor/fetch/MimeBodyElement.java | 10 +-
.../processor/fetch/MimeDescriptorStructure.java | 25 +-
.../processor/fetch/PartialFetchBodyElement.java | 15 +-
.../processor/base/SelectedMailboxImplTest.java | 180 +-
.../imap/processor/base/UidMsnConverterTest.java | 23 +-
.../fetch/MailboxMessageResultUtilsTest.java | 10 +-
.../src/main/resources/META-INF/persistence.xml | 2 +
.../apache/james/blob/api/BlobStoreContract.java | 35 +-
.../blob/api/DeduplicationBlobStoreContract.java | 82 +
.../james/blob/api/DeleteBlobStoreContract.java | 8 +-
server/blob/blob-cassandra/pom.xml | 4 +
.../james/blob/cassandra/CassandraBlobStore.java | 137 -
.../blob/cassandra/CassandraBlobStoreFactory.java} | 37 +-
.../blob/cassandra/CassandraDumbBlobStore.java | 4 +-
...reTest.java => CassandraBlobStoreContract.java} | 82 +-
.../blob/cassandra/CassandraBlobStoreTest.java | 99 +-
.../CassandraPassTroughBlobStoreTest.java | 75 +
.../blob/cassandra/cache/CachedBlobStoreTest.java | 5 +-
.../main/java/org/apache/james/blob/api/Store.java | 9 +
.../file/LocalFileBlobExportMechanismTest.java | 8 +-
.../{blob-deduplicating => blob-gc}/build.gradle | 0
.../doc/gc-properties.adoc | 0
.../blob/{blob-deduplicating => blob-gc}/pom.xml | 10 +-
.../james/server/blob/deduplication/GC.scala | 0
.../server/blob/deduplication/GCJsonReporter.scala | 0
.../src/test/resources/gcReport.json | 0
.../blob/deduplication/GCJsonReporterTest.scala | 2 -
.../blob/deduplication/GCPropertiesTest.scala | 0
.../james/server/blob/deduplication/State.scala | 0
server/blob/blob-memory/pom.xml | 4 +
.../apache/james/blob/memory/MemoryBlobStore.java | 116 -
.../james/blob/memory/MemoryBlobStoreFactory.java} | 16 +-
...st.java => MemoryBlobStorePassThroughTest.java} | 8 +-
.../james/blob/memory/MemoryBlobStoreTest.java | 9 +-
.../blob/objectstorage/ObjectStorageBlobStore.java | 5 +
.../ObjectStorageBlobStoreAWSCryptoTest.java | 16 +-
.../ObjectStorageBlobStoreAWSNamespaceTest.java | 16 +-
...tStorageBlobStoreAWSPrefixAndNamespaceTest.java | 16 +-
.../ObjectStorageBlobStoreAWSPrefixTest.java | 16 +-
.../ObjectStorageBlobStoreAWSTest.java | 16 +-
.../objectstorage/ObjectStorageBlobStoreTest.java | 3 +-
.../build.gradle | 0
.../{blob-union => blob-storage-strategy}/pom.xml | 45 +-
.../blob/deduplication/BlobStoreFactory.java | 72 +
.../blob/deduplication/StorageStrategy.java} | 16 +-
.../deduplication/DeDuplicationBlobStore.scala | 100 +
.../blob/deduplication/PassThroughBlobStore.scala | 78 +
.../apache/james/blob/union/HybridBlobStore.java | 239 --
.../james/blob/union/HybridBlobStoreTest.java | 537 ---
.../james/blob/mail/MimeMessageStoreTest.java | 38 +-
server/blob/pom.xml | 4 +-
server/container/cli-integration/pom.xml | 6 -
.../org/apache/james/modules/BlobMemoryModule.java | 17 +-
.../ObjectStorageBlobConfiguration.java | 3 +-
.../objectstorage/aws/s3/DockerAwsS3TestRule.java | 4 -
.../objectstorage/swift/DockerSwiftTestRule.java | 4 -
server/container/guice/cassandra-guice/pom.xml | 8 +-
.../james/CassandraJamesServerConfiguration.java} | 36 +-
.../org/apache/james/CassandraJamesServerMain.java | 16 +-
.../java/org/apache/james/SearchConfiguration.java | 82 +
.../java/org/apache/james/SearchModuleChooser.java | 149 +
.../CassandraBlobStoreDependenciesModule.java | 7 +-
.../modules/mailbox/CassandraBlobStoreModule.java | 11 +-
.../AuthenticatedCassandraJamesServerTest.java | 9 +-
.../java/org/apache/james/CacheSessionTest.java | 7 +-
.../org/apache/james/CassandraJamesServerTest.java | 5 +-
.../apache/james/CassandraJmapJamesServerTest.java | 5 +-
.../org/apache/james/CassandraJmapTestRule.java | 4 +-
.../CassandraMailRepositoryIntegrationTest.java | 2 +-
.../CassandraMessageIdManagerInjectionTest.java | 2 +-
.../org/apache/james/CassandraNodeConfTest.java | 2 +-
.../org/apache/james/CassandraWithTikaTest.java | 3 +-
.../james/DefaultCassandraJamesServerTest.java | 5 +-
.../java/org/apache/james/DockerCassandraRule.java | 4 -
.../test/java/org/apache/james/ESReporterTest.java | 2 +-
.../apache/james/JamesCapabilitiesServerTest.java | 2 +-
.../james/JamesServerWithRetryConnectionTest.java | 2 +-
...esWithNonCompatibleElasticSearchServerTest.java | 2 +-
.../org/apache/james/KeyspaceCreationTest.java | 8 +-
.../org/apache/james/SearchConfigurationTest.java | 67 +
.../TestingDistributedJamesServerBuilder.java} | 39 +-
.../apache/james/WithCassandraBlobStoreTest.java | 2 +-
.../CassandraSchemaVersionStartUpCheckTest.java | 9 +-
.../apache/james/CassandraLdapJamesServerMain.java | 8 +-
.../apache/james/CassandraLdapJamesServerTest.java | 2 +-
.../james/CassandraLdapJmapJamesServerTest.java | 2 +-
.../test/java/org/apache/james/DockerLdapRule.java | 4 -
.../src/test/resources/usersrepository.xml | 31 -
.../guice/cassandra-rabbitmq-guice/pom.xml | 14 +-
.../james/CassandraRabbitMQJamesConfiguration.java | 28 +-
.../james/CassandraRabbitMQJamesServerMain.java | 7 +-
.../modules/blobstore/BlobStoreChoosingModule.java | 23 -
.../modules/blobstore/BlobStoreConfiguration.java | 94 +-
.../modules/blobstore/BlobStoreModulesChooser.java | 92 +-
.../james/modules/blobstore/NoopDumbBlobStore.java | 83 +
.../james/CassandraRabbitMQAwsS3JmapTestRule.java | 6 +-
.../james/CassandraRabbitMQJamesServerFixture.java | 6 +-
.../james/CassandraRabbitMQSwiftJmapTestRule.java | 6 +-
.../java/org/apache/james/WithCacheExtension.java | 6 +-
.../org/apache/james/WithCassandraBlobStore.java | 6 +-
...nsion.java => WithScanningSearchExtension.java} | 11 +-
.../org/apache/james/WithScanningSearchTest.java} | 11 +-
.../apache/james/modules/DockerRabbitMQRule.java | 4 -
.../BlobStoreCacheModulesChooserTest.java | 10 +-
.../blobstore/BlobStoreConfigurationTest.java | 96 +-
.../blobstore/BlobStoreModulesChooserTest.java | 78 +-
.../CassandraRabbitMQLdapJamesServerMain.java | 6 +-
.../CassandraRabbitMQLdapJmapJamesServerTest.java | 16 +-
.../src/test/resources/usersrepository.xml | 31 -
.../java/org/apache/james/GuiceModuleTestRule.java | 8 +-
.../org/apache/james/TempFilesystemTestRule.java | 12 -
.../src/main/resources/META-INF/persistence.xml | 2 +
server/container/guice/memory-guice/pom.xml | 6 -
.../org/apache/james/MemoryJamesServerTest.java | 3 -
.../java/org/apache/james/MemoryJmapTestRule.java | 6 -
server/container/guice/pom.xml | 6 +
.../james/modules/protocols/ImapGuiceProbe.java | 16 +-
.../org/apache/james/jmap/draft/JMAPModule.java | 3 +-
.../james/jmap/rfc8621/RFC8621MethodsModule.java | 5 +-
.../webadmin-rabbitmq-mailqueue}/pom.xml | 25 +-
.../server/RabbitMailQueueRoutesModule.java} | 18 +-
.../RabbitMailQueueTaskSerializationModule.java | 53 +
server/container/guice/rabbitmq/pom.xml | 8 +
.../java/org/apache/james/util/OptionalUtils.java | 3 +-
.../java/org/apache/james/util/UnitParser.java | 3 +-
.../james/util/mime/MessageContentExtractor.java | 5 +-
.../CassandraRecipientRewriteTableDAO.java | 4 +-
.../MessageFastViewPrecomputedProperties.java | 3 +-
.../domainlist/lib/DomainListConfiguration.java | 3 +-
.../mailets/RemoteDeliveryErrorHandlingTest.java | 56 +-
.../mailetcontainer/impl/JamesMailetContext.java | 3 +-
.../james/transport/mailets/SpamAssassin.java | 3 +-
.../transport/mailets/jsieve/DiscardAction.java | 4 +-
.../transport/mailets/remote/delivery/Bouncer.java | 2 +
.../mailets/remote/delivery/DeliveryRunnable.java | 11 +-
.../matchers/IsRemoteDeliveryPermanentError.java} | 43 +-
.../matchers/IsRemoteDeliveryTemporaryError.java} | 43 +-
.../matchers/RemoteDeliveryFailedWithSMTPCode.java | 36 +-
.../remote/delivery/DeliveryRunnableTest.java | 7 +
.../IsRemoteDeliveryPermanentErrorTest.java | 102 +
.../IsRemoteDeliveryTemporaryErrorTest.java | 101 +
.../RemoteDeliveryFailedWithSMTPCodeTest.java | 173 +
.../mailrepository/MailRepositoryContract.java | 2 +-
.../cassandra/CassandraMailRepository.java | 35 +-
.../cassandra/CassandraMailRepositoryTest.java | 104 +-
...aMailRepositoryWithFakeImplementationsTest.java | 176 +-
.../jmap/cassandra/CassandraImapErrorTest.java | 5 +-
.../jmap/cassandra/CassandraSendMDNMethodTest.java | 5 +-
.../CassandraSpamAssassinContractTest.java | 5 +-
.../jmap/cassandra/cucumber/CassandraStepdefs.java | 6 +-
.../cucumber/util/ObjectFromStringExtractor.java | 3 +-
.../memory/MemoryGetMessageListMethodTest.java | 5 +-
.../rabbitmq/RabbitMQAwsS3SendMDNMethodTest.java | 7 +-
.../RabbitMQAwsS3SpamAssassinContractTest.java | 7 +-
.../cucumber/awss3/RabbitMQAwsS3Stepdefs.java | 13 +-
.../jmap/draft/methods/MIMEMessageConverter.java | 3 +-
.../methods/SetMailboxesDestructionProcessor.java | 3 +-
.../draft/methods/SetMailboxesUpdateProcessor.java | 4 +-
.../org/apache/james/jmap/draft/model/Emailer.java | 4 +-
.../jmap/draft/model/GetMailboxesRequest.java | 3 +-
.../james/jmap/draft/model/mailbox/Rights.java | 3 +-
.../model/message/view/MessageFullViewFactory.java | 6 +-
.../model/message/view/MessageViewFactory.java | 3 +-
.../jmap/draft/utils/JsoupHtmlTextExtractor.java | 5 +-
.../jmap/event/PropagateLookupRightListener.java | 3 +-
.../jmap/http/DefaultMailboxesProvisionerTest.java | 3 +-
.../distributed/DistributedAuthenticationTest.java | 7 +-
.../distributed/DistributedEchoMethodTest.java | 7 +-
.../DistributedMailboxGetMethodTest.java | 5 +-
...dTest.java => DistributedProvisioningTest.java} | 10 +-
...dTest.java => DistributedSessionRouteTest.java} | 9 +-
.../jmap/rfc8621/contract/EchoMethodContract.scala | 4 +-
.../james/jmap/rfc8621/contract/Fixture.scala | 14 +
.../contract/MailboxGetMethodContract.scala | 560 ++-
.../rfc8621/contract/ProvisioningContract.scala | 83 +
.../rfc8621/contract/SessionRoutesContract.scala} | 132 +-
.../rfc8621/memory/MemoryProvisioningTest.java} | 22 +-
.../rfc8621/memory/MemorySessionRouteTest.java} | 22 +-
server/protocols/jmap-rfc-8621/doc/README.md | 17 +
.../protocols/jmap-rfc-8621/doc/specs/LICENSE.md | 190 +
server/protocols/jmap-rfc-8621/doc/specs/README.md | 28 +
.../jmap-rfc-8621/doc/specs/rfc/src/jmap.mdown | 55 +
.../jmap-rfc-8621/doc/specs/rfc/src/mail.mdown | 59 +
.../jmap-rfc-8621/doc/specs/spec/jmap/api.mdown | 1161 ++++++
.../jmap-rfc-8621/doc/specs/spec/jmap/binary.mdown | 97 +
.../doc/specs/spec/jmap/ianaconsiderations.mdown | 189 +
.../jmap-rfc-8621/doc/specs/spec/jmap/intro.mdown | 133 +
.../jmap-rfc-8621/doc/specs/spec/jmap/push.mdown | 250 ++
.../specs/spec/jmap/securityconsiderations.mdown | 80 +
.../doc/specs/spec/jmap/session.mdown | 213 ++
.../doc/specs/spec/mail/ianaconsiderations.mdown | 421 ++
.../doc/specs/spec/mail/identity.mdown | 89 +
.../jmap-rfc-8621/doc/specs/spec/mail/intro.mdown | 154 +
.../doc/specs/spec/mail/mailbox.mdown | 310 ++
.../doc/specs/spec/mail/message.mdown | 1319 +++++++
.../doc/specs/spec/mail/messagesubmission.mdown | 304 ++
.../doc/specs/spec/mail/searchsnippet.mdown | 98 +
.../specs/spec/mail/securityconsiderations.mdown | 96 +
.../jmap-rfc-8621/doc/specs/spec/mail/thread.mdown | 60 +
.../doc/specs/spec/mail/vacationresponse.mdown | 38 +
.../james/jmap/http/MailboxesProvisioner.scala | 81 +
.../org/apache/james/jmap/http/SessionRoutes.scala | 5 +-
.../apache/james/jmap/http/UserProvisioning.scala | 64 +
.../org/apache/james/jmap/json/Serializer.scala | 35 +-
.../scala/org/apache/james/jmap/mail/Mailbox.scala | 25 +-
.../org/apache/james/jmap/mail/MailboxGet.scala | 5 +-
.../james/jmap/method/MailboxGetMethod.scala | 34 +-
.../org/apache/james/jmap/model/Capabilities.scala | 13 +-
.../org/apache/james/jmap/model/Capability.scala | 16 +-
.../org/apache/james/jmap/model/Invocation.scala | 20 +
.../apache/james/jmap/model/ProblemDetails.scala} | 29 +-
.../james/jmap/model/RequestLevelErrorType.scala} | 29 +-
.../org/apache/james/jmap/model/StatusCode.scala} | 15 +-
.../apache/james/jmap/routes/JMAPApiRoutes.scala | 81 +-
.../james/jmap/http/MailboxesProvisionerTest.scala | 103 +
.../apache/james/jmap/http/SessionRoutesTest.scala | 12 +-
.../james/jmap/http/UserProvisioningTest.scala | 103 +
.../scala/org/apache/james/jmap/json/Fixture.scala | 63 +-
.../jmap/json/MailboxGetSerializationTest.scala | 4 +-
.../james/jmap/json/MailboxSerializationTest.scala | 3 +-
.../james/jmap/json/SessionSerializationTest.scala | 6 +-
.../james/jmap/routes/JMAPApiRoutesTest.scala | 96 +-
.../rabbitmq/ConsistencyTasksIntegrationTest.java | 7 +-
.../rabbitmq/FixingGhostMailboxTest.java | 10 +-
.../rabbitmq/RabbitMQAuthorizedEndpointsTest.java | 7 +-
.../RabbitMQEventDeadLettersIntegrationTest.java | 7 +-
...stViewProjectionHealthCheckIntegrationTest.java | 7 +-
.../rabbitmq/RabbitMQForwardIntegrationTest.java | 7 +-
.../rabbitmq/RabbitMQJmapExtension.java | 7 +-
.../rabbitmq/RabbitMQJwtFilterIntegrationTest.java | 7 +-
...RabbitMQReindexingWithEventDeadLettersTest.java | 7 +-
.../RabbitMQWebAdminServerIntegrationTest.java | 7 +-
...dminServerTaskSerializationIntegrationTest.java | 30 +-
...RabbitMQDeletedMessageVaultIntegrationTest.java | 20 +-
...LinshareBlobExportMechanismIntegrationTest.java | 10 +-
.../webadmin-integration-test-common/pom.xml | 10 -
.../vault/DeletedMessageVaultIntegrationTest.java | 2 +-
server/protocols/webadmin/pom.xml | 1 +
.../apache/james/webadmin/routes/TasksRoutes.java | 3 +-
.../jmap/MessageFastViewProjectionCorrector.java | 7 +-
.../routes/DeletedMessagesVaultRoutesTest.java | 33 +-
.../james/webadmin/service/ExportServiceTest.java | 5 -
.../webadmin/service/ExportServiceTestSystem.java | 8 +-
.../protocols/webadmin/webadmin-mailqueue/pom.xml | 2 +-
.../james/webadmin/dto/MailQueueItemDTOTest.java | 3 +-
.../service/MailRepositoryStoreService.java | 7 +-
.../pom.xml | 18 +-
.../webadmin/routes/RabbitMQMailQueuesRoutes.java | 174 +
...ProcessedMailsTaskAdditionalInformationDTO.java | 90 +
.../service/RepublishNotProcessedMailsTaskDTO.java | 85 +
.../service/RepublishNotprocessedMailsTask.java | 107 +
.../routes/RabbitMQMailQueuesRoutesTest.java | 144 +
.../RepublishNotprocessedMailsTaskTest.java | 108 +
.../james/queue/api/ManageableMailQueue.java | 18 +-
.../james/queue/file/FileCacheableMailQueue.java | 2 +-
.../james/queue/jms/JMSCacheableMailQueue.java | 2 +-
.../james/queue/memory/MemoryMailQueueFactory.java | 4 +-
.../org/apache/james/queue/rabbitmq/Dequeuer.java | 8 +-
.../org/apache/james/queue/rabbitmq/Enqueuer.java | 8 +
.../apache/james/queue/rabbitmq/MailLoader.java | 5 +-
.../james/queue/rabbitmq/MailWithEnqueueId.java | 9 +-
.../james/queue/rabbitmq/RabbitMQMailQueue.java | 17 +-
.../queue/rabbitmq/RabbitMQMailQueueFactory.java | 4 +-
.../queue/rabbitmq/view/api/DeleteCondition.java | 13 +-
.../queue/rabbitmq/view/api/MailQueueView.java | 9 +-
.../view/cassandra/CassandraMailQueueBrowser.java | 64 +-
.../view/cassandra/CassandraMailQueueView.java | 49 +-
.../RabbitMQMailQueueConfigurationChangeTest.java | 8 +-
.../queue/rabbitmq/RabbitMQMailQueueTest.java | 335 +-
.../rabbitmq/RabbitMqMailQueueFactoryTest.java | 3 +-
.../rabbitmq/view/api/DeleteConditionTest.java | 6 +-
.../CassandraMailQueueViewTestFactory.java | 4 +-
.../james/task/FailsDeserializationTask.java} | 26 +-
.../distributed/RabbitMQTerminationSubscriber.java | 6 +-
.../distributed/RabbitMQWorkQueue.java | 19 +-
.../distributed/DistributedTaskManagerTest.java | 197 +-
.../RabbitMQTerminationSubscriberTest.java | 54 +-
.../distributed/RabbitMQWorkQueueTest.java | 5 +-
.../json/dto/FailsDeserializationTaskDTO.java} | 19 +-
.../server/task/json/dto/TestTaskDTOModules.java | 9 +
.../MemoryTerminationSubscriberTest.java | 10 +
.../apache/james/utils/DiscreteDistribution.java | 3 +-
.../james/utils/DiscreteDistributionTest.java | 10 +-
src/adr/0040-quality-levels-definitions.md | 62 +
.../_posts/2020-07-16-james-3.5.0.markdown | 107 +
src/homepage/howTo/mail-processing.html | 6 +-
src/homepage/index.html | 14 +-
src/site/markdown/server/manage-webadmin.md | 37 +-
src/site/site.xml | 1 -
src/site/xdoc/download.xml | 94 +-
src/site/xdoc/server/config-blobstore.xml | 18 +-
src/site/xdoc/server/config-elasticsearch.xml | 10 +
src/site/xdoc/server/config-jmap.xml | 23 +-
src/site/xdoc/server/features.xml | 4 +-
src/site/xdoc/server/index.xml | 8 +-
.../linshare/LinshareBlobExportMechanismTest.java | 11 +-
upgrade-instructions.md | 64 +-
420 files changed, 18313 insertions(+), 3931 deletions(-)
create mode 100644 docs/modules/servers/pages/distributed/architecture.adoc
create mode 100644 docs/modules/servers/pages/distributed/configure/index.adoc
create mode 100644 docs/modules/servers/pages/distributed/extend/index.adoc
create mode 100644 docs/modules/servers/pages/distributed/extend/mail-processing.adoc
create mode 100644 docs/modules/servers/pages/distributed/extend/mailbox-listeners.adoc
create mode 100644 docs/modules/servers/pages/distributed/extend/smtp-hooks.adoc
create mode 100644 docs/modules/servers/pages/distributed/extend/webadmin-routes.adoc
create mode 100644 docs/modules/servers/pages/distributed/operate/cli.adoc
create mode 100644 docs/modules/servers/pages/distributed/operate/guide.adoc
create mode 100644 docs/modules/servers/pages/distributed/operate/index.adoc
create mode 100644 docs/modules/servers/pages/distributed/operate/logging.adoc
create mode 100644 docs/modules/servers/pages/distributed/operate/metrics.adoc
create mode 100644 docs/modules/servers/pages/distributed/operate/webadmin.adoc
create mode 100644 docs/modules/servers/pages/distributed/run-docker.adoc
create mode 100644 docs/modules/servers/pages/distributed/run.adoc
create mode 100644 mailet/standard/src/main/java/org/apache/james/transport/matchers/AtMost.java
create mode 100644 mailet/standard/src/test/java/org/apache/james/transport/matchers/AtMostTest.java
create mode 100644 server/blob/blob-api/src/test/java/org/apache/james/blob/api/DeduplicationBlobStoreContract.java
delete mode 100644 server/blob/blob-cassandra/src/main/java/org/apache/james/blob/cassandra/CassandraBlobStore.java
copy server/blob/{blob-memory/src/test/java/org/apache/james/blob/memory/MemoryBlobStoreTest.java => blob-cassandra/src/main/java/org/apache/james/blob/cassandra/CassandraBlobStoreFactory.java} (56%)
copy server/blob/blob-cassandra/src/test/java/org/apache/james/blob/cassandra/{CassandraBlobStoreTest.java => CassandraBlobStoreContract.java} (51%)
create mode 100644 server/blob/blob-cassandra/src/test/java/org/apache/james/blob/cassandra/CassandraPassTroughBlobStoreTest.java
rename server/blob/{blob-deduplicating => blob-gc}/build.gradle (100%)
rename server/blob/{blob-deduplicating => blob-gc}/doc/gc-properties.adoc (100%)
rename server/blob/{blob-deduplicating => blob-gc}/pom.xml (92%)
rename server/blob/{blob-deduplicating => blob-gc}/src/main/scala/org/apache/james/server/blob/deduplication/GC.scala (100%)
rename server/blob/{blob-deduplicating => blob-gc}/src/main/scala/org/apache/james/server/blob/deduplication/GCJsonReporter.scala (100%)
rename server/blob/{blob-deduplicating => blob-gc}/src/test/resources/gcReport.json (100%)
rename server/blob/{blob-deduplicating => blob-gc}/src/test/scala/org/apache/james/server/blob/deduplication/GCJsonReporterTest.scala (99%)
rename server/blob/{blob-deduplicating => blob-gc}/src/test/scala/org/apache/james/server/blob/deduplication/GCPropertiesTest.scala (100%)
rename server/blob/{blob-deduplicating => blob-gc}/src/test/scala/org/apache/james/server/blob/deduplication/State.scala (100%)
delete mode 100644 server/blob/blob-memory/src/main/java/org/apache/james/blob/memory/MemoryBlobStore.java
copy server/{container/guice/guice-common/src/test/java/org/apache/james/GuiceModuleTestRule.java => blob/blob-memory/src/main/java/org/apache/james/blob/memory/MemoryBlobStoreFactory.java} (79%)
copy server/blob/blob-memory/src/test/java/org/apache/james/blob/memory/{MemoryBlobStoreTest.java => MemoryBlobStorePassThroughTest.java} (84%)
rename server/blob/{blob-union => blob-storage-strategy}/build.gradle (100%)
rename server/blob/{blob-union => blob-storage-strategy}/pom.xml (64%)
create mode 100644 server/blob/blob-storage-strategy/src/main/java/org/apache/james/server/blob/deduplication/BlobStoreFactory.java
copy server/{container/guice/guice-common/src/test/java/org/apache/james/GuiceModuleTestRule.java => blob/blob-storage-strategy/src/main/java/org/apache/james/server/blob/deduplication/StorageStrategy.java} (85%)
create mode 100644 server/blob/blob-storage-strategy/src/main/scala/org/apache/james/server/blob/deduplication/DeDuplicationBlobStore.scala
create mode 100644 server/blob/blob-storage-strategy/src/main/scala/org/apache/james/server/blob/deduplication/PassThroughBlobStore.scala
delete mode 100644 server/blob/blob-union/src/main/java/org/apache/james/blob/union/HybridBlobStore.java
delete mode 100644 server/blob/blob-union/src/test/java/org/apache/james/blob/union/HybridBlobStoreTest.java
copy server/container/guice/{cassandra-rabbitmq-guice/src/main/java/org/apache/james/CassandraRabbitMQJamesConfiguration.java => cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerConfiguration.java} (74%)
create mode 100644 server/container/guice/cassandra-guice/src/main/java/org/apache/james/SearchConfiguration.java
create mode 100644 server/container/guice/cassandra-guice/src/main/java/org/apache/james/SearchModuleChooser.java
create mode 100644 server/container/guice/cassandra-guice/src/test/java/org/apache/james/SearchConfigurationTest.java
copy server/container/guice/{guice-common/src/test/java/org/apache/james/TempFilesystemTestRule.java => cassandra-guice/src/test/java/org/apache/james/TestingDistributedJamesServerBuilder.java} (58%)
delete mode 100644 server/container/guice/cassandra-ldap-guice/src/test/resources/usersrepository.xml
create mode 100644 server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/blobstore/NoopDumbBlobStore.java
copy server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/{WithCacheExtension.java => WithScanningSearchExtension.java} (89%)
copy server/container/guice/{guice-common/src/test/java/org/apache/james/GuiceModuleTestRule.java => cassandra-rabbitmq-guice/src/test/java/org/apache/james/WithScanningSearchTest.java} (81%)
delete mode 100644 server/container/guice/cassandra-rabbitmq-ldap-guice/src/test/resources/usersrepository.xml
copy server/container/guice/{rabbitmq => protocols/webadmin-rabbitmq-mailqueue}/pom.xml (73%)
copy server/container/guice/{cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraBlobStoreModule.java => protocols/webadmin-rabbitmq-mailqueue/src/main/java/org/apache/james/modules/server/RabbitMailQueueRoutesModule.java} (71%)
create mode 100644 server/container/guice/protocols/webadmin-rabbitmq-mailqueue/src/main/java/org/apache/james/modules/server/RabbitMailQueueTaskSerializationModule.java
copy server/{protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/cucumber/util/ObjectFromStringExtractor.java => mailet/mailets/src/main/java/org/apache/james/transport/matchers/IsRemoteDeliveryPermanentError.java} (56%)
copy server/{protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/cucumber/util/ObjectFromStringExtractor.java => mailet/mailets/src/main/java/org/apache/james/transport/matchers/IsRemoteDeliveryTemporaryError.java} (54%)
copy mailet/standard/src/main/java/org/apache/james/transport/mailets/SetErrorMessage.java => server/mailet/mailets/src/main/java/org/apache/james/transport/matchers/RemoteDeliveryFailedWithSMTPCode.java (55%)
create mode 100644 server/mailet/mailets/src/test/java/org/apache/james/transport/matchers/IsRemoteDeliveryPermanentErrorTest.java
create mode 100644 server/mailet/mailets/src/test/java/org/apache/james/transport/matchers/IsRemoteDeliveryTemporaryErrorTest.java
create mode 100644 server/mailet/mailets/src/test/java/org/apache/james/transport/matchers/RemoteDeliveryFailedWithSMTPCodeTest.java
copy server/protocols/jmap-rfc-8621-integration-tests/distributed-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/distributed/{DistributedEchoMethodTest.java => DistributedProvisioningTest.java} (89%)
copy server/protocols/jmap-rfc-8621-integration-tests/distributed-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/distributed/{DistributedEchoMethodTest.java => DistributedSessionRouteTest.java} (87%)
create mode 100644 server/protocols/jmap-rfc-8621-integration-tests/jmap-rfc-8621-integration-tests-common/src/main/scala/org/apache/james/jmap/rfc8621/contract/ProvisioningContract.scala
copy server/protocols/{jmap-rfc-8621/src/test/scala/org/apache/james/jmap/http/SessionRoutesTest.scala => jmap-rfc-8621-integration-tests/jmap-rfc-8621-integration-tests-common/src/main/scala/org/apache/james/jmap/rfc8621/contract/SessionRoutesContract.scala} (64%)
copy server/{container/guice/cassandra-guice/src/test/java/org/apache/james/CassandraJmapJamesServerTest.java => protocols/jmap-rfc-8621-integration-tests/memory-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/memory/MemoryProvisioningTest.java} (68%)
copy server/{container/guice/cassandra-guice/src/test/java/org/apache/james/CassandraJmapJamesServerTest.java => protocols/jmap-rfc-8621-integration-tests/memory-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/memory/MemorySessionRouteTest.java} (68%)
create mode 100644 server/protocols/jmap-rfc-8621/doc/README.md
create mode 100644 server/protocols/jmap-rfc-8621/doc/specs/LICENSE.md
create mode 100644 server/protocols/jmap-rfc-8621/doc/specs/README.md
create mode 100644 server/protocols/jmap-rfc-8621/doc/specs/rfc/src/jmap.mdown
create mode 100644 server/protocols/jmap-rfc-8621/doc/specs/rfc/src/mail.mdown
create mode 100644 server/protocols/jmap-rfc-8621/doc/specs/spec/jmap/api.mdown
create mode 100644 server/protocols/jmap-rfc-8621/doc/specs/spec/jmap/binary.mdown
create mode 100644 server/protocols/jmap-rfc-8621/doc/specs/spec/jmap/ianaconsiderations.mdown
create mode 100644 server/protocols/jmap-rfc-8621/doc/specs/spec/jmap/intro.mdown
create mode 100644 server/protocols/jmap-rfc-8621/doc/specs/spec/jmap/push.mdown
create mode 100644 server/protocols/jmap-rfc-8621/doc/specs/spec/jmap/securityconsiderations.mdown
create mode 100644 server/protocols/jmap-rfc-8621/doc/specs/spec/jmap/session.mdown
create mode 100644 server/protocols/jmap-rfc-8621/doc/specs/spec/mail/ianaconsiderations.mdown
create mode 100644 server/protocols/jmap-rfc-8621/doc/specs/spec/mail/identity.mdown
create mode 100644 server/protocols/jmap-rfc-8621/doc/specs/spec/mail/intro.mdown
create mode 100644 server/protocols/jmap-rfc-8621/doc/specs/spec/mail/mailbox.mdown
create mode 100644 server/protocols/jmap-rfc-8621/doc/specs/spec/mail/message.mdown
create mode 100644 server/protocols/jmap-rfc-8621/doc/specs/spec/mail/messagesubmission.mdown
create mode 100644 server/protocols/jmap-rfc-8621/doc/specs/spec/mail/searchsnippet.mdown
create mode 100644 server/protocols/jmap-rfc-8621/doc/specs/spec/mail/securityconsiderations.mdown
create mode 100644 server/protocols/jmap-rfc-8621/doc/specs/spec/mail/thread.mdown
create mode 100644 server/protocols/jmap-rfc-8621/doc/specs/spec/mail/vacationresponse.mdown
create mode 100644 server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/http/MailboxesProvisioner.scala
create mode 100644 server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/http/UserProvisioning.scala
copy server/{queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/MailWithEnqueueId.java => protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/model/ProblemDetails.scala} (73%)
copy server/{queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/MailWithEnqueueId.java => protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/model/RequestLevelErrorType.scala} (68%)
copy server/{container/guice/guice-common/src/test/java/org/apache/james/GuiceModuleTestRule.java => protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/model/StatusCode.scala} (85%)
create mode 100644 server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/http/MailboxesProvisionerTest.scala
create mode 100644 server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/http/UserProvisioningTest.scala
copy server/protocols/webadmin/{webadmin-mailqueue => webadmin-rabbitmq}/pom.xml (88%)
create mode 100644 server/protocols/webadmin/webadmin-rabbitmq/src/main/java/org/apache/james/webadmin/routes/RabbitMQMailQueuesRoutes.java
create mode 100644 server/protocols/webadmin/webadmin-rabbitmq/src/main/java/org/apache/james/webadmin/service/RepublishNotProcessedMailsTaskAdditionalInformationDTO.java
create mode 100644 server/protocols/webadmin/webadmin-rabbitmq/src/main/java/org/apache/james/webadmin/service/RepublishNotProcessedMailsTaskDTO.java
create mode 100644 server/protocols/webadmin/webadmin-rabbitmq/src/main/java/org/apache/james/webadmin/service/RepublishNotprocessedMailsTask.java
create mode 100644 server/protocols/webadmin/webadmin-rabbitmq/src/test/java/org/apache/james/webadmin/routes/RabbitMQMailQueuesRoutesTest.java
create mode 100644 server/protocols/webadmin/webadmin-rabbitmq/src/test/java/org/apache/james/webadmin/service/RepublishNotprocessedMailsTaskTest.java
copy server/{queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/MailWithEnqueueId.java => task/task-api/src/test/java/org/apache/james/task/FailsDeserializationTask.java} (72%)
copy server/{container/guice/guice-common/src/test/java/org/apache/james/GuiceModuleTestRule.java => task/task-json/src/test/java/org/apache/james/server/task/json/dto/FailsDeserializationTaskDTO.java} (76%)
create mode 100644 src/adr/0040-quality-levels-definitions.md
create mode 100644 src/homepage/_posts/2020-07-16-james-3.5.0.markdown
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[james-project] 01/01: Merge branch 'master' into
JAMES-3260-gradle-poc
Posted by ie...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
ieugen pushed a commit to branch JAMES-3260-gradle-poc
in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 3017d55642ec48171e6190aad06a7bfbfd74b400
Merge: c40c389 30a99e3
Author: Eugen Stan <ie...@apache.org>
AuthorDate: Thu Jul 30 19:22:17 2020 +0300
Merge branch 'master' into JAMES-3260-gradle-poc
CHANGELOG.md | 76 +-
JenkinsfileStressTests.groovy | 4 +-
README.adoc | 8 +-
.../cassandra/init/CassandraTableManager.java | 5 +-
.../backends/cassandra/init/ClusterFactory.java | 11 +-
.../cassandra/init/ResilientClusterProvider.java | 9 +-
.../CassandraConsistenciesConfiguration.java | 2 +
.../james/backends/cassandra/CassandraCluster.java | 3 +-
.../james/backends/cassandra/DockerCassandra.java | 20 +-
.../cassandra/init/ClusterFactoryTest.java | 7 +-
.../init/ResilientClusterProviderTest.java | 8 +-
.../SessionWithInitializedTablesFactoryTest.java | 3 +-
.../apache/james/backends/rabbitmq/Constants.java | 4 +
.../java/org/apache/james/core/MaybeSender.java | 3 +-
.../destination/conf/blob.properties | 9 +-
.../destination/conf/blob.properties | 16 +-
.../destination/conf/blob.properties | 18 +-
.../cassandra/destination/conf/blob.properties | 9 +-
dockerfiles/site/website/compile.sh | 4 +-
docs/modules/servers/nav.adoc | 15 +
docs/modules/servers/pages/distributed.adoc | 18 +-
.../servers/pages/distributed/architecture.adoc | 244 ++
.../servers/pages/distributed/configure/index.adoc | 27 +
.../servers/pages/distributed/extend/index.adoc | 18 +
.../pages/distributed/extend/mail-processing.adoc | 3 +
.../distributed/extend/mailbox-listeners.adoc | 3 +
.../pages/distributed/extend/smtp-hooks.adoc | 3 +
.../pages/distributed/extend/webadmin-routes.adoc | 3 +
.../servers/pages/distributed/operate/cli.adoc | 334 ++
.../servers/pages/distributed/operate/guide.adoc | 603 +++
.../servers/pages/distributed/operate/index.adoc | 22 +
.../servers/pages/distributed/operate/logging.adoc | 108 +
.../servers/pages/distributed/operate/metrics.adoc | 11 +
.../pages/distributed/operate/webadmin.adoc | 4047 ++++++++++++++++++++
.../servers/pages/distributed/run-docker.adoc | 120 +
docs/modules/servers/pages/distributed/run.adoc | 114 +
.../org/apache/james/mailbox/model/MailboxACL.java | 3 +-
.../apache/james/mailbox/model/MailboxPath.java | 3 +-
.../mailbox/model/MessageAttachmentMetadata.java | 3 +-
.../apache/james/mailbox/model/MessageResult.java | 5 -
.../james/mailbox/quota/MaxQuotaManager.java | 6 +-
.../apache/james/mailbox/MailboxManagerTest.java | 31 -
.../CassandraMailboxSessionMapperFactory.java | 2 +-
.../mailbox/cassandra/DeleteMessageListener.java | 23 +-
.../cassandra/mail/CassandraMessageDAO.java | 79 +-
.../cassandra/mail/MessageRepresentation.java | 18 +-
.../task/SolveMessageInconsistenciesService.java | 3 +-
.../quota/CassandraCurrentQuotaManager.java | 4 +-
.../cassandra/table/CassandraMessageV2Table.java | 7 -
.../cassandra/CassandraMailboxManagerTest.java | 24 +
.../mail/CassandraAnnotationMapperTest.java | 6 +-
.../CassandraMailboxMapperConcurrencyTest.java | 2 +
.../mail/CassandraMailboxMapperGenericTest.java | 2 +
.../cassandra/mail/CassandraMessageDAOTest.java | 6 +-
.../cassandra/mail/CassandraMessageMapperTest.java | 3 +-
.../mailbox/cassandra/mail/utils/GuiceUtils.java | 22 +-
.../quota/CassandraPerUserMaxQuotaManagerTest.java | 6 +-
.../ElasticSearchListeningMessageSearchIndex.java | 7 +-
.../elasticsearch/json/IndexableMessage.java | 3 +-
.../james/mailbox/elasticsearch/json/MimePart.java | 7 +-
.../james/mailbox/events/EventDispatcher.java | 28 +-
.../james/mailbox/events/GroupRegistration.java | 31 +-
.../mailbox/events/KeyRegistrationHandler.java | 3 +-
.../james/mailbox/events/RabbitMQEventBus.java | 2 +
.../james/mailbox/events/RabbitMQEventBusTest.java | 107 +-
.../model/openjpa/AbstractJPAMailboxMessage.java | 6 -
.../mailbox/maildir/mail/model/MaildirMessage.java | 5 -
.../maildir/user/MaildirSubscriptionMapper.java | 4 +-
.../inmemory/mail/InMemoryMessageMapper.java | 5 +-
.../quota/InMemoryCurrentQuotaManager.java | 3 +-
.../james/vault/DeletedMessageVaultHook.java | 1 +
.../vault/blob/BlobStoreDeletedMessageVault.java | 7 +-
.../james/vault/DeletedMessageVaultHookTest.java | 9 +-
.../blob/BlobStoreDeletedMessageVaultTest.java | 11 +-
.../mailbox/store/search/PDFTextExtractorTest.java | 20 +-
.../james/mailbox/spring/SpringMailboxTest.java | 16 +-
.../james/mailbox/store/MessageResultImpl.java | 5 -
.../james/mailbox/store/StoreMessageIdManager.java | 3 +-
.../mailbox/store/StoreMessageResultIterator.java | 5 -
.../store/mail/model/DelegatingMailboxMessage.java | 5 -
.../mailbox/store/mail/model/FlagsFactory.java | 3 +-
.../james/mailbox/store/mail/model/Message.java | 2 -
.../store/mail/model/impl/MessageParser.java | 9 +-
.../mail/model/impl/SimpleMailboxMessage.java | 29 +-
.../store/mail/model/impl/SimpleMessage.java | 9 +-
.../store/AbstractMessageIdManagerStorageTest.java | 32 -
.../mailbox/tools/copier/MailboxCopierTest.java | 21 +-
.../tools/indexer/CassandraReIndexerImplTest.java | 2 +-
.../tools/jpa/migrator/JpaMigratorTest.java | 20 +-
.../api/src/main/java/org/apache/mailet/Mail.java | 3 +-
.../org/apache/mailet/base/GenericMailetTest.java | 28 +-
.../mailet/base/MailetPipelineLoggingTest.java | 31 +-
.../org/apache/mailet/base/MailetUtilTest.java | 128 +-
.../apache/mailet/base/MatcherInverterTest.java | 15 +-
.../org/apache/mailet/base/StringUtilsTest.java | 31 +-
.../james/transport/mailets/ICALToHeadersTest.java | 82 +-
.../transport/mailets/ICalendarParserTest.java | 84 +-
.../mailets/model/ICALAttributeDTOTest.java | 95 +-
.../mailet/DefaultDescriptorsExtractorTest.java | 20 +-
.../james/transport/mailets/SetErrorMessage.java | 4 +-
.../apache/james/transport/matchers/AtMost.java | 116 +
.../utils/MailAddressCollectionReader.java | 3 +-
.../james/transport/matchers/AtMostTest.java | 229 ++
.../metrics/dropwizard/DropWizardTimeMetric.java | 2 +-
mpt/all/src/assemble/bin.xml | 7 -
pom.xml | 20 +-
protocols/imap/pom.xml | 4 +
.../imap/decode/parser/CreateCommandParser.java | 4 +-
.../james/imap/message/response/FetchResponse.java | 3 -
.../imap/processor/AbstractMailboxProcessor.java | 15 +-
.../james/imap/processor/SearchProcessor.java | 11 +-
.../james/imap/processor/StoreProcessor.java | 25 +-
.../imap/processor/base/SelectedMailboxImpl.java | 228 +-
.../james/imap/processor/base/UidMsnConverter.java | 83 +-
.../james/imap/processor/fetch/AddressImpl.java | 4 -
.../imap/processor/fetch/ContentBodyElement.java | 2 -
.../imap/processor/fetch/EnvelopeBuilder.java | 129 +-
.../james/imap/processor/fetch/EnvelopeImpl.java | 11 -
.../james/imap/processor/fetch/FetchProcessor.java | 11 +-
.../imap/processor/fetch/FetchResponseBuilder.java | 116 +-
.../imap/processor/fetch/HeaderBodyElement.java | 1 -
.../imap/processor/fetch/HeadersBodyElement.java | 2 -
.../imap/processor/fetch/MessageResultUtils.java | 78 +-
.../imap/processor/fetch/MimeBodyElement.java | 10 +-
.../processor/fetch/MimeDescriptorStructure.java | 25 +-
.../processor/fetch/PartialFetchBodyElement.java | 15 +-
.../processor/base/SelectedMailboxImplTest.java | 180 +-
.../imap/processor/base/UidMsnConverterTest.java | 23 +-
.../fetch/MailboxMessageResultUtilsTest.java | 10 +-
.../src/main/resources/META-INF/persistence.xml | 2 +
.../apache/james/blob/api/BlobStoreContract.java | 35 +-
.../blob/api/DeduplicationBlobStoreContract.java | 82 +
.../james/blob/api/DeleteBlobStoreContract.java | 8 +-
server/blob/blob-cassandra/pom.xml | 4 +
.../james/blob/cassandra/CassandraBlobStore.java | 137 -
.../blob/cassandra/CassandraBlobStoreFactory.java} | 37 +-
.../blob/cassandra/CassandraDumbBlobStore.java | 4 +-
...reTest.java => CassandraBlobStoreContract.java} | 82 +-
.../blob/cassandra/CassandraBlobStoreTest.java | 99 +-
.../CassandraPassTroughBlobStoreTest.java | 75 +
.../blob/cassandra/cache/CachedBlobStoreTest.java | 5 +-
.../main/java/org/apache/james/blob/api/Store.java | 9 +
.../file/LocalFileBlobExportMechanismTest.java | 8 +-
.../{blob-deduplicating => blob-gc}/build.gradle | 0
.../doc/gc-properties.adoc | 0
.../blob/{blob-deduplicating => blob-gc}/pom.xml | 10 +-
.../james/server/blob/deduplication/GC.scala | 0
.../server/blob/deduplication/GCJsonReporter.scala | 0
.../src/test/resources/gcReport.json | 0
.../blob/deduplication/GCJsonReporterTest.scala | 2 -
.../blob/deduplication/GCPropertiesTest.scala | 0
.../james/server/blob/deduplication/State.scala | 0
server/blob/blob-memory/pom.xml | 4 +
.../apache/james/blob/memory/MemoryBlobStore.java | 116 -
.../james/blob/memory/MemoryBlobStoreFactory.java} | 16 +-
...st.java => MemoryBlobStorePassThroughTest.java} | 8 +-
.../james/blob/memory/MemoryBlobStoreTest.java | 9 +-
.../blob/objectstorage/ObjectStorageBlobStore.java | 5 +
.../ObjectStorageBlobStoreAWSCryptoTest.java | 16 +-
.../ObjectStorageBlobStoreAWSNamespaceTest.java | 16 +-
...tStorageBlobStoreAWSPrefixAndNamespaceTest.java | 16 +-
.../ObjectStorageBlobStoreAWSPrefixTest.java | 16 +-
.../ObjectStorageBlobStoreAWSTest.java | 16 +-
.../objectstorage/ObjectStorageBlobStoreTest.java | 3 +-
.../build.gradle | 0
.../{blob-union => blob-storage-strategy}/pom.xml | 45 +-
.../blob/deduplication/BlobStoreFactory.java | 72 +
.../blob/deduplication/StorageStrategy.java} | 16 +-
.../deduplication/DeDuplicationBlobStore.scala | 100 +
.../blob/deduplication/PassThroughBlobStore.scala | 78 +
.../apache/james/blob/union/HybridBlobStore.java | 239 --
.../james/blob/union/HybridBlobStoreTest.java | 537 ---
.../james/blob/mail/MimeMessageStoreTest.java | 38 +-
server/blob/pom.xml | 4 +-
server/container/cli-integration/pom.xml | 6 -
.../org/apache/james/modules/BlobMemoryModule.java | 17 +-
.../ObjectStorageBlobConfiguration.java | 3 +-
.../objectstorage/aws/s3/DockerAwsS3TestRule.java | 4 -
.../objectstorage/swift/DockerSwiftTestRule.java | 4 -
server/container/guice/cassandra-guice/pom.xml | 8 +-
.../james/CassandraJamesServerConfiguration.java} | 36 +-
.../org/apache/james/CassandraJamesServerMain.java | 16 +-
.../java/org/apache/james/SearchConfiguration.java | 82 +
.../java/org/apache/james/SearchModuleChooser.java | 149 +
.../CassandraBlobStoreDependenciesModule.java | 7 +-
.../modules/mailbox/CassandraBlobStoreModule.java | 11 +-
.../AuthenticatedCassandraJamesServerTest.java | 9 +-
.../java/org/apache/james/CacheSessionTest.java | 7 +-
.../org/apache/james/CassandraJamesServerTest.java | 5 +-
.../apache/james/CassandraJmapJamesServerTest.java | 5 +-
.../org/apache/james/CassandraJmapTestRule.java | 4 +-
.../CassandraMailRepositoryIntegrationTest.java | 2 +-
.../CassandraMessageIdManagerInjectionTest.java | 2 +-
.../org/apache/james/CassandraNodeConfTest.java | 2 +-
.../org/apache/james/CassandraWithTikaTest.java | 3 +-
.../james/DefaultCassandraJamesServerTest.java | 5 +-
.../java/org/apache/james/DockerCassandraRule.java | 4 -
.../test/java/org/apache/james/ESReporterTest.java | 2 +-
.../apache/james/JamesCapabilitiesServerTest.java | 2 +-
.../james/JamesServerWithRetryConnectionTest.java | 2 +-
...esWithNonCompatibleElasticSearchServerTest.java | 2 +-
.../org/apache/james/KeyspaceCreationTest.java | 8 +-
.../org/apache/james/SearchConfigurationTest.java | 67 +
.../TestingDistributedJamesServerBuilder.java} | 39 +-
.../apache/james/WithCassandraBlobStoreTest.java | 2 +-
.../CassandraSchemaVersionStartUpCheckTest.java | 9 +-
.../apache/james/CassandraLdapJamesServerMain.java | 8 +-
.../apache/james/CassandraLdapJamesServerTest.java | 2 +-
.../james/CassandraLdapJmapJamesServerTest.java | 2 +-
.../test/java/org/apache/james/DockerLdapRule.java | 4 -
.../src/test/resources/usersrepository.xml | 31 -
.../guice/cassandra-rabbitmq-guice/pom.xml | 14 +-
.../james/CassandraRabbitMQJamesConfiguration.java | 28 +-
.../james/CassandraRabbitMQJamesServerMain.java | 7 +-
.../modules/blobstore/BlobStoreChoosingModule.java | 23 -
.../modules/blobstore/BlobStoreConfiguration.java | 94 +-
.../modules/blobstore/BlobStoreModulesChooser.java | 92 +-
.../james/modules/blobstore/NoopDumbBlobStore.java | 83 +
.../james/CassandraRabbitMQAwsS3JmapTestRule.java | 6 +-
.../james/CassandraRabbitMQJamesServerFixture.java | 6 +-
.../james/CassandraRabbitMQSwiftJmapTestRule.java | 6 +-
.../java/org/apache/james/WithCacheExtension.java | 6 +-
.../org/apache/james/WithCassandraBlobStore.java | 6 +-
...nsion.java => WithScanningSearchExtension.java} | 11 +-
.../org/apache/james/WithScanningSearchTest.java} | 11 +-
.../apache/james/modules/DockerRabbitMQRule.java | 4 -
.../BlobStoreCacheModulesChooserTest.java | 10 +-
.../blobstore/BlobStoreConfigurationTest.java | 96 +-
.../blobstore/BlobStoreModulesChooserTest.java | 78 +-
.../CassandraRabbitMQLdapJamesServerMain.java | 6 +-
.../CassandraRabbitMQLdapJmapJamesServerTest.java | 16 +-
.../src/test/resources/usersrepository.xml | 31 -
.../java/org/apache/james/GuiceModuleTestRule.java | 8 +-
.../org/apache/james/TempFilesystemTestRule.java | 12 -
.../src/main/resources/META-INF/persistence.xml | 2 +
server/container/guice/memory-guice/pom.xml | 6 -
.../org/apache/james/MemoryJamesServerTest.java | 3 -
.../java/org/apache/james/MemoryJmapTestRule.java | 6 -
server/container/guice/pom.xml | 6 +
.../james/modules/protocols/ImapGuiceProbe.java | 16 +-
.../org/apache/james/jmap/draft/JMAPModule.java | 3 +-
.../james/jmap/rfc8621/RFC8621MethodsModule.java | 5 +-
.../webadmin-rabbitmq-mailqueue}/pom.xml | 25 +-
.../server/RabbitMailQueueRoutesModule.java} | 18 +-
.../RabbitMailQueueTaskSerializationModule.java | 53 +
server/container/guice/rabbitmq/pom.xml | 8 +
.../java/org/apache/james/util/OptionalUtils.java | 3 +-
.../java/org/apache/james/util/UnitParser.java | 3 +-
.../james/util/mime/MessageContentExtractor.java | 5 +-
.../CassandraRecipientRewriteTableDAO.java | 4 +-
.../MessageFastViewPrecomputedProperties.java | 3 +-
.../domainlist/lib/DomainListConfiguration.java | 3 +-
.../mailets/RemoteDeliveryErrorHandlingTest.java | 56 +-
.../mailetcontainer/impl/JamesMailetContext.java | 3 +-
.../james/transport/mailets/SpamAssassin.java | 3 +-
.../transport/mailets/jsieve/DiscardAction.java | 4 +-
.../transport/mailets/remote/delivery/Bouncer.java | 2 +
.../mailets/remote/delivery/DeliveryRunnable.java | 11 +-
.../matchers/IsRemoteDeliveryPermanentError.java} | 43 +-
.../matchers/IsRemoteDeliveryTemporaryError.java} | 43 +-
.../matchers/RemoteDeliveryFailedWithSMTPCode.java | 36 +-
.../remote/delivery/DeliveryRunnableTest.java | 7 +
.../IsRemoteDeliveryPermanentErrorTest.java | 102 +
.../IsRemoteDeliveryTemporaryErrorTest.java | 101 +
.../RemoteDeliveryFailedWithSMTPCodeTest.java | 173 +
.../mailrepository/MailRepositoryContract.java | 2 +-
.../cassandra/CassandraMailRepository.java | 35 +-
.../cassandra/CassandraMailRepositoryTest.java | 104 +-
...aMailRepositoryWithFakeImplementationsTest.java | 176 +-
.../jmap/cassandra/CassandraImapErrorTest.java | 5 +-
.../jmap/cassandra/CassandraSendMDNMethodTest.java | 5 +-
.../CassandraSpamAssassinContractTest.java | 5 +-
.../jmap/cassandra/cucumber/CassandraStepdefs.java | 6 +-
.../cucumber/util/ObjectFromStringExtractor.java | 3 +-
.../memory/MemoryGetMessageListMethodTest.java | 5 +-
.../rabbitmq/RabbitMQAwsS3SendMDNMethodTest.java | 7 +-
.../RabbitMQAwsS3SpamAssassinContractTest.java | 7 +-
.../cucumber/awss3/RabbitMQAwsS3Stepdefs.java | 13 +-
.../jmap/draft/methods/MIMEMessageConverter.java | 3 +-
.../methods/SetMailboxesDestructionProcessor.java | 3 +-
.../draft/methods/SetMailboxesUpdateProcessor.java | 4 +-
.../org/apache/james/jmap/draft/model/Emailer.java | 4 +-
.../jmap/draft/model/GetMailboxesRequest.java | 3 +-
.../james/jmap/draft/model/mailbox/Rights.java | 3 +-
.../model/message/view/MessageFullViewFactory.java | 6 +-
.../model/message/view/MessageViewFactory.java | 3 +-
.../jmap/draft/utils/JsoupHtmlTextExtractor.java | 5 +-
.../jmap/event/PropagateLookupRightListener.java | 3 +-
.../jmap/http/DefaultMailboxesProvisionerTest.java | 3 +-
.../distributed/DistributedAuthenticationTest.java | 7 +-
.../distributed/DistributedEchoMethodTest.java | 7 +-
.../DistributedMailboxGetMethodTest.java | 5 +-
...dTest.java => DistributedProvisioningTest.java} | 10 +-
...dTest.java => DistributedSessionRouteTest.java} | 9 +-
.../jmap/rfc8621/contract/EchoMethodContract.scala | 4 +-
.../james/jmap/rfc8621/contract/Fixture.scala | 14 +
.../contract/MailboxGetMethodContract.scala | 560 ++-
.../rfc8621/contract/ProvisioningContract.scala | 83 +
.../rfc8621/contract/SessionRoutesContract.scala} | 132 +-
.../rfc8621/memory/MemoryProvisioningTest.java} | 22 +-
.../rfc8621/memory/MemorySessionRouteTest.java} | 22 +-
server/protocols/jmap-rfc-8621/doc/README.md | 17 +
.../protocols/jmap-rfc-8621/doc/specs/LICENSE.md | 190 +
server/protocols/jmap-rfc-8621/doc/specs/README.md | 28 +
.../jmap-rfc-8621/doc/specs/rfc/src/jmap.mdown | 55 +
.../jmap-rfc-8621/doc/specs/rfc/src/mail.mdown | 59 +
.../jmap-rfc-8621/doc/specs/spec/jmap/api.mdown | 1161 ++++++
.../jmap-rfc-8621/doc/specs/spec/jmap/binary.mdown | 97 +
.../doc/specs/spec/jmap/ianaconsiderations.mdown | 189 +
.../jmap-rfc-8621/doc/specs/spec/jmap/intro.mdown | 133 +
.../jmap-rfc-8621/doc/specs/spec/jmap/push.mdown | 250 ++
.../specs/spec/jmap/securityconsiderations.mdown | 80 +
.../doc/specs/spec/jmap/session.mdown | 213 ++
.../doc/specs/spec/mail/ianaconsiderations.mdown | 421 ++
.../doc/specs/spec/mail/identity.mdown | 89 +
.../jmap-rfc-8621/doc/specs/spec/mail/intro.mdown | 154 +
.../doc/specs/spec/mail/mailbox.mdown | 310 ++
.../doc/specs/spec/mail/message.mdown | 1319 +++++++
.../doc/specs/spec/mail/messagesubmission.mdown | 304 ++
.../doc/specs/spec/mail/searchsnippet.mdown | 98 +
.../specs/spec/mail/securityconsiderations.mdown | 96 +
.../jmap-rfc-8621/doc/specs/spec/mail/thread.mdown | 60 +
.../doc/specs/spec/mail/vacationresponse.mdown | 38 +
.../james/jmap/http/MailboxesProvisioner.scala | 81 +
.../org/apache/james/jmap/http/SessionRoutes.scala | 5 +-
.../apache/james/jmap/http/UserProvisioning.scala | 64 +
.../org/apache/james/jmap/json/Serializer.scala | 35 +-
.../scala/org/apache/james/jmap/mail/Mailbox.scala | 25 +-
.../org/apache/james/jmap/mail/MailboxGet.scala | 5 +-
.../james/jmap/method/MailboxGetMethod.scala | 34 +-
.../org/apache/james/jmap/model/Capabilities.scala | 13 +-
.../org/apache/james/jmap/model/Capability.scala | 16 +-
.../org/apache/james/jmap/model/Invocation.scala | 20 +
.../apache/james/jmap/model/ProblemDetails.scala} | 29 +-
.../james/jmap/model/RequestLevelErrorType.scala} | 29 +-
.../org/apache/james/jmap/model/StatusCode.scala} | 15 +-
.../apache/james/jmap/routes/JMAPApiRoutes.scala | 81 +-
.../james/jmap/http/MailboxesProvisionerTest.scala | 103 +
.../apache/james/jmap/http/SessionRoutesTest.scala | 12 +-
.../james/jmap/http/UserProvisioningTest.scala | 103 +
.../scala/org/apache/james/jmap/json/Fixture.scala | 63 +-
.../jmap/json/MailboxGetSerializationTest.scala | 4 +-
.../james/jmap/json/MailboxSerializationTest.scala | 3 +-
.../james/jmap/json/SessionSerializationTest.scala | 6 +-
.../james/jmap/routes/JMAPApiRoutesTest.scala | 96 +-
.../rabbitmq/ConsistencyTasksIntegrationTest.java | 7 +-
.../rabbitmq/FixingGhostMailboxTest.java | 10 +-
.../rabbitmq/RabbitMQAuthorizedEndpointsTest.java | 7 +-
.../RabbitMQEventDeadLettersIntegrationTest.java | 7 +-
...stViewProjectionHealthCheckIntegrationTest.java | 7 +-
.../rabbitmq/RabbitMQForwardIntegrationTest.java | 7 +-
.../rabbitmq/RabbitMQJmapExtension.java | 7 +-
.../rabbitmq/RabbitMQJwtFilterIntegrationTest.java | 7 +-
...RabbitMQReindexingWithEventDeadLettersTest.java | 7 +-
.../RabbitMQWebAdminServerIntegrationTest.java | 7 +-
...dminServerTaskSerializationIntegrationTest.java | 30 +-
...RabbitMQDeletedMessageVaultIntegrationTest.java | 20 +-
...LinshareBlobExportMechanismIntegrationTest.java | 10 +-
.../webadmin-integration-test-common/pom.xml | 10 -
.../vault/DeletedMessageVaultIntegrationTest.java | 2 +-
server/protocols/webadmin/pom.xml | 1 +
.../apache/james/webadmin/routes/TasksRoutes.java | 3 +-
.../jmap/MessageFastViewProjectionCorrector.java | 7 +-
.../routes/DeletedMessagesVaultRoutesTest.java | 33 +-
.../james/webadmin/service/ExportServiceTest.java | 5 -
.../webadmin/service/ExportServiceTestSystem.java | 8 +-
.../protocols/webadmin/webadmin-mailqueue/pom.xml | 2 +-
.../james/webadmin/dto/MailQueueItemDTOTest.java | 3 +-
.../service/MailRepositoryStoreService.java | 7 +-
.../pom.xml | 18 +-
.../webadmin/routes/RabbitMQMailQueuesRoutes.java | 174 +
...ProcessedMailsTaskAdditionalInformationDTO.java | 90 +
.../service/RepublishNotProcessedMailsTaskDTO.java | 85 +
.../service/RepublishNotprocessedMailsTask.java | 107 +
.../routes/RabbitMQMailQueuesRoutesTest.java | 144 +
.../RepublishNotprocessedMailsTaskTest.java | 108 +
.../james/queue/api/ManageableMailQueue.java | 18 +-
.../james/queue/file/FileCacheableMailQueue.java | 2 +-
.../james/queue/jms/JMSCacheableMailQueue.java | 2 +-
.../james/queue/memory/MemoryMailQueueFactory.java | 4 +-
.../org/apache/james/queue/rabbitmq/Dequeuer.java | 8 +-
.../org/apache/james/queue/rabbitmq/Enqueuer.java | 8 +
.../apache/james/queue/rabbitmq/MailLoader.java | 5 +-
.../james/queue/rabbitmq/MailWithEnqueueId.java | 9 +-
.../james/queue/rabbitmq/RabbitMQMailQueue.java | 17 +-
.../queue/rabbitmq/RabbitMQMailQueueFactory.java | 4 +-
.../queue/rabbitmq/view/api/DeleteCondition.java | 13 +-
.../queue/rabbitmq/view/api/MailQueueView.java | 9 +-
.../view/cassandra/CassandraMailQueueBrowser.java | 64 +-
.../view/cassandra/CassandraMailQueueView.java | 49 +-
.../RabbitMQMailQueueConfigurationChangeTest.java | 8 +-
.../queue/rabbitmq/RabbitMQMailQueueTest.java | 335 +-
.../rabbitmq/RabbitMqMailQueueFactoryTest.java | 3 +-
.../rabbitmq/view/api/DeleteConditionTest.java | 6 +-
.../CassandraMailQueueViewTestFactory.java | 4 +-
.../james/task/FailsDeserializationTask.java} | 26 +-
.../distributed/RabbitMQTerminationSubscriber.java | 6 +-
.../distributed/RabbitMQWorkQueue.java | 19 +-
.../distributed/DistributedTaskManagerTest.java | 197 +-
.../RabbitMQTerminationSubscriberTest.java | 54 +-
.../distributed/RabbitMQWorkQueueTest.java | 5 +-
.../json/dto/FailsDeserializationTaskDTO.java} | 19 +-
.../server/task/json/dto/TestTaskDTOModules.java | 9 +
.../MemoryTerminationSubscriberTest.java | 10 +
.../apache/james/utils/DiscreteDistribution.java | 3 +-
.../james/utils/DiscreteDistributionTest.java | 10 +-
src/adr/0040-quality-levels-definitions.md | 62 +
.../_posts/2020-07-16-james-3.5.0.markdown | 107 +
src/homepage/howTo/mail-processing.html | 6 +-
src/homepage/index.html | 14 +-
src/site/markdown/server/manage-webadmin.md | 37 +-
src/site/site.xml | 1 -
src/site/xdoc/download.xml | 94 +-
src/site/xdoc/server/config-blobstore.xml | 18 +-
src/site/xdoc/server/config-elasticsearch.xml | 10 +
src/site/xdoc/server/config-jmap.xml | 23 +-
src/site/xdoc/server/features.xml | 4 +-
src/site/xdoc/server/index.xml | 8 +-
.../linshare/LinshareBlobExportMechanismTest.java | 11 +-
upgrade-instructions.md | 64 +-
420 files changed, 18313 insertions(+), 3931 deletions(-)
diff --cc server/blob/blob-gc/build.gradle
index 51b8536,0000000..51b8536
mode 100644,000000..100644
--- a/server/blob/blob-gc/build.gradle
+++ b/server/blob/blob-gc/build.gradle
diff --cc server/blob/blob-storage-strategy/build.gradle
index a3ddf92,0000000..a3ddf92
mode 100644,000000..100644
--- a/server/blob/blob-storage-strategy/build.gradle
+++ b/server/blob/blob-storage-strategy/build.gradle
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org