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 2019/08/05 14:27:51 UTC
[sling-org-apache-sling-distribution-core] branch master updated:
SLING-8591 - Remove hook again
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-core.git
The following commit(s) were added to refs/heads/master by this push:
new afab407 SLING-8591 - Remove hook again
afab407 is described below
commit afab40764c67c8eefc060a00e4b619c318443b19
Author: Christian Schneider <cs...@adobe.com>
AuthorDate: Mon Aug 5 16:00:23 2019 +0200
SLING-8591 - Remove hook again
---
.../distribution/packaging/PackageInstallHook.java | 46 --------------
.../impl/AbstractDistributionPackageBuilder.java | 16 ++---
.../impl/FileDistributionPackageBuilder.java | 9 ++-
.../impl/InMemoryDistributionPackageBuilder.java | 9 ++-
.../packaging/impl/NoopPackageInstallHook.java | 45 -------------
.../impl/ResourceDistributionPackageBuilder.java | 9 ++-
.../sling/distribution/packaging/package-info.java | 2 +-
.../impl/DistributionPackageBuilderFactory.java | 11 +---
.../VaultDistributionPackageBuilderFactory.java | 12 +---
.../impl/FileDistributionPackageBuilderTest.java | 4 +-
.../InMemoryDistributionPackageBuilderTest.java | 74 ++--------------------
.../LocalDistributionPackageImporterTest.java | 5 +-
12 files changed, 31 insertions(+), 211 deletions(-)
diff --git a/src/main/java/org/apache/sling/distribution/packaging/PackageInstallHook.java b/src/main/java/org/apache/sling/distribution/packaging/PackageInstallHook.java
deleted file mode 100644
index ad806fc..0000000
--- a/src/main/java/org/apache/sling/distribution/packaging/PackageInstallHook.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.sling.distribution.packaging;
-
-import org.apache.sling.api.resource.ResourceResolver;
-
-import aQute.bnd.annotation.ProviderType;
-
-/**
- * Callback that allows to run code after a DistributionPackage is installed.
- */
-@ProviderType
-public interface PackageInstallHook {
- public static final String NOOP_NAME = "noop_install_hook";
- public static final String NOOP_FILTER = "(name=" + PackageInstallHook.NOOP_NAME + ")";
-
- /**
- * Will be called after a package was installed into the repository
- * @param resourceResolver
- * @param distPackage
- */
- void onPostAdd(ResourceResolver resourceResolver, DistributionPackage distPackage);
-
- /**
- * Will be called after a package was installed into the repository
- * @param resourceResolver
- * @param distPackage
- */
- void onPreRemove(ResourceResolver resourceResolver, DistributionPackage distPackage);
-}
diff --git a/src/main/java/org/apache/sling/distribution/packaging/impl/AbstractDistributionPackageBuilder.java b/src/main/java/org/apache/sling/distribution/packaging/impl/AbstractDistributionPackageBuilder.java
index 21dec3d..0993667 100644
--- a/src/main/java/org/apache/sling/distribution/packaging/impl/AbstractDistributionPackageBuilder.java
+++ b/src/main/java/org/apache/sling/distribution/packaging/impl/AbstractDistributionPackageBuilder.java
@@ -35,7 +35,6 @@ import org.apache.sling.distribution.common.DistributionException;
import org.apache.sling.distribution.packaging.DistributionPackage;
import org.apache.sling.distribution.packaging.DistributionPackageBuilder;
import org.apache.sling.distribution.packaging.DistributionPackageInfo;
-import org.apache.sling.distribution.packaging.PackageInstallHook;
import org.apache.sling.distribution.serialization.impl.vlt.VltUtils;
import org.apache.sling.distribution.util.DistributionJcrUtils;
import org.jetbrains.annotations.NotNull;
@@ -52,11 +51,8 @@ public abstract class AbstractDistributionPackageBuilder implements Distribution
private final String type;
- private PackageInstallHook installHook;
-
- AbstractDistributionPackageBuilder(String type, PackageInstallHook installHook) {
+ AbstractDistributionPackageBuilder(String type) {
this.type = type;
- this.installHook = installHook;
}
public String getType() {
@@ -157,8 +153,7 @@ public abstract class AbstractDistributionPackageBuilder implements Distribution
boolean installed;
// not a simple package
if (distributionPackage == null) {
- installPackageInternal(resourceResolver, stream);
- installed = true;
+ installed = installPackageInternal(resourceResolver, stream);
} else {
installed = installPackage(resourceResolver, distributionPackage);
packageInfo.putAll(distributionPackage.getInfo());
@@ -175,7 +170,6 @@ public abstract class AbstractDistributionPackageBuilder implements Distribution
Session session = null;
try {
if (distributionPackage != null) {
- installHook.onPreRemove(resourceResolver, distributionPackage);
session = getSession(resourceResolver);
for (String path : distributionPackage.getInfo().getPaths()) {
if (session.itemExists(path)) {
@@ -199,9 +193,7 @@ public abstract class AbstractDistributionPackageBuilder implements Distribution
InputStream inputStream = null;
try {
inputStream = distributionPackage.createInputStream();
- installPackageInternal(resourceResolver, inputStream);
- installHook.onPostAdd(resourceResolver, distributionPackage);
- return true;
+ return installPackageInternal(resourceResolver, inputStream);
} catch (IOException e) {
throw new DistributionException(e);
} finally {
@@ -259,7 +251,7 @@ public abstract class AbstractDistributionPackageBuilder implements Distribution
throws DistributionException;
- protected abstract void installPackageInternal(@NotNull ResourceResolver resourceResolver, @NotNull InputStream stream)
+ protected abstract boolean installPackageInternal(@NotNull ResourceResolver resourceResolver, @NotNull InputStream stream)
throws DistributionException;
@Nullable
diff --git a/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackageBuilder.java b/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackageBuilder.java
index 8e649ee..a79a7a2 100644
--- a/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackageBuilder.java
+++ b/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackageBuilder.java
@@ -37,7 +37,6 @@ import org.apache.sling.distribution.DistributionRequest;
import org.apache.sling.distribution.common.DistributionException;
import org.apache.sling.distribution.packaging.DistributionPackage;
import org.apache.sling.distribution.packaging.DistributionPackageBuilder;
-import org.apache.sling.distribution.packaging.PackageInstallHook;
import org.apache.sling.distribution.serialization.DistributionContentSerializer;
import org.apache.sling.distribution.serialization.DistributionExportFilter;
import org.apache.sling.distribution.serialization.DistributionExportOptions;
@@ -65,9 +64,8 @@ public class FileDistributionPackageBuilder extends AbstractDistributionPackageB
DistributionContentSerializer distributionContentSerializer,
String tempFilesFolder,
String digestAlgorithm, String[] nodeFilters,
- String[] propertyFilters,
- PackageInstallHook postInstallHook) {
- super(type, postInstallHook);
+ String[] propertyFilters) {
+ super(type);
this.distributionContentSerializer = distributionContentSerializer;
this.nodeFilters = VltUtils.parseFilters(nodeFilters);
this.propertyFilters = VltUtils.parseFilters(propertyFilters);
@@ -153,10 +151,11 @@ public class FileDistributionPackageBuilder extends AbstractDistributionPackageB
}
@Override
- protected void installPackageInternal(@NotNull ResourceResolver resourceResolver, @NotNull InputStream inputStream)
+ protected boolean installPackageInternal(@NotNull ResourceResolver resourceResolver, @NotNull InputStream inputStream)
throws DistributionException {
try {
distributionContentSerializer.importFromStream(resourceResolver, inputStream);
+ return true;
} finally {
IOUtils.closeQuietly(inputStream);
}
diff --git a/src/main/java/org/apache/sling/distribution/packaging/impl/InMemoryDistributionPackageBuilder.java b/src/main/java/org/apache/sling/distribution/packaging/impl/InMemoryDistributionPackageBuilder.java
index ad6b4a1..d55b77e 100644
--- a/src/main/java/org/apache/sling/distribution/packaging/impl/InMemoryDistributionPackageBuilder.java
+++ b/src/main/java/org/apache/sling/distribution/packaging/impl/InMemoryDistributionPackageBuilder.java
@@ -33,7 +33,6 @@ import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.distribution.DistributionRequest;
import org.apache.sling.distribution.common.DistributionException;
import org.apache.sling.distribution.packaging.DistributionPackage;
-import org.apache.sling.distribution.packaging.PackageInstallHook;
import org.apache.sling.distribution.serialization.DistributionContentSerializer;
import org.apache.sling.distribution.serialization.DistributionExportFilter;
import org.apache.sling.distribution.serialization.DistributionExportOptions;
@@ -59,9 +58,8 @@ public class InMemoryDistributionPackageBuilder extends AbstractDistributionPack
public InMemoryDistributionPackageBuilder(@NotNull String type,
@NotNull DistributionContentSerializer serializer,
@Nullable String[] nodeFilters,
- @Nullable String[] propertyFilters,
- PackageInstallHook postInstallHook) {
- super(type, postInstallHook);
+ @Nullable String[] propertyFilters) {
+ super(type);
this.serializer = serializer;
this.nodeFilters = VltUtils.parseFilters(nodeFilters);
this.propertyFilters = VltUtils.parseFilters(propertyFilters);
@@ -111,11 +109,12 @@ public class InMemoryDistributionPackageBuilder extends AbstractDistributionPack
}
@Override
- protected void installPackageInternal(@NotNull ResourceResolver resourceResolver,
+ protected boolean installPackageInternal(@NotNull ResourceResolver resourceResolver,
@NotNull InputStream inputStream)
throws DistributionException {
try {
serializer.importFromStream(resourceResolver, inputStream);
+ return true;
} finally {
IOUtils.closeQuietly(inputStream);
}
diff --git a/src/main/java/org/apache/sling/distribution/packaging/impl/NoopPackageInstallHook.java b/src/main/java/org/apache/sling/distribution/packaging/impl/NoopPackageInstallHook.java
deleted file mode 100644
index 0ccd521..0000000
--- a/src/main/java/org/apache/sling/distribution/packaging/impl/NoopPackageInstallHook.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.sling.distribution.packaging.impl;
-
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Property;
-import org.apache.felix.scr.annotations.Service;
-import org.apache.sling.api.resource.ResourceResolver;
-import org.apache.sling.distribution.packaging.DistributionPackage;
-import org.apache.sling.distribution.packaging.PackageInstallHook;
-
-/**
- * Default hook that simply does nothing
- */
-@Component
-@Service(PackageInstallHook.class)
-@Property(name = "name", value = PackageInstallHook.NOOP_NAME)
-public class NoopPackageInstallHook implements PackageInstallHook {
-
- @Override
- public void onPostAdd(ResourceResolver resourceResolver, DistributionPackage distPackage) {
- // Noop
- }
-
- @Override
- public void onPreRemove(ResourceResolver resourceResolver, DistributionPackage distPackage) {
- // Noop
- }
-}
diff --git a/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageBuilder.java b/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageBuilder.java
index 3670f5b..919d3d9 100644
--- a/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageBuilder.java
+++ b/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageBuilder.java
@@ -44,7 +44,6 @@ import org.apache.sling.api.resource.ResourceUtil;
import org.apache.sling.distribution.DistributionRequest;
import org.apache.sling.distribution.common.DistributionException;
import org.apache.sling.distribution.packaging.DistributionPackage;
-import org.apache.sling.distribution.packaging.PackageInstallHook;
import org.apache.sling.distribution.serialization.DistributionContentSerializer;
import org.apache.sling.distribution.serialization.DistributionExportFilter;
import org.apache.sling.distribution.serialization.DistributionExportOptions;
@@ -77,9 +76,8 @@ public class ResourceDistributionPackageBuilder extends AbstractDistributionPack
MemoryUnit memoryUnit,
boolean useOffHeapMemory,
String digestAlgorithm, String[] nodeFilters,
- String[] propertyFilters,
- PackageInstallHook postInstallHook) {
- super(type, postInstallHook);
+ String[] propertyFilters) {
+ super(type);
this.distributionContentSerializer = distributionContentSerializer;
this.nodeFilters = VltUtils.parseFilters(nodeFilters);
this.propertyFilters = VltUtils.parseFilters(propertyFilters);
@@ -160,10 +158,11 @@ public class ResourceDistributionPackageBuilder extends AbstractDistributionPack
}
@Override
- protected void installPackageInternal(@NotNull ResourceResolver resourceResolver, @NotNull InputStream inputStream)
+ protected boolean installPackageInternal(@NotNull ResourceResolver resourceResolver, @NotNull InputStream inputStream)
throws DistributionException {
try {
distributionContentSerializer.importFromStream(resourceResolver, inputStream);
+ return true;
} finally {
IOUtils.closeQuietly(inputStream);
}
diff --git a/src/main/java/org/apache/sling/distribution/packaging/package-info.java b/src/main/java/org/apache/sling/distribution/packaging/package-info.java
index e0a3160..8f378be 100644
--- a/src/main/java/org/apache/sling/distribution/packaging/package-info.java
+++ b/src/main/java/org/apache/sling/distribution/packaging/package-info.java
@@ -17,7 +17,7 @@
* under the License.
*/
-@Version("0.1.0")
+@Version("0.0.1")
package org.apache.sling.distribution.packaging;
import aQute.bnd.annotation.Version;
diff --git a/src/main/java/org/apache/sling/distribution/serialization/impl/DistributionPackageBuilderFactory.java b/src/main/java/org/apache/sling/distribution/serialization/impl/DistributionPackageBuilderFactory.java
index 3aeff38..aaacbc1 100644
--- a/src/main/java/org/apache/sling/distribution/serialization/impl/DistributionPackageBuilderFactory.java
+++ b/src/main/java/org/apache/sling/distribution/serialization/impl/DistributionPackageBuilderFactory.java
@@ -44,7 +44,6 @@ import org.apache.sling.distribution.monitor.impl.MonitoringDistributionPackageB
import org.apache.sling.distribution.packaging.DistributionPackage;
import org.apache.sling.distribution.packaging.DistributionPackageBuilder;
import org.apache.sling.distribution.packaging.DistributionPackageInfo;
-import org.apache.sling.distribution.packaging.PackageInstallHook;
import org.apache.sling.distribution.packaging.impl.FileDistributionPackageBuilder;
import org.apache.sling.distribution.packaging.impl.InMemoryDistributionPackageBuilder;
import org.apache.sling.distribution.packaging.impl.ResourceDistributionPackageBuilder;
@@ -194,10 +193,6 @@ public class DistributionPackageBuilderFactory implements DistributionPackageBui
private ServiceRegistration<Runnable> packageCleanup = null;
- @Property(name = "installHook.target", label = "install hook", description = "Hook to be called after package was installed and before package will be removed.", value = PackageInstallHook.NOOP_FILTER)
- @Reference
- private PackageInstallHook installHook;
-
@Activate
public void activate(BundleContext context,
Map<String, Object> config) {
@@ -214,15 +209,15 @@ public class DistributionPackageBuilderFactory implements DistributionPackageBui
DistributionPackageBuilder wrapped;
if ("file".equals(persistenceType)) {
- wrapped = new FileDistributionPackageBuilder(contentSerializer.getName(), contentSerializer, tempFsFolder, digestAlgorithm, nodeFilters, propertyFilters, installHook);
+ wrapped = new FileDistributionPackageBuilder(contentSerializer.getName(), contentSerializer, tempFsFolder, digestAlgorithm, nodeFilters, propertyFilters);
} else if ("inmemory".equals(persistenceType)) {
- wrapped = new InMemoryDistributionPackageBuilder(contentSerializer.getName(), contentSerializer, nodeFilters, propertyFilters, installHook);
+ wrapped = new InMemoryDistributionPackageBuilder(contentSerializer.getName(), contentSerializer, nodeFilters, propertyFilters);
} else {
final int fileThreshold = PropertiesUtil.toInteger(config.get(FILE_THRESHOLD), DEFAULT_FILE_THRESHOLD_VALUE);
String memoryUnitName = PropertiesUtil.toString(config.get(MEMORY_UNIT), DEFAULT_MEMORY_UNIT);
final MemoryUnit memoryUnit = MemoryUnit.valueOf(memoryUnitName);
final boolean useOffHeapMemory = PropertiesUtil.toBoolean(config.get(USE_OFF_HEAP_MEMORY), DEFAULT_USE_OFF_HEAP_MEMORY);
- ResourceDistributionPackageBuilder resourceDistributionPackageBuilder = new ResourceDistributionPackageBuilder(contentSerializer.getName(), contentSerializer, tempFsFolder, fileThreshold, memoryUnit, useOffHeapMemory, digestAlgorithm, nodeFilters, propertyFilters, installHook);
+ ResourceDistributionPackageBuilder resourceDistributionPackageBuilder = new ResourceDistributionPackageBuilder(contentSerializer.getName(), contentSerializer, tempFsFolder, fileThreshold, memoryUnit, useOffHeapMemory, digestAlgorithm, nodeFilters, propertyFilters);
Runnable cleanup = new ResourceDistributionPackageCleanup(resolverFactory, resourceDistributionPackageBuilder);
Dictionary<String, Object> props = new Hashtable<String, Object>();
props.put(Scheduler.PROPERTY_SCHEDULER_CONCURRENT, false);
diff --git a/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VaultDistributionPackageBuilderFactory.java b/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VaultDistributionPackageBuilderFactory.java
index 93afd06..4100074 100644
--- a/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VaultDistributionPackageBuilderFactory.java
+++ b/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VaultDistributionPackageBuilderFactory.java
@@ -34,7 +34,6 @@ import org.apache.sling.distribution.monitor.impl.MonitoringDistributionPackageB
import org.apache.sling.distribution.packaging.DistributionPackage;
import org.apache.sling.distribution.packaging.DistributionPackageBuilder;
import org.apache.sling.distribution.packaging.DistributionPackageInfo;
-import org.apache.sling.distribution.packaging.PackageInstallHook;
import org.apache.sling.distribution.packaging.impl.FileDistributionPackageBuilder;
import org.apache.sling.distribution.packaging.impl.InMemoryDistributionPackageBuilder;
import org.apache.sling.distribution.packaging.impl.ResourceDistributionPackageBuilder;
@@ -227,11 +226,6 @@ public class VaultDistributionPackageBuilderFactory implements DistributionPacka
private MonitoringDistributionPackageBuilder packageBuilder;
- @Property(name = "postInstallHook.target", label = "Post install hook", description = "Hook to be called after package was installed.",
- value = PackageInstallHook.NOOP_FILTER)
- @Reference
- private PackageInstallHook postInstallHook;
-
@Activate
public void activate(BundleContext context, Map<String, Object> config) {
@@ -276,15 +270,15 @@ public class VaultDistributionPackageBuilderFactory implements DistributionPacka
DistributionPackageBuilder wrapped;
if ("filevlt".equals(type)) {
- wrapped = new FileDistributionPackageBuilder(name, contentSerializer, tempFsFolder, digestAlgorithm, packageNodeFilters, packagePropertyFilters, postInstallHook);
+ wrapped = new FileDistributionPackageBuilder(name, contentSerializer, tempFsFolder, digestAlgorithm, packageNodeFilters, packagePropertyFilters);
} else if ("inmemory".equals(type)) {
- wrapped = new InMemoryDistributionPackageBuilder(name, contentSerializer, packageNodeFilters, packagePropertyFilters, postInstallHook);
+ wrapped = new InMemoryDistributionPackageBuilder(name, contentSerializer, packageNodeFilters, packagePropertyFilters);
} else {
final int fileThreshold = PropertiesUtil.toInteger(config.get(FILE_THRESHOLD), DEFAULT_FILE_THRESHOLD_VALUE);
String memoryUnitName = PropertiesUtil.toString(config.get(MEMORY_UNIT), DEFAULT_MEMORY_UNIT);
final MemoryUnit memoryUnit = MemoryUnit.valueOf(memoryUnitName);
final boolean useOffHeapMemory = PropertiesUtil.toBoolean(config.get(USE_OFF_HEAP_MEMORY), DEFAULT_USE_OFF_HEAP_MEMORY);
- ResourceDistributionPackageBuilder resourceDistributionPackageBuilder = new ResourceDistributionPackageBuilder(contentSerializer.getName(), contentSerializer, tempFsFolder, fileThreshold, memoryUnit, useOffHeapMemory, digestAlgorithm, packageNodeFilters, packagePropertyFilters, postInstallHook);
+ ResourceDistributionPackageBuilder resourceDistributionPackageBuilder = new ResourceDistributionPackageBuilder(contentSerializer.getName(), contentSerializer, tempFsFolder, fileThreshold, memoryUnit, useOffHeapMemory, digestAlgorithm, packageNodeFilters, packagePropertyFilters);
Runnable cleanup = new ResourceDistributionPackageCleanup(resolverFactory, resourceDistributionPackageBuilder);
Dictionary<String, Object> props = new Hashtable<String, Object>();
props.put(Scheduler.PROPERTY_SCHEDULER_CONCURRENT, false);
diff --git a/src/test/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackageBuilderTest.java b/src/test/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackageBuilderTest.java
index f9abb52..ea6072c 100644
--- a/src/test/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackageBuilderTest.java
+++ b/src/test/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackageBuilderTest.java
@@ -30,7 +30,6 @@ import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.distribution.DistributionRequest;
import org.apache.sling.distribution.common.DistributionException;
import org.apache.sling.distribution.packaging.DistributionPackage;
-import org.apache.sling.distribution.packaging.PackageInstallHook;
import org.apache.sling.distribution.serialization.DistributionContentSerializer;
import org.apache.sling.distribution.serialization.DistributionExportOptions;
import org.junit.Test;
@@ -39,9 +38,8 @@ public class FileDistributionPackageBuilderTest {
@Test
public void testDefaultTempDirectory() throws DistributionException, IOException {
- PackageInstallHook postInstallHook = new NoopPackageInstallHook();
FileDistributionPackageBuilder builder = new FileDistributionPackageBuilder("test", new TestSerializer(), null, null, new String[0],
- new String[0], postInstallHook);
+ new String[0]);
DistributionPackage createdPackage = builder.createPackageForAdd(mock(ResourceResolver.class), mock(DistributionRequest.class));
try {
diff --git a/src/test/java/org/apache/sling/distribution/packaging/impl/InMemoryDistributionPackageBuilderTest.java b/src/test/java/org/apache/sling/distribution/packaging/impl/InMemoryDistributionPackageBuilderTest.java
index 03e7752..f20dc66 100644
--- a/src/test/java/org/apache/sling/distribution/packaging/impl/InMemoryDistributionPackageBuilderTest.java
+++ b/src/test/java/org/apache/sling/distribution/packaging/impl/InMemoryDistributionPackageBuilderTest.java
@@ -18,92 +18,30 @@
*/
package org.apache.sling.distribution.packaging.impl;
-import static org.hamcrest.CoreMatchers.equalTo;
-import static org.hamcrest.CoreMatchers.nullValue;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertThat;
-import static org.mockito.Mockito.verify;
-
-import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
-import java.util.HashMap;
-import java.util.Map;
import org.apache.commons.io.IOUtils;
-import org.apache.commons.io.output.ByteArrayOutputStream;
-import org.apache.sling.api.resource.LoginException;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.distribution.DistributionRequestType;
import org.apache.sling.distribution.SimpleDistributionRequest;
import org.apache.sling.distribution.common.DistributionException;
import org.apache.sling.distribution.packaging.DistributionPackage;
-import org.apache.sling.distribution.packaging.DistributionPackageInfo;
-import org.apache.sling.distribution.packaging.PackageInstallHook;
import org.apache.sling.distribution.serialization.DistributionContentSerializer;
import org.apache.sling.distribution.serialization.DistributionExportOptions;
-import org.apache.sling.testing.mock.sling.MockSling;
-import org.apache.sling.testing.mock.sling.ResourceResolverType;
-import org.junit.Before;
import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.Mockito;
-import org.mockito.runners.MockitoJUnitRunner;
-
-@RunWith(MockitoJUnitRunner.class)
-public class InMemoryDistributionPackageBuilderTest {
- @Mock
- private PackageInstallHook installHook;
-
- private ResourceResolver resolver;
- private InMemoryDistributionPackageBuilder builder;
-
-
- @SuppressWarnings("deprecation")
- @Before
- public void before() throws LoginException {
- resolver = MockSling.newResourceResolver(ResourceResolverType.JCR_OAK);
- builder = new InMemoryDistributionPackageBuilder("name", new InMemDistributionContentSerializer(), new String[0], new String[0], installHook);
- }
+import static org.junit.Assert.assertNotNull;
+import static org.mockito.Mockito.mock;
- @Test
- public void testReadPackage() throws Exception {
- ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
- Map<String, Object> info = new HashMap<String, Object>();
- info.put("test1", "value1");
- DistributionPackageUtils.writeInfo(outputStream, info);
- InputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray());
+public class InMemoryDistributionPackageBuilderTest {
- DistributionPackage distPackage = builder.readPackage(resolver, inputStream);
- DistributionPackageInfo outInfo = distPackage.getInfo();
- assertThat(outInfo.get("test1", String.class), equalTo("value1"));
- }
-
@Test
- public void testGetPackageInvalid() throws Exception {
- String id = "invalid";
- DistributionPackage distPackage = builder.getPackage(resolver, id);
- assertThat(distPackage, nullValue());
- }
-
- @Test
- public void testInstallPackage() throws Exception {
- SimpleDistributionRequest distributionRequest = new SimpleDistributionRequest(DistributionRequestType.ADD, false, "/test");
- DistributionPackage pkg = builder.createPackage(resolver, distributionRequest);
+ public void testCreatePackage() throws Exception {
+ InMemoryDistributionPackageBuilder builder = new InMemoryDistributionPackageBuilder("name", new InMemDistributionContentSerializer(), new String[0], new String[0]);
+ DistributionPackage pkg = builder.createPackageForAdd(mock(ResourceResolver.class), new SimpleDistributionRequest(DistributionRequestType.ADD, false, "/test"));
assertNotNull(pkg.createInputStream());
- builder.installPackage(resolver, pkg);
- verify(installHook).onPostAdd(Mockito.eq(resolver), Mockito.eq(pkg));
- }
-
- @Test
- public void testDeletePackage() throws Exception {
- SimpleDistributionRequest distributionRequest = new SimpleDistributionRequest(DistributionRequestType.DELETE, false, "/test");
- DistributionPackage pkg = builder.createPackage(resolver, distributionRequest);
- builder.installPackage(resolver, pkg);
- verify(installHook).onPreRemove(Mockito.eq(resolver), Mockito.eq(pkg));
}
private final class InMemDistributionContentSerializer implements DistributionContentSerializer {
diff --git a/src/test/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporterTest.java b/src/test/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporterTest.java
index 99843db..d603237 100644
--- a/src/test/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporterTest.java
+++ b/src/test/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporterTest.java
@@ -32,10 +32,8 @@ import org.apache.sling.distribution.event.impl.DistributionEventFactory;
import org.apache.sling.distribution.packaging.DistributionPackage;
import org.apache.sling.distribution.packaging.DistributionPackageBuilder;
import org.apache.sling.distribution.packaging.DistributionPackageInfo;
-import org.apache.sling.distribution.packaging.PackageInstallHook;
import org.apache.sling.distribution.packaging.impl.DistributionPackageUtils;
import org.apache.sling.distribution.packaging.impl.FileDistributionPackageBuilder;
-import org.apache.sling.distribution.packaging.impl.NoopPackageInstallHook;
import org.apache.sling.distribution.serialization.impl.vlt.FileVaultContentSerializer;
import org.apache.sling.testing.mock.sling.ResourceResolverType;
import org.apache.sling.testing.mock.sling.junit.SlingContext;
@@ -94,9 +92,8 @@ public class LocalDistributionPackageImporterTest {
false
);
- PackageInstallHook postInstallHook = new NoopPackageInstallHook();
DistributionPackageBuilder builder =
- new FileDistributionPackageBuilder(DistributionRequestType.ADD.name(), vaultSerializer, null, null, null, null, postInstallHook);
+ new FileDistributionPackageBuilder(DistributionRequestType.ADD.name(), vaultSerializer, null, null, null, null);
ResourceResolver resourceResolver = slingContext.resourceResolver();