This is an automated email from the ASF dual-hosted git repository.
davidb pushed a commit to branch master
in repository
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-feature-extension-content.git
The following commit(s) were added to refs/heads/master by this push:
new c12eeba Update the context extension to the latest Launcher extension
API
c12eeba is described below
commit c12eebaee0e48183446f599508f45a7274f12cd2
Author: David Bosschaert <[email protected]>
AuthorDate: Mon Apr 1 16:34:35 2019 +0100
Update the context extension to the latest Launcher extension API
---
.../feature/extension/content/ContentHandler.java | 17 ++++++++-------
.../extension/content/ContentHandlerTest.java | 24 +++++++++-------------
2 files changed, 18 insertions(+), 23 deletions(-)
diff --git
a/src/main/java/org/apache/sling/feature/extension/content/ContentHandler.java
b/src/main/java/org/apache/sling/feature/extension/content/ContentHandler.java
index 8c2cd40..1111a32 100644
---
a/src/main/java/org/apache/sling/feature/extension/content/ContentHandler.java
+++
b/src/main/java/org/apache/sling/feature/extension/content/ContentHandler.java
@@ -39,8 +39,8 @@ import org.apache.sling.feature.Configuration;
import org.apache.sling.feature.Extension;
import org.apache.sling.feature.ExtensionType;
import org.apache.sling.feature.launcher.spi.LauncherPrepareContext;
+import org.apache.sling.feature.launcher.spi.extensions.ExtensionContext;
import org.apache.sling.feature.launcher.spi.extensions.ExtensionHandler;
-import
org.apache.sling.feature.launcher.spi.extensions.ExtensionInstallationContext;
public class ContentHandler implements ExtensionHandler {
public static final String PACKAGEREGISTRY_HOME = "packageregistry.home";
@@ -97,9 +97,8 @@ public class ContentHandler implements ExtensionHandler {
}
@Override
- public boolean handle(Extension extension, LauncherPrepareContext
prepareContext,
- ExtensionInstallationContext installationContext) throws Exception
{
- File registryHome = getRegistryHomeDir(installationContext);
+ public boolean handle(ExtensionContext context, Extension extension)
throws Exception {
+ File registryHome = getRegistryHomeDir(context);
if (extension.getType() == ExtensionType.ARTIFACTS
&&
extension.getName().equals(Extension.EXTENSION_NAME_CONTENT_PACKAGES)) {
MultiValueMap orderedArtifacts = MultiValueMap.decorate(new
TreeMap<Integer, Collection<Artifact>>());
@@ -118,7 +117,7 @@ public class ContentHandler implements ExtensionHandler {
for (Object key : orderedArtifacts.keySet()) {
@SuppressWarnings("unchecked")
Collection<Artifact> artifacts =
orderedArtifacts.getCollection(key);
- ExecutionPlanBuilder builder = buildExecutionPlan(artifacts,
satisfiedPackages, prepareContext, registryHome);
+ ExecutionPlanBuilder builder = buildExecutionPlan(artifacts,
satisfiedPackages, context, registryHome);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
builder.save(baos);
executionPlans.add(baos.toString("UTF-8"));
@@ -127,11 +126,11 @@ public class ContentHandler implements ExtensionHandler {
final Configuration initcfg = new
Configuration("org.UNSHADE.apache.sling.jcr.packageinit.impl.ExecutionPlanRepoInitializer");
initcfg.getProperties().put("executionplans",
executionPlans.toArray(new String[executionPlans.size()]));
initcfg.getProperties().put("statusfilepath",
registryHome.getAbsolutePath() + "/executedplans.file");
- installationContext.addConfiguration(initcfg.getPid(), null,
initcfg.getProperties());
+ context.addConfiguration(initcfg.getPid(), null,
initcfg.getProperties());
// Workaround for too bold relocation mechanism - corresponding
details at https://issues.apache.org/jira/browse/MSHADE-156
final Configuration registrycfg = new
Configuration("org.UNSHADE.apache.jackrabbit.vault.packaging.registry.impl.FSPackageRegistry");
registrycfg.getProperties().put("homePath",
registryHome.getPath());
- installationContext.addConfiguration(registrycfg.getPid(), null,
registrycfg.getProperties());
+ context.addConfiguration(registrycfg.getPid(), null,
registrycfg.getProperties());
return true;
}
@@ -140,7 +139,7 @@ public class ContentHandler implements ExtensionHandler {
}
}
- private File getRegistryHomeDir(ExtensionInstallationContext
installationContext) {
+ private File getRegistryHomeDir(ExtensionContext context) {
//read repository- home from framework properties (throw exception if
repo.home not set)
String registryPath = System.getProperty(PACKAGEREGISTRY_HOME);
File registryHome;
@@ -148,7 +147,7 @@ public class ContentHandler implements ExtensionHandler {
registryHome = Paths.get(registryPath).toFile();
} else {
- String repoHome =
installationContext.getFrameworkProperties().get(REPOSITORY_HOME);
+ String repoHome =
context.getFrameworkProperties().get(REPOSITORY_HOME);
if (repoHome == null) {
throw new IllegalStateException("Neither registry.home set nor
repository.home configured.");
}
diff --git
a/src/test/java/org/apache/sling/feature/extension/content/ContentHandlerTest.java
b/src/test/java/org/apache/sling/feature/extension/content/ContentHandlerTest.java
index 5721457..adbcbd9 100644
---
a/src/test/java/org/apache/sling/feature/extension/content/ContentHandlerTest.java
+++
b/src/test/java/org/apache/sling/feature/extension/content/ContentHandlerTest.java
@@ -18,8 +18,8 @@ package org.apache.sling.feature.extension.content;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
-import static org.mockito.Mockito.any;
-import static org.mockito.Mockito.eq;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -32,8 +32,7 @@ import org.apache.sling.feature.Artifact;
import org.apache.sling.feature.ArtifactId;
import org.apache.sling.feature.Extension;
import org.apache.sling.feature.ExtensionType;
-import org.apache.sling.feature.launcher.spi.LauncherPrepareContext;
-import
org.apache.sling.feature.launcher.spi.extensions.ExtensionInstallationContext;
+import org.apache.sling.feature.launcher.spi.extensions.ExtensionContext;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
@@ -51,10 +50,7 @@ public class ContentHandlerTest {
public TemporaryFolder testFolder = new TemporaryFolder();
@Mock
- LauncherPrepareContext prepareContext;
-
- @Mock
- ExtensionInstallationContext installationContext;
+ ExtensionContext extensionContext;
/**
* Test package A-1.0. Depends on B and C-1.X
@@ -80,11 +76,11 @@ public class ContentHandlerTest {
@Before
public void setUp() throws Exception {
URL test_a = this.getClass().getResource(TEST_PACKAGE_A_10);
-
when(prepareContext.getArtifactFile(TEST_PACKAGE_AID_A_10)).thenReturn(new
File(test_a.getFile()));
+
when(extensionContext.getArtifactFile(TEST_PACKAGE_AID_A_10)).thenReturn(new
File(test_a.getFile()));
URL test_b = this.getClass().getResource(TEST_PACKAGE_B_10);
-
when(prepareContext.getArtifactFile(TEST_PACKAGE_AID_B_10)).thenReturn(new
File(test_b.getFile()));
+
when(extensionContext.getArtifactFile(TEST_PACKAGE_AID_B_10)).thenReturn(new
File(test_b.getFile()));
URL test_c = this.getClass().getResource(TEST_PACKAGE_C_10);
-
when(prepareContext.getArtifactFile(TEST_PACKAGE_AID_C_10)).thenReturn(new
File(test_c.getFile()));
+
when(extensionContext.getArtifactFile(TEST_PACKAGE_AID_C_10)).thenReturn(new
File(test_c.getFile()));
}
@Test
@@ -104,9 +100,9 @@ public class ContentHandlerTest {
@SuppressWarnings("unchecked")
ArgumentCaptor<Dictionary<String, Object>> executionPlanCaptor =
ArgumentCaptor.forClass(Dictionary.class);
- ch.handle(ext, prepareContext, installationContext);
-
verify(installationContext).addConfiguration(eq("org.UNSHADE.apache.sling.jcr.packageinit.impl.ExecutionPlanRepoInitializer"),
any(), executionPlanCaptor.capture());
-
verify(installationContext).addConfiguration(eq("org.UNSHADE.apache.jackrabbit.vault.packaging.registry.impl.FSPackageRegistry"),
any(), any());
+ ch.handle(extensionContext, ext);
+
verify(extensionContext).addConfiguration(eq("org.UNSHADE.apache.sling.jcr.packageinit.impl.ExecutionPlanRepoInitializer"),
any(), executionPlanCaptor.capture());
+
verify(extensionContext).addConfiguration(eq("org.UNSHADE.apache.jackrabbit.vault.packaging.registry.impl.FSPackageRegistry"),
any(), any());
Iterator<Dictionary<String, Object>> dictIt =
executionPlanCaptor.getAllValues().iterator();
Dictionary<String, Object> dict = dictIt.next();
final String[] executionplans = (String[]) dict.get("executionplans");