You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cs...@apache.org on 2020/07/02 08:39:00 UTC
[sling-org-apache-sling-distribution-journal] branch master
updated: SLING-9259 - Create and export package for bookkeeper. Move shared
(#49)
This is an automated email from the ASF dual-hosted git repository.
cschneider pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-distribution-journal.git
The following commit(s) were added to refs/heads/master by this push:
new 1f6d8b6 SLING-9259 - Create and export package for bookkeeper. Move shared (#49)
1f6d8b6 is described below
commit 1f6d8b68cd2878e95d62632dd06f27de5e7ffd3a
Author: Christian Schneider <ch...@die-schneider.net>
AuthorDate: Thu Jul 2 10:38:52 2020 +0200
SLING-9259 - Create and export package for bookkeeper. Move shared (#49)
package out of impl to avoid cyclic dependency.
---
pom.xml | 11 ++++++
.../subscriber => bookkeeper}/BookKeeper.java | 24 ++++++-------
.../BookKeeperConfig.java | 2 +-
.../BookKeeperFactory.java | 4 +--
.../ContentPackageExtractor.java | 4 +--
.../subscriber => bookkeeper}/ImportedEvent.java | 4 +--
.../subscriber => bookkeeper}/PackageHandler.java | 4 +--
.../subscriber => bookkeeper}/PackageHandling.java | 2 +-
.../package-info.java} | 8 ++---
.../impl/precondition/PackageStatusWatcher.java | 2 +-
.../impl/precondition/StagingPrecondition.java | 2 +-
.../journal/impl/publisher/DiscoveryService.java | 4 +--
.../impl/publisher/DistributionPublisher.java | 15 ++++-----
.../journal/impl/publisher/PackageCleanupTask.java | 2 +-
.../impl/publisher/PackageDistributedNotifier.java | 2 +-
.../journal/impl/publisher/PackageRepo.java | 2 +-
.../journal/impl/queue/impl/PubQueueCache.java | 6 ++--
.../impl/queue/impl/PubQueueCacheService.java | 8 ++---
.../impl/queue/impl/PubQueueProviderImpl.java | 2 +-
.../journal/impl/queue/impl/SubQueue.java | 2 +-
.../journal/impl/subscriber/Announcer.java | 1 +
.../journal/impl/subscriber/CommandPoller.java | 2 +-
.../impl/subscriber/DistributionSubscriber.java | 7 ++--
.../impl/subscriber/SubscriberConfiguration.java | 1 +
.../journal/{impl => }/shared/AgentState.java | 2 +-
.../{impl => }/shared/DefaultDistributionLog.java | 2 +-
.../shared/DistributionMetricsService.java | 2 +-
.../{impl => }/shared/ExponentialBackOff.java | 2 +-
.../journal/{impl => }/shared/JMXRegistration.java | 2 +-
.../{impl => }/shared/JournalAvailableChecker.java | 4 +--
.../shared/JournalAvailableServiceMarker.java | 2 +-
.../journal/{impl => }/shared/LimitPoller.java | 2 +-
.../journal/{impl => }/shared/LocalStore.java | 2 +-
.../journal/{impl => }/shared/PackageRetries.java | 2 +-
.../shared/PublisherConfigurationAvailable.java | 2 +-
.../shared/SimpleDistributionResponse.java | 2 +-
.../journal/{impl => }/shared/Topics.java | 2 +-
.../subscriber => bookkeeper}/BookKeeperTest.java | 4 +--
.../ContentPackageExtractorTest.java | 2 +-
.../precondition/PackageStatusWatcherTest.java | 22 ++++++------
.../impl/precondition/StagingPreconditionTest.java | 4 +--
.../journal/impl/publisher/AgentIdTest.java | 4 +--
.../impl/publisher/DiscoveryServiceTest.java | 4 +--
.../impl/publisher/DistPublisherJMXTest.java | 3 +-
.../publisher/DistributionPackageFactoryTest.java | 4 +--
.../impl/publisher/DistributionPublisherTest.java | 17 +++++-----
.../publisher/PackageDistributedNotifierTest.java | 25 +++++++-------
.../impl/publisher/PackageQueuedNotifierTest.java | 10 +++---
.../journal/impl/publisher/PackageRepoTest.java | 4 +--
.../journal/impl/publisher/StateTest.java | 8 ++---
.../impl/publisher/TopologyViewDiffTest.java | 10 +++---
.../journal/impl/queue/QueueItemFactoryTest.java | 5 ++-
.../journal/impl/queue/impl/EntryUtilTest.java | 4 +--
.../impl/queue/impl/OffsetQueueImplJMXTest.java | 2 +-
.../journal/impl/queue/impl/PubQueueCacheTest.java | 6 ++--
.../impl/queue/impl/PubQueueProviderTest.java | 18 +++++-----
.../impl/queue/impl/QueueCacheSeederTest.java | 24 ++++++-------
.../journal/impl/queue/impl/RangePollerTest.java | 2 +-
.../journal/impl/queue/impl/SubQueueTest.java | 5 ++-
.../journal/impl/subscriber/AnnouncerTest.java | 1 +
.../journal/impl/subscriber/CommandPollerTest.java | 4 +--
.../journal/impl/subscriber/SubscriberTest.java | 39 +++++++++++-----------
.../shared/DistributionMetricsServiceTest.java | 4 +--
.../{impl => }/shared/ExponentialBackoffTest.java | 2 +-
.../shared/JournalAvailableCheckerTest.java | 8 ++---
.../journal/{impl => }/shared/LimitPollerTest.java | 15 ++++-----
.../journal/{impl => }/shared/LocalStoreTest.java | 10 +++---
.../{impl => }/shared/PackageRetriesTest.java | 6 ++--
.../PublisherConfigurationAvailableTest.java | 2 +-
.../shared/SimpleDistributionResponseTest.java | 2 +-
.../journal/{impl => }/shared/TestMessageInfo.java | 2 +-
71 files changed, 221 insertions(+), 210 deletions(-)
diff --git a/pom.xml b/pom.xml
index 78cc146..1be3cbc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -159,6 +159,17 @@
<artifactId>osgi.cmpn</artifactId>
<scope>provided</scope>
</dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.annotation.versioning</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.annotation.bundle</artifactId>
+ <version>1.0.0</version>
+ <scope>provided</scope>
+ </dependency>
<!-- Apache Jackrabbit -->
<dependency>
diff --git a/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/BookKeeper.java b/src/main/java/org/apache/sling/distribution/journal/bookkeeper/BookKeeper.java
similarity index 95%
rename from src/main/java/org/apache/sling/distribution/journal/impl/subscriber/BookKeeper.java
rename to src/main/java/org/apache/sling/distribution/journal/bookkeeper/BookKeeper.java
index af71132..3e3a144 100644
--- a/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/BookKeeper.java
+++ b/src/main/java/org/apache/sling/distribution/journal/bookkeeper/BookKeeper.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.sling.distribution.journal.impl.subscriber;
+package org.apache.sling.distribution.journal.bookkeeper;
import static java.lang.String.format;
import static java.lang.System.currentTimeMillis;
@@ -38,13 +38,13 @@ import org.apache.sling.api.resource.ResourceResolverFactory;
import org.apache.sling.api.resource.ValueMap;
import org.apache.sling.commons.metrics.Timer;
import org.apache.sling.distribution.common.DistributionException;
-import org.apache.sling.distribution.journal.impl.shared.DistributionMetricsService;
-import org.apache.sling.distribution.journal.impl.shared.LocalStore;
-import org.apache.sling.distribution.journal.impl.shared.PackageRetries;
-import org.apache.sling.distribution.journal.impl.shared.DistributionMetricsService.GaugeService;
import org.apache.sling.distribution.journal.messages.PackageMessage;
import org.apache.sling.distribution.journal.messages.PackageStatusMessage;
import org.apache.sling.distribution.journal.messages.PackageStatusMessage.Status;
+import org.apache.sling.distribution.journal.shared.DistributionMetricsService;
+import org.apache.sling.distribution.journal.shared.LocalStore;
+import org.apache.sling.distribution.journal.shared.PackageRetries;
+import org.apache.sling.distribution.journal.shared.DistributionMetricsService.GaugeService;
import org.osgi.service.event.Event;
import org.osgi.service.event.EventAdmin;
import org.slf4j.Logger;
@@ -73,10 +73,10 @@ import org.slf4j.MDC;
* agent on the leader instance.
*/
public class BookKeeper implements Closeable {
- static final String STORE_TYPE_PACKAGE = "packages";
- static final String STORE_TYPE_STATUS = "statuses";
- static final String KEY_OFFSET = "offset";
- static final int COMMIT_AFTER_NUM_SKIPPED = 10;
+ public static final String STORE_TYPE_PACKAGE = "packages";
+ public static final String STORE_TYPE_STATUS = "statuses";
+ public static final String KEY_OFFSET = "offset";
+ public static final int COMMIT_AFTER_NUM_SKIPPED = 10;
private static final String SUBSERVICE_IMPORTER = "importer";
private static final String SUBSERVICE_BOOKKEEPER = "bookkeeper";
private static final int RETRY_SEND_DELAY = 1000;
@@ -329,8 +329,8 @@ public class BookKeeper implements Closeable {
}
}
- static class PackageStatus {
- final Status status;
+ public static class PackageStatus {
+ public final Status status;
final Long offset;
final String pubAgentName;
final Boolean sent;
@@ -342,7 +342,7 @@ public class BookKeeper implements Closeable {
this.sent = false;
}
- PackageStatus(ValueMap statusMap) {
+ public PackageStatus(ValueMap statusMap) {
Integer statusNum = statusMap.get("statusNumber", Integer.class);
this.status = statusNum !=null ? Status.fromNumber(statusNum) : null;
this.offset = statusMap.get(KEY_OFFSET, Long.class);
diff --git a/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/BookKeeperConfig.java b/src/main/java/org/apache/sling/distribution/journal/bookkeeper/BookKeeperConfig.java
similarity index 97%
rename from src/main/java/org/apache/sling/distribution/journal/impl/subscriber/BookKeeperConfig.java
rename to src/main/java/org/apache/sling/distribution/journal/bookkeeper/BookKeeperConfig.java
index d1355cf..abaff72 100644
--- a/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/BookKeeperConfig.java
+++ b/src/main/java/org/apache/sling/distribution/journal/bookkeeper/BookKeeperConfig.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.sling.distribution.journal.impl.subscriber;
+package org.apache.sling.distribution.journal.bookkeeper;
public class BookKeeperConfig {
private final String subAgentName;
diff --git a/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/BookKeeperFactory.java b/src/main/java/org/apache/sling/distribution/journal/bookkeeper/BookKeeperFactory.java
similarity index 93%
rename from src/main/java/org/apache/sling/distribution/journal/impl/subscriber/BookKeeperFactory.java
rename to src/main/java/org/apache/sling/distribution/journal/bookkeeper/BookKeeperFactory.java
index 42ff99e..cd70ec2 100644
--- a/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/BookKeeperFactory.java
+++ b/src/main/java/org/apache/sling/distribution/journal/bookkeeper/BookKeeperFactory.java
@@ -16,14 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.sling.distribution.journal.impl.subscriber;
+package org.apache.sling.distribution.journal.bookkeeper;
import java.util.function.Consumer;
import org.apache.jackrabbit.vault.packaging.Packaging;
import org.apache.sling.api.resource.ResourceResolverFactory;
-import org.apache.sling.distribution.journal.impl.shared.DistributionMetricsService;
import org.apache.sling.distribution.journal.messages.PackageStatusMessage;
+import org.apache.sling.distribution.journal.shared.DistributionMetricsService;
import org.apache.sling.distribution.packaging.DistributionPackageBuilder;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Reference;
diff --git a/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/ContentPackageExtractor.java b/src/main/java/org/apache/sling/distribution/journal/bookkeeper/ContentPackageExtractor.java
similarity index 97%
rename from src/main/java/org/apache/sling/distribution/journal/impl/subscriber/ContentPackageExtractor.java
rename to src/main/java/org/apache/sling/distribution/journal/bookkeeper/ContentPackageExtractor.java
index 998f929..603a329 100644
--- a/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/ContentPackageExtractor.java
+++ b/src/main/java/org/apache/sling/distribution/journal/bookkeeper/ContentPackageExtractor.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.sling.distribution.journal.impl.subscriber;
+package org.apache.sling.distribution.journal.bookkeeper;
import static java.util.Objects.requireNonNull;
@@ -44,7 +44,7 @@ import org.slf4j.LoggerFactory;
* Each distribution package is inspected for possible content packages in /etc/packages.
* Such content packages are installed via the Packaging service.
*/
-public class ContentPackageExtractor {
+class ContentPackageExtractor {
private static final String PACKAGE_BASE_PATH = "/etc/packages/";
private final Logger log = LoggerFactory.getLogger(this.getClass());
diff --git a/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/ImportedEvent.java b/src/main/java/org/apache/sling/distribution/journal/bookkeeper/ImportedEvent.java
similarity index 96%
rename from src/main/java/org/apache/sling/distribution/journal/impl/subscriber/ImportedEvent.java
rename to src/main/java/org/apache/sling/distribution/journal/bookkeeper/ImportedEvent.java
index e0ffaaa..120e0e5 100644
--- a/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/ImportedEvent.java
+++ b/src/main/java/org/apache/sling/distribution/journal/bookkeeper/ImportedEvent.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.sling.distribution.journal.impl.subscriber;
+package org.apache.sling.distribution.journal.bookkeeper;
import static org.apache.sling.distribution.event.DistributionEventProperties.DISTRIBUTION_COMPONENT_KIND;
import static org.apache.sling.distribution.event.DistributionEventProperties.DISTRIBUTION_COMPONENT_NAME;
@@ -33,7 +33,7 @@ import org.apache.sling.distribution.journal.messages.PackageMessage;
import org.osgi.service.event.Event;
@ParametersAreNonnullByDefault
-public class ImportedEvent {
+class ImportedEvent {
public static final String PACKAGE_ID = "distribution.package.id";
private static final String KIND_IMPORTER = "importer";
diff --git a/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/PackageHandler.java b/src/main/java/org/apache/sling/distribution/journal/bookkeeper/PackageHandler.java
similarity index 97%
rename from src/main/java/org/apache/sling/distribution/journal/impl/subscriber/PackageHandler.java
rename to src/main/java/org/apache/sling/distribution/journal/bookkeeper/PackageHandler.java
index c63ef91..8fe5de2 100644
--- a/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/PackageHandler.java
+++ b/src/main/java/org/apache/sling/distribution/journal/bookkeeper/PackageHandler.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.sling.distribution.journal.impl.subscriber;
+package org.apache.sling.distribution.journal.bookkeeper;
import static java.lang.String.format;
@@ -40,7 +40,7 @@ import org.apache.sling.distribution.packaging.DistributionPackageBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-public class PackageHandler {
+class PackageHandler {
private static final Logger LOG = LoggerFactory.getLogger(PackageHandler.class);
private final DistributionPackageBuilder packageBuilder;
diff --git a/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/PackageHandling.java b/src/main/java/org/apache/sling/distribution/journal/bookkeeper/PackageHandling.java
similarity index 93%
copy from src/main/java/org/apache/sling/distribution/journal/impl/subscriber/PackageHandling.java
copy to src/main/java/org/apache/sling/distribution/journal/bookkeeper/PackageHandling.java
index 55dc55e..43b370f 100644
--- a/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/PackageHandling.java
+++ b/src/main/java/org/apache/sling/distribution/journal/bookkeeper/PackageHandling.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.sling.distribution.journal.impl.subscriber;
+package org.apache.sling.distribution.journal.bookkeeper;
public enum PackageHandling {
Off, Extract, Install
diff --git a/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/PackageHandling.java b/src/main/java/org/apache/sling/distribution/journal/bookkeeper/package-info.java
similarity index 84%
rename from src/main/java/org/apache/sling/distribution/journal/impl/subscriber/PackageHandling.java
rename to src/main/java/org/apache/sling/distribution/journal/bookkeeper/package-info.java
index 55dc55e..1fe8d93 100644
--- a/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/PackageHandling.java
+++ b/src/main/java/org/apache/sling/distribution/journal/bookkeeper/package-info.java
@@ -16,8 +16,8 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.sling.distribution.journal.impl.subscriber;
-public enum PackageHandling {
- Off, Extract, Install
-}
+
+@org.osgi.annotation.versioning.Version("1.0.0")
+@org.osgi.annotation.bundle.Export
+package org.apache.sling.distribution.journal.bookkeeper;
diff --git a/src/main/java/org/apache/sling/distribution/journal/impl/precondition/PackageStatusWatcher.java b/src/main/java/org/apache/sling/distribution/journal/impl/precondition/PackageStatusWatcher.java
index d359f44..0d7d25c 100644
--- a/src/main/java/org/apache/sling/distribution/journal/impl/precondition/PackageStatusWatcher.java
+++ b/src/main/java/org/apache/sling/distribution/journal/impl/precondition/PackageStatusWatcher.java
@@ -29,9 +29,9 @@ import java.util.concurrent.ConcurrentHashMap;
import org.apache.sling.distribution.journal.MessageInfo;
import org.apache.sling.distribution.journal.MessagingProvider;
import org.apache.sling.distribution.journal.Reset;
-import org.apache.sling.distribution.journal.impl.shared.Topics;
import org.apache.sling.distribution.journal.messages.PackageStatusMessage;
import org.apache.sling.distribution.journal.messages.PackageStatusMessage.Status;
+import org.apache.sling.distribution.journal.shared.Topics;
public class PackageStatusWatcher implements Closeable {
private final Closeable poller;
diff --git a/src/main/java/org/apache/sling/distribution/journal/impl/precondition/StagingPrecondition.java b/src/main/java/org/apache/sling/distribution/journal/impl/precondition/StagingPrecondition.java
index be27fe2..a1b9c74 100644
--- a/src/main/java/org/apache/sling/distribution/journal/impl/precondition/StagingPrecondition.java
+++ b/src/main/java/org/apache/sling/distribution/journal/impl/precondition/StagingPrecondition.java
@@ -23,8 +23,8 @@ import static org.apache.sling.commons.scheduler.Scheduler.PROPERTY_SCHEDULER_PE
import org.apache.commons.io.IOUtils;
import org.apache.sling.distribution.journal.MessagingProvider;
-import org.apache.sling.distribution.journal.impl.shared.Topics;
import org.apache.sling.distribution.journal.messages.PackageStatusMessage.Status;
+import org.apache.sling.distribution.journal.shared.Topics;
import org.osgi.service.component.annotations.Activate;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Deactivate;
diff --git a/src/main/java/org/apache/sling/distribution/journal/impl/publisher/DiscoveryService.java b/src/main/java/org/apache/sling/distribution/journal/impl/publisher/DiscoveryService.java
index d2c4972..a88770e 100644
--- a/src/main/java/org/apache/sling/distribution/journal/impl/publisher/DiscoveryService.java
+++ b/src/main/java/org/apache/sling/distribution/journal/impl/publisher/DiscoveryService.java
@@ -29,11 +29,11 @@ import java.util.Hashtable;
import javax.annotation.ParametersAreNonnullByDefault;
-import org.apache.sling.distribution.journal.impl.shared.PublisherConfigurationAvailable;
-import org.apache.sling.distribution.journal.impl.shared.Topics;
import org.apache.sling.distribution.journal.messages.DiscoveryMessage;
import org.apache.sling.distribution.journal.messages.SubscriberConfig;
import org.apache.sling.distribution.journal.messages.SubscriberState;
+import org.apache.sling.distribution.journal.shared.PublisherConfigurationAvailable;
+import org.apache.sling.distribution.journal.shared.Topics;
import org.apache.commons.io.IOUtils;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceRegistration;
diff --git a/src/main/java/org/apache/sling/distribution/journal/impl/publisher/DistributionPublisher.java b/src/main/java/org/apache/sling/distribution/journal/impl/publisher/DistributionPublisher.java
index 9e91bf9..6b9e77a 100644
--- a/src/main/java/org/apache/sling/distribution/journal/impl/publisher/DistributionPublisher.java
+++ b/src/main/java/org/apache/sling/distribution/journal/impl/publisher/DistributionPublisher.java
@@ -20,12 +20,12 @@ package org.apache.sling.distribution.journal.impl.publisher;
import static java.util.stream.StreamSupport.stream;
-import static org.apache.sling.distribution.journal.impl.shared.DistributionMetricsService.timed;
import static java.util.Objects.requireNonNull;
import static org.apache.sling.distribution.DistributionRequestState.ACCEPTED;
import static org.apache.sling.distribution.DistributionRequestType.ADD;
import static org.apache.sling.distribution.DistributionRequestType.DELETE;
import static org.apache.sling.distribution.DistributionRequestType.TEST;
+import static org.apache.sling.distribution.journal.shared.DistributionMetricsService.timed;
import java.util.Arrays;
import java.util.Collections;
@@ -47,12 +47,13 @@ import javax.management.NotCompliantMBeanException;
import org.apache.commons.io.IOUtils;
import org.apache.sling.distribution.journal.impl.event.DistributionEvent;
import org.apache.sling.distribution.journal.impl.queue.PubQueueProvider;
-import org.apache.sling.distribution.journal.impl.shared.AgentState;
-import org.apache.sling.distribution.journal.impl.shared.DefaultDistributionLog;
-import org.apache.sling.distribution.journal.impl.shared.DistributionMetricsService;
-import org.apache.sling.distribution.journal.impl.shared.SimpleDistributionResponse;
-import org.apache.sling.distribution.journal.impl.shared.Topics;
import org.apache.sling.distribution.journal.messages.PackageMessage;
+import org.apache.sling.distribution.journal.shared.AgentState;
+import org.apache.sling.distribution.journal.shared.DefaultDistributionLog;
+import org.apache.sling.distribution.journal.shared.DistributionMetricsService;
+import org.apache.sling.distribution.journal.shared.JMXRegistration;
+import org.apache.sling.distribution.journal.shared.SimpleDistributionResponse;
+import org.apache.sling.distribution.journal.shared.Topics;
import org.apache.commons.lang3.StringUtils;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.distribution.DistributionRequest;
@@ -74,8 +75,6 @@ import org.osgi.service.component.annotations.Reference;
import org.osgi.service.event.Event;
import org.osgi.service.event.EventAdmin;
import org.osgi.service.metatype.annotations.Designate;
-
-import org.apache.sling.distribution.journal.impl.shared.JMXRegistration;
import org.apache.sling.distribution.journal.MessagingProvider;
import org.apache.sling.distribution.journal.JournalAvailable;
diff --git a/src/main/java/org/apache/sling/distribution/journal/impl/publisher/PackageCleanupTask.java b/src/main/java/org/apache/sling/distribution/journal/impl/publisher/PackageCleanupTask.java
index 554a9aa..b534195 100644
--- a/src/main/java/org/apache/sling/distribution/journal/impl/publisher/PackageCleanupTask.java
+++ b/src/main/java/org/apache/sling/distribution/journal/impl/publisher/PackageCleanupTask.java
@@ -26,7 +26,7 @@ import static org.apache.sling.commons.scheduler.Scheduler.VALUE_RUN_ON_LEADER;
import javax.annotation.ParametersAreNonnullByDefault;
-import org.apache.sling.distribution.journal.impl.shared.PublisherConfigurationAvailable;
+import org.apache.sling.distribution.journal.shared.PublisherConfigurationAvailable;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Reference;
import org.slf4j.Logger;
diff --git a/src/main/java/org/apache/sling/distribution/journal/impl/publisher/PackageDistributedNotifier.java b/src/main/java/org/apache/sling/distribution/journal/impl/publisher/PackageDistributedNotifier.java
index c579089..ea3adc5 100644
--- a/src/main/java/org/apache/sling/distribution/journal/impl/publisher/PackageDistributedNotifier.java
+++ b/src/main/java/org/apache/sling/distribution/journal/impl/publisher/PackageDistributedNotifier.java
@@ -30,8 +30,8 @@ import org.apache.sling.distribution.journal.impl.event.DistributionEvent;
import org.apache.sling.distribution.journal.impl.queue.OffsetQueue;
import org.apache.sling.distribution.journal.impl.queue.QueueItemFactory;
import org.apache.sling.distribution.journal.impl.queue.impl.PubQueueCacheService;
-import org.apache.sling.distribution.journal.impl.shared.Topics;
import org.apache.sling.distribution.journal.messages.PackageDistributedMessage;
+import org.apache.sling.distribution.journal.shared.Topics;
import org.apache.sling.distribution.journal.MessagingProvider;
import org.apache.commons.lang3.StringUtils;
diff --git a/src/main/java/org/apache/sling/distribution/journal/impl/publisher/PackageRepo.java b/src/main/java/org/apache/sling/distribution/journal/impl/publisher/PackageRepo.java
index 2591270..8e192a9 100644
--- a/src/main/java/org/apache/sling/distribution/journal/impl/publisher/PackageRepo.java
+++ b/src/main/java/org/apache/sling/distribution/journal/impl/publisher/PackageRepo.java
@@ -25,7 +25,6 @@ import javax.jcr.Node;
import javax.jcr.Property;
import javax.jcr.nodetype.NodeType;
-import org.apache.sling.distribution.journal.impl.shared.DistributionMetricsService;
import org.apache.jackrabbit.api.ReferenceBinary;
import org.apache.jackrabbit.commons.JcrUtils;
import org.apache.sling.api.resource.LoginException;
@@ -36,6 +35,7 @@ import org.apache.sling.api.resource.ResourceResolverFactory;
import org.apache.sling.api.resource.ResourceUtil;
import org.apache.sling.commons.metrics.Timer;
import org.apache.sling.distribution.common.DistributionException;
+import org.apache.sling.distribution.journal.shared.DistributionMetricsService;
import org.apache.sling.distribution.packaging.DistributionPackage;
import org.apache.sling.serviceusermapping.ServiceUserMapped;
import org.osgi.service.component.annotations.Component;
diff --git a/src/main/java/org/apache/sling/distribution/journal/impl/queue/impl/PubQueueCache.java b/src/main/java/org/apache/sling/distribution/journal/impl/queue/impl/PubQueueCache.java
index fb83127..940313b 100644
--- a/src/main/java/org/apache/sling/distribution/journal/impl/queue/impl/PubQueueCache.java
+++ b/src/main/java/org/apache/sling/distribution/journal/impl/queue/impl/PubQueueCache.java
@@ -39,11 +39,11 @@ import javax.annotation.ParametersAreNonnullByDefault;
import org.apache.sling.api.resource.PersistenceException;
import org.apache.sling.distribution.journal.impl.event.DistributionEvent;
-import org.apache.sling.distribution.journal.impl.shared.DistributionMetricsService;
-import org.apache.sling.distribution.journal.impl.shared.JMXRegistration;
-import org.apache.sling.distribution.journal.impl.shared.LocalStore;
import org.apache.commons.io.IOUtils;
import org.apache.sling.distribution.journal.messages.PackageMessage;
+import org.apache.sling.distribution.journal.shared.DistributionMetricsService;
+import org.apache.sling.distribution.journal.shared.JMXRegistration;
+import org.apache.sling.distribution.journal.shared.LocalStore;
import org.apache.sling.distribution.queue.DistributionQueueItem;
import org.osgi.service.event.Event;
import org.osgi.service.event.EventAdmin;
diff --git a/src/main/java/org/apache/sling/distribution/journal/impl/queue/impl/PubQueueCacheService.java b/src/main/java/org/apache/sling/distribution/journal/impl/queue/impl/PubQueueCacheService.java
index 5e98ab4..f9291ed 100644
--- a/src/main/java/org/apache/sling/distribution/journal/impl/queue/impl/PubQueueCacheService.java
+++ b/src/main/java/org/apache/sling/distribution/journal/impl/queue/impl/PubQueueCacheService.java
@@ -22,11 +22,11 @@ import javax.annotation.Nonnull;
import javax.annotation.ParametersAreNonnullByDefault;
import org.apache.sling.api.resource.ResourceResolverFactory;
-import org.apache.sling.distribution.journal.impl.shared.DistributionMetricsService;
-import org.apache.sling.distribution.journal.impl.shared.LocalStore;
-import org.apache.sling.distribution.journal.impl.shared.PublisherConfigurationAvailable;
-import org.apache.sling.distribution.journal.impl.shared.Topics;
import org.apache.sling.distribution.journal.impl.queue.OffsetQueue;
+import org.apache.sling.distribution.journal.shared.DistributionMetricsService;
+import org.apache.sling.distribution.journal.shared.LocalStore;
+import org.apache.sling.distribution.journal.shared.PublisherConfigurationAvailable;
+import org.apache.sling.distribution.journal.shared.Topics;
import org.apache.sling.distribution.journal.MessagingProvider;
import org.apache.sling.distribution.journal.JournalAvailable;
import org.apache.sling.distribution.queue.DistributionQueueItem;
diff --git a/src/main/java/org/apache/sling/distribution/journal/impl/queue/impl/PubQueueProviderImpl.java b/src/main/java/org/apache/sling/distribution/journal/impl/queue/impl/PubQueueProviderImpl.java
index c9428b6..c019c09 100644
--- a/src/main/java/org/apache/sling/distribution/journal/impl/queue/impl/PubQueueProviderImpl.java
+++ b/src/main/java/org/apache/sling/distribution/journal/impl/queue/impl/PubQueueProviderImpl.java
@@ -34,10 +34,10 @@ import org.apache.sling.distribution.journal.MessagingProvider;
import org.apache.sling.distribution.journal.Reset;
import org.apache.sling.distribution.journal.impl.queue.OffsetQueue;
import org.apache.sling.distribution.journal.impl.queue.PubQueueProvider;
-import org.apache.sling.distribution.journal.impl.shared.Topics;
import org.apache.sling.distribution.journal.messages.ClearCommand;
import org.apache.sling.distribution.journal.messages.PackageStatusMessage;
import org.apache.sling.distribution.journal.messages.PackageStatusMessage.Status;
+import org.apache.sling.distribution.journal.shared.Topics;
import org.apache.sling.distribution.queue.DistributionQueueItem;
import org.apache.sling.distribution.queue.spi.DistributionQueue;
import org.osgi.service.component.annotations.Activate;
diff --git a/src/main/java/org/apache/sling/distribution/journal/impl/queue/impl/SubQueue.java b/src/main/java/org/apache/sling/distribution/journal/impl/queue/impl/SubQueue.java
index 4bfa2bf..44dd6f8 100644
--- a/src/main/java/org/apache/sling/distribution/journal/impl/queue/impl/SubQueue.java
+++ b/src/main/java/org/apache/sling/distribution/journal/impl/queue/impl/SubQueue.java
@@ -29,7 +29,7 @@ import javax.annotation.Nullable;
import javax.annotation.ParametersAreNonnullByDefault;
import org.apache.sling.distribution.queue.spi.DistributionQueue;
-import org.apache.sling.distribution.journal.impl.shared.PackageRetries;
+import org.apache.sling.distribution.journal.shared.PackageRetries;
import org.apache.sling.distribution.queue.DistributionQueueEntry;
import org.apache.sling.distribution.queue.DistributionQueueItem;
import org.apache.sling.distribution.queue.DistributionQueueItemState;
diff --git a/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/Announcer.java b/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/Announcer.java
index 06059e2..b3a3414 100644
--- a/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/Announcer.java
+++ b/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/Announcer.java
@@ -30,6 +30,7 @@ import java.util.stream.Collectors;
import javax.annotation.ParametersAreNonnullByDefault;
+import org.apache.sling.distribution.journal.bookkeeper.BookKeeper;
import org.apache.sling.distribution.journal.messages.DiscoveryMessage;
import org.apache.sling.distribution.journal.messages.SubscriberConfig;
import org.apache.sling.distribution.journal.messages.SubscriberState;
diff --git a/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/CommandPoller.java b/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/CommandPoller.java
index 45011a6..e602fee 100644
--- a/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/CommandPoller.java
+++ b/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/CommandPoller.java
@@ -27,8 +27,8 @@ import org.apache.commons.io.IOUtils;
import org.apache.sling.distribution.journal.MessageInfo;
import org.apache.sling.distribution.journal.MessagingProvider;
import org.apache.sling.distribution.journal.Reset;
-import org.apache.sling.distribution.journal.impl.shared.Topics;
import org.apache.sling.distribution.journal.messages.ClearCommand;
+import org.apache.sling.distribution.journal.shared.Topics;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/DistributionSubscriber.java b/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/DistributionSubscriber.java
index fbf0111..b33b22b 100644
--- a/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/DistributionSubscriber.java
+++ b/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/DistributionSubscriber.java
@@ -52,12 +52,15 @@ import org.apache.sling.distribution.journal.JournalAvailable;
import org.apache.sling.distribution.journal.MessageInfo;
import org.apache.sling.distribution.journal.MessagingProvider;
import org.apache.sling.distribution.journal.Reset;
+import org.apache.sling.distribution.journal.bookkeeper.BookKeeper;
+import org.apache.sling.distribution.journal.bookkeeper.BookKeeperConfig;
+import org.apache.sling.distribution.journal.bookkeeper.BookKeeperFactory;
import org.apache.sling.distribution.journal.impl.precondition.Precondition;
import org.apache.sling.distribution.journal.impl.precondition.Precondition.Decision;
-import org.apache.sling.distribution.journal.impl.shared.DistributionMetricsService;
-import org.apache.sling.distribution.journal.impl.shared.Topics;
import org.apache.sling.distribution.journal.messages.PackageMessage;
import org.apache.sling.distribution.journal.messages.PackageStatusMessage;
+import org.apache.sling.distribution.journal.shared.DistributionMetricsService;
+import org.apache.sling.distribution.journal.shared.Topics;
import org.apache.sling.distribution.packaging.DistributionPackageBuilder;
import org.apache.sling.settings.SlingSettingsService;
import org.osgi.framework.BundleContext;
diff --git a/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/SubscriberConfiguration.java b/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/SubscriberConfiguration.java
index 91ce8f8..a3ef9ce 100644
--- a/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/SubscriberConfiguration.java
+++ b/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/SubscriberConfiguration.java
@@ -18,6 +18,7 @@
*/
package org.apache.sling.distribution.journal.impl.subscriber;
+import org.apache.sling.distribution.journal.bookkeeper.PackageHandling;
import org.osgi.service.metatype.annotations.AttributeDefinition;
import org.osgi.service.metatype.annotations.ObjectClassDefinition;
diff --git a/src/main/java/org/apache/sling/distribution/journal/impl/shared/AgentState.java b/src/main/java/org/apache/sling/distribution/journal/shared/AgentState.java
similarity index 97%
rename from src/main/java/org/apache/sling/distribution/journal/impl/shared/AgentState.java
rename to src/main/java/org/apache/sling/distribution/journal/shared/AgentState.java
index 858e8dc..51d5466 100644
--- a/src/main/java/org/apache/sling/distribution/journal/impl/shared/AgentState.java
+++ b/src/main/java/org/apache/sling/distribution/journal/shared/AgentState.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.sling.distribution.journal.impl.shared;
+package org.apache.sling.distribution.journal.shared;
import java.util.stream.Stream;
import java.util.stream.StreamSupport;
diff --git a/src/main/java/org/apache/sling/distribution/journal/impl/shared/DefaultDistributionLog.java b/src/main/java/org/apache/sling/distribution/journal/shared/DefaultDistributionLog.java
similarity index 98%
rename from src/main/java/org/apache/sling/distribution/journal/impl/shared/DefaultDistributionLog.java
rename to src/main/java/org/apache/sling/distribution/journal/shared/DefaultDistributionLog.java
index bb49514..80c3747 100644
--- a/src/main/java/org/apache/sling/distribution/journal/impl/shared/DefaultDistributionLog.java
+++ b/src/main/java/org/apache/sling/distribution/journal/shared/DefaultDistributionLog.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.sling.distribution.journal.impl.shared;
+package org.apache.sling.distribution.journal.shared;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
diff --git a/src/main/java/org/apache/sling/distribution/journal/impl/shared/DistributionMetricsService.java b/src/main/java/org/apache/sling/distribution/journal/shared/DistributionMetricsService.java
similarity index 99%
rename from src/main/java/org/apache/sling/distribution/journal/impl/shared/DistributionMetricsService.java
rename to src/main/java/org/apache/sling/distribution/journal/shared/DistributionMetricsService.java
index edf7aeb..56e3b72 100644
--- a/src/main/java/org/apache/sling/distribution/journal/impl/shared/DistributionMetricsService.java
+++ b/src/main/java/org/apache/sling/distribution/journal/shared/DistributionMetricsService.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.sling.distribution.journal.impl.shared;
+package org.apache.sling.distribution.journal.shared;
import static java.lang.String.format;
diff --git a/src/main/java/org/apache/sling/distribution/journal/impl/shared/ExponentialBackOff.java b/src/main/java/org/apache/sling/distribution/journal/shared/ExponentialBackOff.java
similarity index 98%
rename from src/main/java/org/apache/sling/distribution/journal/impl/shared/ExponentialBackOff.java
rename to src/main/java/org/apache/sling/distribution/journal/shared/ExponentialBackOff.java
index 28f5aa8..48727a7 100644
--- a/src/main/java/org/apache/sling/distribution/journal/impl/shared/ExponentialBackOff.java
+++ b/src/main/java/org/apache/sling/distribution/journal/shared/ExponentialBackOff.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.sling.distribution.journal.impl.shared;
+package org.apache.sling.distribution.journal.shared;
import static java.util.concurrent.TimeUnit.MILLISECONDS;
diff --git a/src/main/java/org/apache/sling/distribution/journal/impl/shared/JMXRegistration.java b/src/main/java/org/apache/sling/distribution/journal/shared/JMXRegistration.java
similarity index 97%
rename from src/main/java/org/apache/sling/distribution/journal/impl/shared/JMXRegistration.java
rename to src/main/java/org/apache/sling/distribution/journal/shared/JMXRegistration.java
index e4f36c9..a1e3924 100644
--- a/src/main/java/org/apache/sling/distribution/journal/impl/shared/JMXRegistration.java
+++ b/src/main/java/org/apache/sling/distribution/journal/shared/JMXRegistration.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.sling.distribution.journal.impl.shared;
+package org.apache.sling.distribution.journal.shared;
import static java.lang.management.ManagementFactory.getPlatformMBeanServer;
diff --git a/src/main/java/org/apache/sling/distribution/journal/impl/shared/JournalAvailableChecker.java b/src/main/java/org/apache/sling/distribution/journal/shared/JournalAvailableChecker.java
similarity index 97%
rename from src/main/java/org/apache/sling/distribution/journal/impl/shared/JournalAvailableChecker.java
rename to src/main/java/org/apache/sling/distribution/journal/shared/JournalAvailableChecker.java
index 3582b36..6cb5170 100644
--- a/src/main/java/org/apache/sling/distribution/journal/impl/shared/JournalAvailableChecker.java
+++ b/src/main/java/org/apache/sling/distribution/journal/shared/JournalAvailableChecker.java
@@ -16,14 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.sling.distribution.journal.impl.shared;
+package org.apache.sling.distribution.journal.shared;
import static java.util.Objects.requireNonNull;
import org.apache.commons.io.IOUtils;
import org.apache.sling.distribution.journal.ExceptionEventSender;
import org.apache.sling.distribution.journal.MessagingProvider;
-import org.apache.sling.distribution.journal.impl.shared.DistributionMetricsService.GaugeService;
+import org.apache.sling.distribution.journal.shared.DistributionMetricsService.GaugeService;
import org.osgi.framework.BundleContext;
import org.osgi.service.component.annotations.Activate;
import org.osgi.service.component.annotations.Component;
diff --git a/src/main/java/org/apache/sling/distribution/journal/impl/shared/JournalAvailableServiceMarker.java b/src/main/java/org/apache/sling/distribution/journal/shared/JournalAvailableServiceMarker.java
similarity index 96%
rename from src/main/java/org/apache/sling/distribution/journal/impl/shared/JournalAvailableServiceMarker.java
rename to src/main/java/org/apache/sling/distribution/journal/shared/JournalAvailableServiceMarker.java
index dd93232..d18c1aa 100644
--- a/src/main/java/org/apache/sling/distribution/journal/impl/shared/JournalAvailableServiceMarker.java
+++ b/src/main/java/org/apache/sling/distribution/journal/shared/JournalAvailableServiceMarker.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.sling.distribution.journal.impl.shared;
+package org.apache.sling.distribution.journal.shared;
import java.util.Objects;
diff --git a/src/main/java/org/apache/sling/distribution/journal/impl/shared/LimitPoller.java b/src/main/java/org/apache/sling/distribution/journal/shared/LimitPoller.java
similarity index 98%
rename from src/main/java/org/apache/sling/distribution/journal/impl/shared/LimitPoller.java
rename to src/main/java/org/apache/sling/distribution/journal/shared/LimitPoller.java
index 687c9ab..9cae44e 100644
--- a/src/main/java/org/apache/sling/distribution/journal/impl/shared/LimitPoller.java
+++ b/src/main/java/org/apache/sling/distribution/journal/shared/LimitPoller.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.sling.distribution.journal.impl.shared;
+package org.apache.sling.distribution.journal.shared;
import static org.apache.sling.distribution.journal.HandlerAdapter.create;
diff --git a/src/main/java/org/apache/sling/distribution/journal/impl/shared/LocalStore.java b/src/main/java/org/apache/sling/distribution/journal/shared/LocalStore.java
similarity index 98%
rename from src/main/java/org/apache/sling/distribution/journal/impl/shared/LocalStore.java
rename to src/main/java/org/apache/sling/distribution/journal/shared/LocalStore.java
index b8a3a73..77130e3 100644
--- a/src/main/java/org/apache/sling/distribution/journal/impl/shared/LocalStore.java
+++ b/src/main/java/org/apache/sling/distribution/journal/shared/LocalStore.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.sling.distribution.journal.impl.shared;
+package org.apache.sling.distribution.journal.shared;
import org.apache.sling.api.resource.LoginException;
import org.apache.sling.api.resource.ModifiableValueMap;
diff --git a/src/main/java/org/apache/sling/distribution/journal/impl/shared/PackageRetries.java b/src/main/java/org/apache/sling/distribution/journal/shared/PackageRetries.java
similarity index 96%
rename from src/main/java/org/apache/sling/distribution/journal/impl/shared/PackageRetries.java
rename to src/main/java/org/apache/sling/distribution/journal/shared/PackageRetries.java
index a124eca..743e9a4 100644
--- a/src/main/java/org/apache/sling/distribution/journal/impl/shared/PackageRetries.java
+++ b/src/main/java/org/apache/sling/distribution/journal/shared/PackageRetries.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.sling.distribution.journal.impl.shared;
+package org.apache.sling.distribution.journal.shared;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
diff --git a/src/main/java/org/apache/sling/distribution/journal/impl/shared/PublisherConfigurationAvailable.java b/src/main/java/org/apache/sling/distribution/journal/shared/PublisherConfigurationAvailable.java
similarity index 98%
rename from src/main/java/org/apache/sling/distribution/journal/impl/shared/PublisherConfigurationAvailable.java
rename to src/main/java/org/apache/sling/distribution/journal/shared/PublisherConfigurationAvailable.java
index bb4f1c6..3169c97 100644
--- a/src/main/java/org/apache/sling/distribution/journal/impl/shared/PublisherConfigurationAvailable.java
+++ b/src/main/java/org/apache/sling/distribution/journal/shared/PublisherConfigurationAvailable.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.sling.distribution.journal.impl.shared;
+package org.apache.sling.distribution.journal.shared;
import java.util.Dictionary;
diff --git a/src/main/java/org/apache/sling/distribution/journal/impl/shared/SimpleDistributionResponse.java b/src/main/java/org/apache/sling/distribution/journal/shared/SimpleDistributionResponse.java
similarity index 96%
rename from src/main/java/org/apache/sling/distribution/journal/impl/shared/SimpleDistributionResponse.java
rename to src/main/java/org/apache/sling/distribution/journal/shared/SimpleDistributionResponse.java
index e49700e..eb0510c 100644
--- a/src/main/java/org/apache/sling/distribution/journal/impl/shared/SimpleDistributionResponse.java
+++ b/src/main/java/org/apache/sling/distribution/journal/shared/SimpleDistributionResponse.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.sling.distribution.journal.impl.shared;
+package org.apache.sling.distribution.journal.shared;
import javax.annotation.Nonnull;
import javax.annotation.ParametersAreNonnullByDefault;
diff --git a/src/main/java/org/apache/sling/distribution/journal/impl/shared/Topics.java b/src/main/java/org/apache/sling/distribution/journal/shared/Topics.java
similarity index 98%
rename from src/main/java/org/apache/sling/distribution/journal/impl/shared/Topics.java
rename to src/main/java/org/apache/sling/distribution/journal/shared/Topics.java
index 1f4d44a..c9ce5e2 100644
--- a/src/main/java/org/apache/sling/distribution/journal/impl/shared/Topics.java
+++ b/src/main/java/org/apache/sling/distribution/journal/shared/Topics.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.sling.distribution.journal.impl.shared;
+package org.apache.sling.distribution.journal.shared;
import org.osgi.service.component.annotations.Activate;
import org.osgi.service.component.annotations.Component;
diff --git a/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/BookKeeperTest.java b/src/test/java/org/apache/sling/distribution/journal/bookkeeper/BookKeeperTest.java
similarity index 95%
rename from src/test/java/org/apache/sling/distribution/journal/impl/subscriber/BookKeeperTest.java
rename to src/test/java/org/apache/sling/distribution/journal/bookkeeper/BookKeeperTest.java
index 6bdb122..ece777a 100644
--- a/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/BookKeeperTest.java
+++ b/src/test/java/org/apache/sling/distribution/journal/bookkeeper/BookKeeperTest.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.sling.distribution.journal.impl.subscriber;
+package org.apache.sling.distribution.journal.bookkeeper;
import static org.hamcrest.CoreMatchers.equalTo;
import static org.junit.Assert.assertThat;
@@ -26,8 +26,8 @@ import java.util.function.Consumer;
import org.apache.sling.api.resource.LoginException;
import org.apache.sling.api.resource.PersistenceException;
import org.apache.sling.api.resource.ResourceResolverFactory;
-import org.apache.sling.distribution.journal.impl.shared.DistributionMetricsService;
import org.apache.sling.distribution.journal.messages.PackageStatusMessage;
+import org.apache.sling.distribution.journal.shared.DistributionMetricsService;
import org.apache.sling.distribution.packaging.DistributionPackageBuilder;
import org.apache.sling.testing.resourceresolver.MockResourceResolverFactory;
import org.junit.Before;
diff --git a/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/ContentPackageExtractorTest.java b/src/test/java/org/apache/sling/distribution/journal/bookkeeper/ContentPackageExtractorTest.java
similarity index 98%
rename from src/test/java/org/apache/sling/distribution/journal/impl/subscriber/ContentPackageExtractorTest.java
rename to src/test/java/org/apache/sling/distribution/journal/bookkeeper/ContentPackageExtractorTest.java
index d107e00..5f6eaa2 100644
--- a/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/ContentPackageExtractorTest.java
+++ b/src/test/java/org/apache/sling/distribution/journal/bookkeeper/ContentPackageExtractorTest.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.sling.distribution.journal.impl.subscriber;
+package org.apache.sling.distribution.journal.bookkeeper;
import static java.util.Collections.singletonList;
import static org.mockito.Mockito.verify;
diff --git a/src/test/java/org/apache/sling/distribution/journal/impl/precondition/PackageStatusWatcherTest.java b/src/test/java/org/apache/sling/distribution/journal/impl/precondition/PackageStatusWatcherTest.java
index bf771ac..2edc02f 100644
--- a/src/test/java/org/apache/sling/distribution/journal/impl/precondition/PackageStatusWatcherTest.java
+++ b/src/test/java/org/apache/sling/distribution/journal/impl/precondition/PackageStatusWatcherTest.java
@@ -18,14 +18,21 @@
*/
package org.apache.sling.distribution.journal.impl.precondition;
-import org.apache.sling.distribution.journal.impl.shared.TestMessageInfo;
-import org.apache.sling.distribution.journal.impl.shared.Topics;
-import org.apache.sling.distribution.journal.messages.PackageStatusMessage;
-import org.apache.sling.distribution.journal.messages.PackageStatusMessage.Status;
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.io.Closeable;
+
import org.apache.sling.distribution.journal.HandlerAdapter;
import org.apache.sling.distribution.journal.MessageHandler;
import org.apache.sling.distribution.journal.MessagingProvider;
import org.apache.sling.distribution.journal.Reset;
+import org.apache.sling.distribution.journal.messages.PackageStatusMessage;
+import org.apache.sling.distribution.journal.messages.PackageStatusMessage.Status;
+import org.apache.sling.distribution.journal.shared.TestMessageInfo;
+import org.apache.sling.distribution.journal.shared.Topics;
import org.junit.Before;
import org.junit.Test;
import org.mockito.ArgumentCaptor;
@@ -34,13 +41,6 @@ import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.mockito.Spy;
-import java.io.Closeable;
-
-import static org.junit.Assert.assertEquals;
-import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
public class PackageStatusWatcherTest {
diff --git a/src/test/java/org/apache/sling/distribution/journal/impl/precondition/StagingPreconditionTest.java b/src/test/java/org/apache/sling/distribution/journal/impl/precondition/StagingPreconditionTest.java
index f64d24d..7262c2c 100644
--- a/src/test/java/org/apache/sling/distribution/journal/impl/precondition/StagingPreconditionTest.java
+++ b/src/test/java/org/apache/sling/distribution/journal/impl/precondition/StagingPreconditionTest.java
@@ -31,9 +31,9 @@ import org.apache.sling.distribution.journal.MessageHandler;
import org.apache.sling.distribution.journal.MessagingProvider;
import org.apache.sling.distribution.journal.Reset;
import org.apache.sling.distribution.journal.impl.precondition.Precondition.Decision;
-import org.apache.sling.distribution.journal.impl.shared.TestMessageInfo;
-import org.apache.sling.distribution.journal.impl.shared.Topics;
import org.apache.sling.distribution.journal.messages.PackageStatusMessage;
+import org.apache.sling.distribution.journal.shared.TestMessageInfo;
+import org.apache.sling.distribution.journal.shared.Topics;
import org.awaitility.Awaitility;
import org.awaitility.Duration;
import org.junit.Before;
diff --git a/src/test/java/org/apache/sling/distribution/journal/impl/publisher/AgentIdTest.java b/src/test/java/org/apache/sling/distribution/journal/impl/publisher/AgentIdTest.java
index 1b0e21d..f7a4fb8 100644
--- a/src/test/java/org/apache/sling/distribution/journal/impl/publisher/AgentIdTest.java
+++ b/src/test/java/org/apache/sling/distribution/journal/impl/publisher/AgentIdTest.java
@@ -18,10 +18,10 @@
*/
package org.apache.sling.distribution.journal.impl.publisher;
-import org.junit.Test;
-
import static org.junit.Assert.assertEquals;
+import org.junit.Test;
+
public class AgentIdTest {
private static final String SLING_ID = "09b11889-2b8c-4fc1-84e7-e921dc92dbac";
diff --git a/src/test/java/org/apache/sling/distribution/journal/impl/publisher/DiscoveryServiceTest.java b/src/test/java/org/apache/sling/distribution/journal/impl/publisher/DiscoveryServiceTest.java
index 0adf713..035f8cb 100644
--- a/src/test/java/org/apache/sling/distribution/journal/impl/publisher/DiscoveryServiceTest.java
+++ b/src/test/java/org/apache/sling/distribution/journal/impl/publisher/DiscoveryServiceTest.java
@@ -34,11 +34,11 @@ import org.apache.sling.distribution.journal.MessageHandler;
import org.apache.sling.distribution.journal.MessageInfo;
import org.apache.sling.distribution.journal.MessagingProvider;
import org.apache.sling.distribution.journal.Reset;
-import org.apache.sling.distribution.journal.impl.shared.TestMessageInfo;
-import org.apache.sling.distribution.journal.impl.shared.Topics;
import org.apache.sling.distribution.journal.messages.DiscoveryMessage;
import org.apache.sling.distribution.journal.messages.SubscriberConfig;
import org.apache.sling.distribution.journal.messages.SubscriberState;
+import org.apache.sling.distribution.journal.shared.TestMessageInfo;
+import org.apache.sling.distribution.journal.shared.Topics;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
diff --git a/src/test/java/org/apache/sling/distribution/journal/impl/publisher/DistPublisherJMXTest.java b/src/test/java/org/apache/sling/distribution/journal/impl/publisher/DistPublisherJMXTest.java
index cb8bcc7..0878999 100644
--- a/src/test/java/org/apache/sling/distribution/journal/impl/publisher/DistPublisherJMXTest.java
+++ b/src/test/java/org/apache/sling/distribution/journal/impl/publisher/DistPublisherJMXTest.java
@@ -41,6 +41,7 @@ import javax.management.openmbean.CompositeData;
import javax.management.openmbean.TabularData;
import javax.management.openmbean.TabularDataSupport;
+import org.apache.sling.distribution.journal.shared.JMXRegistration;
import org.apache.sling.distribution.queue.DistributionQueueEntry;
import org.apache.sling.distribution.queue.DistributionQueueItem;
import org.apache.sling.distribution.queue.DistributionQueueItemState;
@@ -53,8 +54,6 @@ import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
-import org.apache.sling.distribution.journal.impl.shared.JMXRegistration;
-
@SuppressWarnings("rawtypes")
public class DistPublisherJMXTest {
diff --git a/src/test/java/org/apache/sling/distribution/journal/impl/publisher/DistributionPackageFactoryTest.java b/src/test/java/org/apache/sling/distribution/journal/impl/publisher/DistributionPackageFactoryTest.java
index 929de44..76b17fa 100644
--- a/src/test/java/org/apache/sling/distribution/journal/impl/publisher/DistributionPackageFactoryTest.java
+++ b/src/test/java/org/apache/sling/distribution/journal/impl/publisher/DistributionPackageFactoryTest.java
@@ -31,13 +31,13 @@ import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
-import org.apache.sling.distribution.journal.messages.PackageMessage;
-import org.apache.sling.distribution.journal.messages.PackageMessage.ReqType;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.distribution.DistributionRequest;
import org.apache.sling.distribution.DistributionRequestType;
import org.apache.sling.distribution.SimpleDistributionRequest;
import org.apache.sling.distribution.common.DistributionException;
+import org.apache.sling.distribution.journal.messages.PackageMessage;
+import org.apache.sling.distribution.journal.messages.PackageMessage.ReqType;
import org.apache.sling.distribution.packaging.DistributionPackage;
import org.apache.sling.distribution.packaging.DistributionPackageBuilder;
import org.apache.sling.distribution.packaging.DistributionPackageInfo;
diff --git a/src/test/java/org/apache/sling/distribution/journal/impl/publisher/DistributionPublisherTest.java b/src/test/java/org/apache/sling/distribution/journal/impl/publisher/DistributionPublisherTest.java
index 78ddc6d..9f9de96 100644
--- a/src/test/java/org/apache/sling/distribution/journal/impl/publisher/DistributionPublisherTest.java
+++ b/src/test/java/org/apache/sling/distribution/journal/impl/publisher/DistributionPublisherTest.java
@@ -40,15 +40,8 @@ import java.util.Map;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.atomic.AtomicLong;
-import org.apache.sling.commons.metrics.Counter;
-import org.apache.sling.distribution.journal.impl.queue.PubQueueProvider;
-import org.apache.sling.distribution.journal.impl.shared.DistributionMetricsService;
-import org.apache.sling.distribution.journal.impl.shared.Topics;
-import org.apache.sling.distribution.journal.messages.PackageMessage;
-import org.apache.sling.distribution.journal.MessageSender;
-import org.apache.sling.distribution.journal.MessagingProvider;
-import com.google.common.collect.ImmutableMap;
import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.commons.metrics.Counter;
import org.apache.sling.commons.metrics.Histogram;
import org.apache.sling.commons.metrics.Meter;
import org.apache.sling.commons.metrics.Timer;
@@ -59,6 +52,12 @@ import org.apache.sling.distribution.DistributionResponse;
import org.apache.sling.distribution.SimpleDistributionRequest;
import org.apache.sling.distribution.agent.spi.DistributionAgent;
import org.apache.sling.distribution.common.DistributionException;
+import org.apache.sling.distribution.journal.MessageSender;
+import org.apache.sling.distribution.journal.MessagingProvider;
+import org.apache.sling.distribution.journal.impl.queue.PubQueueProvider;
+import org.apache.sling.distribution.journal.messages.PackageMessage;
+import org.apache.sling.distribution.journal.shared.DistributionMetricsService;
+import org.apache.sling.distribution.journal.shared.Topics;
import org.apache.sling.distribution.packaging.DistributionPackageBuilder;
import org.apache.sling.distribution.queue.spi.DistributionQueue;
import org.apache.sling.settings.SlingSettingsService;
@@ -78,6 +77,8 @@ import org.osgi.framework.ServiceRegistration;
import org.osgi.service.event.EventAdmin;
import org.osgi.util.converter.Converters;
+import com.google.common.collect.ImmutableMap;
+
public class DistributionPublisherTest {
private static final String SUBAGENT1 = "subscriber-agent1";
diff --git a/src/test/java/org/apache/sling/distribution/journal/impl/publisher/PackageDistributedNotifierTest.java b/src/test/java/org/apache/sling/distribution/journal/impl/publisher/PackageDistributedNotifierTest.java
index afc6830..b41029c 100644
--- a/src/test/java/org/apache/sling/distribution/journal/impl/publisher/PackageDistributedNotifierTest.java
+++ b/src/test/java/org/apache/sling/distribution/journal/impl/publisher/PackageDistributedNotifierTest.java
@@ -18,14 +18,23 @@
*/
package org.apache.sling.distribution.journal.impl.publisher;
+import static java.util.Arrays.asList;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyLong;
+import static org.mockito.Matchers.anyString;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+import static org.mockito.MockitoAnnotations.initMocks;
+import static org.mockito.internal.util.reflection.Whitebox.setInternalState;
+
import java.util.Collections;
import java.util.HashSet;
-import org.apache.sling.distribution.journal.impl.shared.Topics;
+import org.apache.sling.distribution.journal.MessagingProvider;
import org.apache.sling.distribution.journal.impl.queue.OffsetQueue;
import org.apache.sling.distribution.journal.impl.queue.impl.PubQueueCacheService;
-import org.apache.sling.distribution.journal.MessagingProvider;
-
+import org.apache.sling.distribution.journal.shared.Topics;
import org.apache.sling.distribution.queue.DistributionQueueItem;
import org.junit.Before;
import org.junit.Test;
@@ -33,16 +42,6 @@ import org.mockito.Mock;
import org.mockito.Mockito;
import org.osgi.service.event.EventAdmin;
-import static java.util.Arrays.asList;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyLong;
-import static org.mockito.Matchers.anyString;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-import static org.mockito.MockitoAnnotations.initMocks;
-import static org.mockito.internal.util.reflection.Whitebox.setInternalState;
-
public class PackageDistributedNotifierTest {
@Mock
diff --git a/src/test/java/org/apache/sling/distribution/journal/impl/publisher/PackageQueuedNotifierTest.java b/src/test/java/org/apache/sling/distribution/journal/impl/publisher/PackageQueuedNotifierTest.java
index 6bf412f..092402e 100644
--- a/src/test/java/org/apache/sling/distribution/journal/impl/publisher/PackageQueuedNotifierTest.java
+++ b/src/test/java/org/apache/sling/distribution/journal/impl/publisher/PackageQueuedNotifierTest.java
@@ -18,6 +18,8 @@
*/
package org.apache.sling.distribution.journal.impl.publisher;
+import static org.apache.sling.distribution.event.DistributionEventTopics.AGENT_PACKAGE_QUEUED;
+
import java.util.Arrays;
import java.util.HashMap;
import java.util.concurrent.CompletableFuture;
@@ -25,14 +27,12 @@ import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
-import org.junit.Assert;
-import org.junit.Test;
-import org.osgi.service.event.Event;
import org.apache.sling.distribution.journal.impl.event.DistributionEvent;
import org.apache.sling.distribution.journal.messages.PackageMessage;
import org.apache.sling.distribution.journal.messages.PackageMessage.ReqType;
-
-import static org.apache.sling.distribution.event.DistributionEventTopics.AGENT_PACKAGE_QUEUED;
+import org.junit.Assert;
+import org.junit.Test;
+import org.osgi.service.event.Event;
public class PackageQueuedNotifierTest {
diff --git a/src/test/java/org/apache/sling/distribution/journal/impl/publisher/PackageRepoTest.java b/src/test/java/org/apache/sling/distribution/journal/impl/publisher/PackageRepoTest.java
index 8ec5aae..975ebbe 100644
--- a/src/test/java/org/apache/sling/distribution/journal/impl/publisher/PackageRepoTest.java
+++ b/src/test/java/org/apache/sling/distribution/journal/impl/publisher/PackageRepoTest.java
@@ -37,9 +37,9 @@ import org.apache.sling.commons.metrics.Counter;
import org.apache.sling.commons.metrics.Timer;
import org.apache.sling.distribution.common.DistributionException;
import org.apache.sling.distribution.journal.MessagingProvider;
-import org.apache.sling.distribution.journal.impl.shared.DistributionMetricsService;
-import org.apache.sling.distribution.journal.impl.shared.Topics;
import org.apache.sling.distribution.journal.messages.PackageMessage;
+import org.apache.sling.distribution.journal.shared.DistributionMetricsService;
+import org.apache.sling.distribution.journal.shared.Topics;
import org.apache.sling.distribution.packaging.DistributionPackage;
import org.apache.sling.testing.mock.osgi.MockOsgi;
import org.apache.sling.testing.mock.sling.MockSling;
diff --git a/src/test/java/org/apache/sling/distribution/journal/impl/publisher/StateTest.java b/src/test/java/org/apache/sling/distribution/journal/impl/publisher/StateTest.java
index af1e1b8..67d3f44 100644
--- a/src/test/java/org/apache/sling/distribution/journal/impl/publisher/StateTest.java
+++ b/src/test/java/org/apache/sling/distribution/journal/impl/publisher/StateTest.java
@@ -18,14 +18,14 @@
*/
package org.apache.sling.distribution.journal.impl.publisher;
-import java.util.Random;
-
-import org.junit.Test;
-
import static java.lang.Math.abs;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotEquals;
+import java.util.Random;
+
+import org.junit.Test;
+
public class StateTest {
private static final Random RAND = new Random();
diff --git a/src/test/java/org/apache/sling/distribution/journal/impl/publisher/TopologyViewDiffTest.java b/src/test/java/org/apache/sling/distribution/journal/impl/publisher/TopologyViewDiffTest.java
index f078229..1882f33 100644
--- a/src/test/java/org/apache/sling/distribution/journal/impl/publisher/TopologyViewDiffTest.java
+++ b/src/test/java/org/apache/sling/distribution/journal/impl/publisher/TopologyViewDiffTest.java
@@ -18,6 +18,11 @@
*/
package org.apache.sling.distribution.journal.impl.publisher;
+import static java.util.Arrays.asList;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
import java.util.HashSet;
import java.util.Map;
import java.util.function.Supplier;
@@ -26,11 +31,6 @@ import java.util.stream.LongStream;
import org.junit.Assert;
import org.junit.Test;
-import static java.util.Arrays.asList;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
public class TopologyViewDiffTest {
@Test
diff --git a/src/test/java/org/apache/sling/distribution/journal/impl/queue/QueueItemFactoryTest.java b/src/test/java/org/apache/sling/distribution/journal/impl/queue/QueueItemFactoryTest.java
index 8097105..d494392 100644
--- a/src/test/java/org/apache/sling/distribution/journal/impl/queue/QueueItemFactoryTest.java
+++ b/src/test/java/org/apache/sling/distribution/journal/impl/queue/QueueItemFactoryTest.java
@@ -33,15 +33,14 @@ import static org.junit.Assert.assertThat;
import java.util.Arrays;
import org.apache.sling.distribution.DistributionRequestType;
-import org.apache.sling.distribution.journal.impl.shared.TestMessageInfo;
+import org.apache.sling.distribution.journal.MessageInfo;
import org.apache.sling.distribution.journal.messages.PackageMessage;
import org.apache.sling.distribution.journal.messages.PackageMessage.ReqType;
+import org.apache.sling.distribution.journal.shared.TestMessageInfo;
import org.apache.sling.distribution.queue.DistributionQueueItem;
import org.hamcrest.Matcher;
import org.junit.Test;
-import org.apache.sling.distribution.journal.MessageInfo;
-
public class QueueItemFactoryTest {
private DistributionQueueItem item;
diff --git a/src/test/java/org/apache/sling/distribution/journal/impl/queue/impl/EntryUtilTest.java b/src/test/java/org/apache/sling/distribution/journal/impl/queue/impl/EntryUtilTest.java
index 11a52f9..6bc7ede 100644
--- a/src/test/java/org/apache/sling/distribution/journal/impl/queue/impl/EntryUtilTest.java
+++ b/src/test/java/org/apache/sling/distribution/journal/impl/queue/impl/EntryUtilTest.java
@@ -18,13 +18,13 @@
*/
package org.apache.sling.distribution.journal.impl.queue.impl;
+import static org.junit.Assert.assertEquals;
+
import java.util.HashMap;
import org.apache.sling.distribution.queue.DistributionQueueItem;
import org.junit.Test;
-import static org.junit.Assert.assertEquals;
-
public class EntryUtilTest {
@SuppressWarnings("serial")
diff --git a/src/test/java/org/apache/sling/distribution/journal/impl/queue/impl/OffsetQueueImplJMXTest.java b/src/test/java/org/apache/sling/distribution/journal/impl/queue/impl/OffsetQueueImplJMXTest.java
index 1fc24bc..353da42 100644
--- a/src/test/java/org/apache/sling/distribution/journal/impl/queue/impl/OffsetQueueImplJMXTest.java
+++ b/src/test/java/org/apache/sling/distribution/journal/impl/queue/impl/OffsetQueueImplJMXTest.java
@@ -34,7 +34,7 @@ import javax.management.ObjectName;
import javax.management.ReflectionException;
import org.apache.sling.distribution.journal.impl.queue.OffsetQueue;
-import org.apache.sling.distribution.journal.impl.shared.JMXRegistration;
+import org.apache.sling.distribution.journal.shared.JMXRegistration;
import org.junit.Test;
public class OffsetQueueImplJMXTest {
diff --git a/src/test/java/org/apache/sling/distribution/journal/impl/queue/impl/PubQueueCacheTest.java b/src/test/java/org/apache/sling/distribution/journal/impl/queue/impl/PubQueueCacheTest.java
index 9867412..0c9b634 100644
--- a/src/test/java/org/apache/sling/distribution/journal/impl/queue/impl/PubQueueCacheTest.java
+++ b/src/test/java/org/apache/sling/distribution/journal/impl/queue/impl/PubQueueCacheTest.java
@@ -45,11 +45,11 @@ import org.apache.sling.distribution.journal.MessageHandler;
import org.apache.sling.distribution.journal.MessagingProvider;
import org.apache.sling.distribution.journal.Reset;
import org.apache.sling.distribution.journal.impl.queue.OffsetQueue;
-import org.apache.sling.distribution.journal.impl.shared.DistributionMetricsService;
-import org.apache.sling.distribution.journal.impl.shared.LocalStore;
-import org.apache.sling.distribution.journal.impl.shared.TestMessageInfo;
import org.apache.sling.distribution.journal.messages.PackageMessage;
import org.apache.sling.distribution.journal.messages.PackageMessage.ReqType;
+import org.apache.sling.distribution.journal.shared.DistributionMetricsService;
+import org.apache.sling.distribution.journal.shared.LocalStore;
+import org.apache.sling.distribution.journal.shared.TestMessageInfo;
import org.apache.sling.distribution.queue.DistributionQueueItem;
import org.awaitility.Awaitility;
import org.junit.After;
diff --git a/src/test/java/org/apache/sling/distribution/journal/impl/queue/impl/PubQueueProviderTest.java b/src/test/java/org/apache/sling/distribution/journal/impl/queue/impl/PubQueueProviderTest.java
index 70885e5..846386c 100644
--- a/src/test/java/org/apache/sling/distribution/journal/impl/queue/impl/PubQueueProviderTest.java
+++ b/src/test/java/org/apache/sling/distribution/journal/impl/queue/impl/PubQueueProviderTest.java
@@ -41,13 +41,18 @@ import javax.management.ReflectionException;
import org.apache.sling.api.resource.PersistenceException;
import org.apache.sling.api.resource.ResourceResolverFactory;
-import org.apache.sling.distribution.journal.impl.shared.LocalStore;
-import org.apache.sling.distribution.journal.impl.shared.Topics;
+import org.apache.sling.distribution.journal.HandlerAdapter;
+import org.apache.sling.distribution.journal.MessageHandler;
+import org.apache.sling.distribution.journal.MessageInfo;
+import org.apache.sling.distribution.journal.MessageSender;
+import org.apache.sling.distribution.journal.MessagingProvider;
+import org.apache.sling.distribution.journal.Reset;
import org.apache.sling.distribution.journal.messages.PackageMessage;
import org.apache.sling.distribution.journal.messages.PackageMessage.ReqType;
import org.apache.sling.distribution.journal.messages.PackageStatusMessage;
import org.apache.sling.distribution.journal.messages.PackageStatusMessage.Status;
-import org.apache.sling.distribution.journal.MessageSender;
+import org.apache.sling.distribution.journal.shared.LocalStore;
+import org.apache.sling.distribution.journal.shared.Topics;
import org.apache.sling.distribution.queue.DistributionQueueEntry;
import org.apache.sling.distribution.queue.DistributionQueueItem;
import org.apache.sling.distribution.queue.spi.DistributionQueue;
@@ -61,13 +66,6 @@ import org.mockito.Captor;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
-
-import org.apache.sling.distribution.journal.HandlerAdapter;
-import org.apache.sling.distribution.journal.MessageHandler;
-import org.apache.sling.distribution.journal.MessageInfo;
-import org.apache.sling.distribution.journal.MessagingProvider;
-import org.apache.sling.distribution.journal.Reset;
-
import org.osgi.service.event.EventAdmin;
public class PubQueueProviderTest {
diff --git a/src/test/java/org/apache/sling/distribution/journal/impl/queue/impl/QueueCacheSeederTest.java b/src/test/java/org/apache/sling/distribution/journal/impl/queue/impl/QueueCacheSeederTest.java
index 69b42ca..2bddbe7 100644
--- a/src/test/java/org/apache/sling/distribution/journal/impl/queue/impl/QueueCacheSeederTest.java
+++ b/src/test/java/org/apache/sling/distribution/journal/impl/queue/impl/QueueCacheSeederTest.java
@@ -18,6 +18,17 @@
*/
package org.apache.sling.distribution.journal.impl.queue.impl;
+import static java.lang.System.currentTimeMillis;
+import static org.apache.sling.distribution.journal.shared.Topics.PACKAGE_TOPIC;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.timeout;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
import java.io.Closeable;
import java.io.IOException;
import java.util.function.LongConsumer;
@@ -26,9 +37,9 @@ import org.apache.sling.distribution.journal.HandlerAdapter;
import org.apache.sling.distribution.journal.MessageSender;
import org.apache.sling.distribution.journal.MessagingProvider;
import org.apache.sling.distribution.journal.Reset;
-import org.apache.sling.distribution.journal.impl.shared.TestMessageInfo;
import org.apache.sling.distribution.journal.messages.PackageMessage;
import org.apache.sling.distribution.journal.messages.PackageMessage.ReqType;
+import org.apache.sling.distribution.journal.shared.TestMessageInfo;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -39,17 +50,6 @@ import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.mockito.runners.MockitoJUnitRunner;
-import static java.lang.System.currentTimeMillis;
-import static org.apache.sling.distribution.journal.impl.shared.Topics.PACKAGE_TOPIC;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.doNothing;
-import static org.mockito.Mockito.timeout;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
@RunWith(MockitoJUnitRunner.class)
public class QueueCacheSeederTest {
diff --git a/src/test/java/org/apache/sling/distribution/journal/impl/queue/impl/RangePollerTest.java b/src/test/java/org/apache/sling/distribution/journal/impl/queue/impl/RangePollerTest.java
index a1d66fb..6d82121 100644
--- a/src/test/java/org/apache/sling/distribution/journal/impl/queue/impl/RangePollerTest.java
+++ b/src/test/java/org/apache/sling/distribution/journal/impl/queue/impl/RangePollerTest.java
@@ -36,9 +36,9 @@ import org.apache.sling.distribution.journal.MessageHandler;
import org.apache.sling.distribution.journal.MessageInfo;
import org.apache.sling.distribution.journal.MessagingProvider;
import org.apache.sling.distribution.journal.Reset;
-import org.apache.sling.distribution.journal.impl.shared.TestMessageInfo;
import org.apache.sling.distribution.journal.messages.PackageMessage;
import org.apache.sling.distribution.journal.messages.PackageMessage.ReqType;
+import org.apache.sling.distribution.journal.shared.TestMessageInfo;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
diff --git a/src/test/java/org/apache/sling/distribution/journal/impl/queue/impl/SubQueueTest.java b/src/test/java/org/apache/sling/distribution/journal/impl/queue/impl/SubQueueTest.java
index 3b73074..9fe877a 100644
--- a/src/test/java/org/apache/sling/distribution/journal/impl/queue/impl/SubQueueTest.java
+++ b/src/test/java/org/apache/sling/distribution/journal/impl/queue/impl/SubQueueTest.java
@@ -21,13 +21,12 @@ package org.apache.sling.distribution.journal.impl.queue.impl;
import java.util.HashMap;
import java.util.Map;
+import org.apache.sling.distribution.journal.impl.queue.QueueItemFactory;
+import org.apache.sling.distribution.journal.shared.PackageRetries;
import org.apache.sling.distribution.queue.DistributionQueueItem;
import org.junit.Assert;
import org.junit.Test;
-import org.apache.sling.distribution.journal.impl.queue.QueueItemFactory;
-import org.apache.sling.distribution.journal.impl.shared.PackageRetries;
-
import com.google.common.collect.Lists;
public class SubQueueTest {
diff --git a/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/AnnouncerTest.java b/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/AnnouncerTest.java
index e380f5e..f582abe 100644
--- a/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/AnnouncerTest.java
+++ b/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/AnnouncerTest.java
@@ -27,6 +27,7 @@ import static org.mockito.Mockito.when;
import java.util.Collections;
import java.util.function.Consumer;
+import org.apache.sling.distribution.journal.bookkeeper.BookKeeper;
import org.apache.sling.distribution.journal.messages.DiscoveryMessage;
import org.apache.sling.distribution.journal.messages.SubscriberState;
import org.junit.Test;
diff --git a/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/CommandPollerTest.java b/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/CommandPollerTest.java
index a596dcf..c4be949 100644
--- a/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/CommandPollerTest.java
+++ b/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/CommandPollerTest.java
@@ -32,9 +32,9 @@ import org.apache.sling.distribution.journal.MessageHandler;
import org.apache.sling.distribution.journal.MessageInfo;
import org.apache.sling.distribution.journal.MessagingProvider;
import org.apache.sling.distribution.journal.Reset;
-import org.apache.sling.distribution.journal.impl.shared.TestMessageInfo;
-import org.apache.sling.distribution.journal.impl.shared.Topics;
import org.apache.sling.distribution.journal.messages.ClearCommand;
+import org.apache.sling.distribution.journal.shared.TestMessageInfo;
+import org.apache.sling.distribution.journal.shared.Topics;
import org.awaitility.Awaitility;
import org.awaitility.Duration;
import org.junit.Before;
diff --git a/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/SubscriberTest.java b/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/SubscriberTest.java
index 7dce261..fd4e799 100644
--- a/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/SubscriberTest.java
+++ b/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/SubscriberTest.java
@@ -46,19 +46,6 @@ import java.util.concurrent.Semaphore;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
-import org.apache.sling.distribution.journal.impl.precondition.Precondition;
-import org.apache.sling.distribution.journal.impl.precondition.Precondition.Decision;
-import org.apache.sling.distribution.journal.impl.shared.DistributionMetricsService;
-import org.apache.sling.distribution.journal.impl.shared.LocalStore;
-import org.apache.sling.distribution.journal.impl.shared.TestMessageInfo;
-import org.apache.sling.distribution.journal.impl.shared.Topics;
-import org.apache.sling.distribution.journal.impl.subscriber.BookKeeper.PackageStatus;
-import org.apache.sling.distribution.journal.messages.DiscoveryMessage;
-import org.apache.sling.distribution.journal.messages.PackageMessage;
-import org.apache.sling.distribution.journal.messages.PackageMessage.ReqType;
-import org.apache.sling.distribution.journal.messages.PackageStatusMessage;
-import org.apache.sling.distribution.journal.messages.PackageStatusMessage.Status;
-import org.apache.sling.distribution.journal.MessageSender;
import org.apache.sling.api.resource.LoginException;
import org.apache.sling.api.resource.PersistenceException;
import org.apache.sling.api.resource.Resource;
@@ -72,6 +59,25 @@ import org.apache.sling.commons.metrics.Timer;
import org.apache.sling.distribution.agent.DistributionAgentState;
import org.apache.sling.distribution.agent.spi.DistributionAgent;
import org.apache.sling.distribution.common.DistributionException;
+import org.apache.sling.distribution.journal.HandlerAdapter;
+import org.apache.sling.distribution.journal.MessageHandler;
+import org.apache.sling.distribution.journal.MessageInfo;
+import org.apache.sling.distribution.journal.MessageSender;
+import org.apache.sling.distribution.journal.MessagingProvider;
+import org.apache.sling.distribution.journal.Reset;
+import org.apache.sling.distribution.journal.bookkeeper.BookKeeper;
+import org.apache.sling.distribution.journal.bookkeeper.BookKeeperFactory;
+import org.apache.sling.distribution.journal.impl.precondition.Precondition;
+import org.apache.sling.distribution.journal.impl.precondition.Precondition.Decision;
+import org.apache.sling.distribution.journal.messages.DiscoveryMessage;
+import org.apache.sling.distribution.journal.messages.PackageMessage;
+import org.apache.sling.distribution.journal.messages.PackageMessage.ReqType;
+import org.apache.sling.distribution.journal.messages.PackageStatusMessage;
+import org.apache.sling.distribution.journal.messages.PackageStatusMessage.Status;
+import org.apache.sling.distribution.journal.shared.DistributionMetricsService;
+import org.apache.sling.distribution.journal.shared.LocalStore;
+import org.apache.sling.distribution.journal.shared.TestMessageInfo;
+import org.apache.sling.distribution.journal.shared.Topics;
import org.apache.sling.distribution.packaging.DistributionPackageBuilder;
import org.apache.sling.distribution.packaging.DistributionPackageInfo;
import org.apache.sling.settings.SlingSettingsService;
@@ -95,11 +101,6 @@ import org.osgi.framework.ServiceRegistration;
import org.osgi.service.event.EventAdmin;
import org.osgi.util.converter.Converters;
-import org.apache.sling.distribution.journal.HandlerAdapter;
-import org.apache.sling.distribution.journal.MessageHandler;
-import org.apache.sling.distribution.journal.MessageInfo;
-import org.apache.sling.distribution.journal.MessagingProvider;
-import org.apache.sling.distribution.journal.Reset;
import com.google.common.collect.ImmutableMap;
@SuppressWarnings("unchecked")
@@ -362,7 +363,7 @@ public class SubscriberTest {
private Status getStatus() {
LocalStore statusStore = new LocalStore(resolverFactory, BookKeeper.STORE_TYPE_STATUS, SUB1_AGENT_NAME);
- return new PackageStatus(statusStore.load()).status;
+ return new BookKeeper.PackageStatus(statusStore.load()).status;
}
private void createResource(String path) throws PersistenceException, LoginException {
diff --git a/src/test/java/org/apache/sling/distribution/journal/impl/shared/DistributionMetricsServiceTest.java b/src/test/java/org/apache/sling/distribution/journal/shared/DistributionMetricsServiceTest.java
similarity index 96%
rename from src/test/java/org/apache/sling/distribution/journal/impl/shared/DistributionMetricsServiceTest.java
rename to src/test/java/org/apache/sling/distribution/journal/shared/DistributionMetricsServiceTest.java
index eb8cac8..c980a22 100644
--- a/src/test/java/org/apache/sling/distribution/journal/impl/shared/DistributionMetricsServiceTest.java
+++ b/src/test/java/org/apache/sling/distribution/journal/shared/DistributionMetricsServiceTest.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.sling.distribution.journal.impl.shared;
+package org.apache.sling.distribution.journal.shared;
import static org.hamcrest.CoreMatchers.equalTo;
import static org.junit.Assert.assertNotNull;
@@ -32,7 +32,7 @@ import org.apache.sling.commons.metrics.Meter;
import org.apache.sling.commons.metrics.MetricsService;
import org.apache.sling.commons.metrics.Timer;
import org.apache.sling.commons.metrics.Timer.Context;
-import org.apache.sling.distribution.journal.impl.shared.DistributionMetricsService.GaugeService;
+import org.apache.sling.distribution.journal.shared.DistributionMetricsService.GaugeService;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
diff --git a/src/test/java/org/apache/sling/distribution/journal/impl/shared/ExponentialBackoffTest.java b/src/test/java/org/apache/sling/distribution/journal/shared/ExponentialBackoffTest.java
similarity index 98%
rename from src/test/java/org/apache/sling/distribution/journal/impl/shared/ExponentialBackoffTest.java
rename to src/test/java/org/apache/sling/distribution/journal/shared/ExponentialBackoffTest.java
index bd44057..77676ae 100644
--- a/src/test/java/org/apache/sling/distribution/journal/impl/shared/ExponentialBackoffTest.java
+++ b/src/test/java/org/apache/sling/distribution/journal/shared/ExponentialBackoffTest.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.sling.distribution.journal.impl.shared;
+package org.apache.sling.distribution.journal.shared;
import static java.time.Duration.of;
import static java.time.temporal.ChronoUnit.MILLIS;
diff --git a/src/test/java/org/apache/sling/distribution/journal/impl/shared/JournalAvailableCheckerTest.java b/src/test/java/org/apache/sling/distribution/journal/shared/JournalAvailableCheckerTest.java
similarity index 93%
rename from src/test/java/org/apache/sling/distribution/journal/impl/shared/JournalAvailableCheckerTest.java
rename to src/test/java/org/apache/sling/distribution/journal/shared/JournalAvailableCheckerTest.java
index ce7f279..20d5115 100644
--- a/src/test/java/org/apache/sling/distribution/journal/impl/shared/JournalAvailableCheckerTest.java
+++ b/src/test/java/org/apache/sling/distribution/journal/shared/JournalAvailableCheckerTest.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.sling.distribution.journal.impl.shared;
+package org.apache.sling.distribution.journal.shared;
import static java.util.Collections.emptyMap;
import static java.util.Collections.singletonMap;
@@ -35,9 +35,9 @@ import org.apache.sling.distribution.journal.ExceptionEventSender;
import org.apache.sling.distribution.journal.JournalAvailable;
import org.apache.sling.distribution.journal.MessagingException;
import org.apache.sling.distribution.journal.MessagingProvider;
-import org.apache.sling.distribution.journal.impl.shared.DistributionMetricsService.GaugeService;
-import org.apache.sling.distribution.journal.impl.shared.JournalAvailableChecker.JournalCheckerConfiguration;
-import org.apache.sling.distribution.journal.impl.shared.Topics.TopicsConfiguration;
+import org.apache.sling.distribution.journal.shared.DistributionMetricsService.GaugeService;
+import org.apache.sling.distribution.journal.shared.JournalAvailableChecker.JournalCheckerConfiguration;
+import org.apache.sling.distribution.journal.shared.Topics.TopicsConfiguration;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
diff --git a/src/test/java/org/apache/sling/distribution/journal/impl/shared/LimitPollerTest.java b/src/test/java/org/apache/sling/distribution/journal/shared/LimitPollerTest.java
similarity index 98%
rename from src/test/java/org/apache/sling/distribution/journal/impl/shared/LimitPollerTest.java
rename to src/test/java/org/apache/sling/distribution/journal/shared/LimitPollerTest.java
index 8f7c262..9f3dce5 100644
--- a/src/test/java/org/apache/sling/distribution/journal/impl/shared/LimitPollerTest.java
+++ b/src/test/java/org/apache/sling/distribution/journal/shared/LimitPollerTest.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.sling.distribution.journal.impl.shared;
+package org.apache.sling.distribution.journal.shared;
import static org.hamcrest.Matchers.contains;
import static org.hamcrest.Matchers.samePropertyValuesAs;
@@ -30,6 +30,12 @@ import java.time.Duration;
import java.util.Arrays;
import java.util.List;
+import org.apache.sling.distribution.journal.FullMessage;
+import org.apache.sling.distribution.journal.HandlerAdapter;
+import org.apache.sling.distribution.journal.MessageHandler;
+import org.apache.sling.distribution.journal.MessageInfo;
+import org.apache.sling.distribution.journal.MessagingProvider;
+import org.apache.sling.distribution.journal.Reset;
import org.apache.sling.distribution.journal.messages.PackageMessage;
import org.apache.sling.distribution.journal.messages.PackageMessage.ReqType;
import org.junit.After;
@@ -41,13 +47,6 @@ import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
-import org.apache.sling.distribution.journal.FullMessage;
-import org.apache.sling.distribution.journal.HandlerAdapter;
-import org.apache.sling.distribution.journal.MessageHandler;
-import org.apache.sling.distribution.journal.MessageInfo;
-import org.apache.sling.distribution.journal.MessagingProvider;
-import org.apache.sling.distribution.journal.Reset;
-
public class LimitPollerTest {
private static final int MIN_OFFSET = 10;
diff --git a/src/test/java/org/apache/sling/distribution/journal/impl/shared/LocalStoreTest.java b/src/test/java/org/apache/sling/distribution/journal/shared/LocalStoreTest.java
similarity index 98%
rename from src/test/java/org/apache/sling/distribution/journal/impl/shared/LocalStoreTest.java
rename to src/test/java/org/apache/sling/distribution/journal/shared/LocalStoreTest.java
index cd0dc5d..41a99b7 100644
--- a/src/test/java/org/apache/sling/distribution/journal/impl/shared/LocalStoreTest.java
+++ b/src/test/java/org/apache/sling/distribution/journal/shared/LocalStoreTest.java
@@ -16,15 +16,15 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.sling.distribution.journal.impl.shared;
-
-import java.util.HashMap;
-import java.util.Map;
+package org.apache.sling.distribution.journal.shared;
import static org.hamcrest.Matchers.equalTo;
+import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertThat;
-import static org.junit.Assert.assertEquals;
+
+import java.util.HashMap;
+import java.util.Map;
import org.apache.sling.api.resource.LoginException;
import org.apache.sling.api.resource.PersistenceException;
diff --git a/src/test/java/org/apache/sling/distribution/journal/impl/shared/PackageRetriesTest.java b/src/test/java/org/apache/sling/distribution/journal/shared/PackageRetriesTest.java
similarity index 96%
rename from src/test/java/org/apache/sling/distribution/journal/impl/shared/PackageRetriesTest.java
rename to src/test/java/org/apache/sling/distribution/journal/shared/PackageRetriesTest.java
index 8229ad3..f1b5bf7 100644
--- a/src/test/java/org/apache/sling/distribution/journal/impl/shared/PackageRetriesTest.java
+++ b/src/test/java/org/apache/sling/distribution/journal/shared/PackageRetriesTest.java
@@ -16,12 +16,12 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.sling.distribution.journal.impl.shared;
-
-import org.junit.Test;
+package org.apache.sling.distribution.journal.shared;
import static org.junit.Assert.assertEquals;
+import org.junit.Test;
+
public class PackageRetriesTest {
@Test
diff --git a/src/test/java/org/apache/sling/distribution/journal/impl/shared/PublisherConfigurationAvailableTest.java b/src/test/java/org/apache/sling/distribution/journal/shared/PublisherConfigurationAvailableTest.java
similarity index 98%
rename from src/test/java/org/apache/sling/distribution/journal/impl/shared/PublisherConfigurationAvailableTest.java
rename to src/test/java/org/apache/sling/distribution/journal/shared/PublisherConfigurationAvailableTest.java
index c137d83..98ae957 100644
--- a/src/test/java/org/apache/sling/distribution/journal/impl/shared/PublisherConfigurationAvailableTest.java
+++ b/src/test/java/org/apache/sling/distribution/journal/shared/PublisherConfigurationAvailableTest.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.sling.distribution.journal.impl.shared;
+package org.apache.sling.distribution.journal.shared;
import static org.hamcrest.CoreMatchers.equalTo;
import static org.junit.Assert.assertThat;
diff --git a/src/test/java/org/apache/sling/distribution/journal/impl/shared/SimpleDistributionResponseTest.java b/src/test/java/org/apache/sling/distribution/journal/shared/SimpleDistributionResponseTest.java
similarity index 97%
rename from src/test/java/org/apache/sling/distribution/journal/impl/shared/SimpleDistributionResponseTest.java
rename to src/test/java/org/apache/sling/distribution/journal/shared/SimpleDistributionResponseTest.java
index 5d31bf6..1abf03d 100644
--- a/src/test/java/org/apache/sling/distribution/journal/impl/shared/SimpleDistributionResponseTest.java
+++ b/src/test/java/org/apache/sling/distribution/journal/shared/SimpleDistributionResponseTest.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.sling.distribution.journal.impl.shared;
+package org.apache.sling.distribution.journal.shared;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
diff --git a/src/test/java/org/apache/sling/distribution/journal/impl/shared/TestMessageInfo.java b/src/test/java/org/apache/sling/distribution/journal/shared/TestMessageInfo.java
similarity index 96%
rename from src/test/java/org/apache/sling/distribution/journal/impl/shared/TestMessageInfo.java
rename to src/test/java/org/apache/sling/distribution/journal/shared/TestMessageInfo.java
index a5112f9..87d18ea 100644
--- a/src/test/java/org/apache/sling/distribution/journal/impl/shared/TestMessageInfo.java
+++ b/src/test/java/org/apache/sling/distribution/journal/shared/TestMessageInfo.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.sling.distribution.journal.impl.shared;
+package org.apache.sling.distribution.journal.shared;
import java.util.Map;