You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by di...@apache.org on 2021/06/29 14:37:28 UTC
[sling-org-apache-sling-sitemap] 03/03: SLING-10573: rename
SitemapGenerator.GenerationContext to SitemapGenerator.Context
This is an automated email from the ASF dual-hosted git repository.
diru pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-sitemap.git
commit 6f7191f3ddb040a1b717ce4301ab327c6b4c0159
Author: Dirk Rudolph <di...@apache.org>
AuthorDate: Tue Jun 29 16:35:02 2021 +0200
SLING-10573: rename SitemapGenerator.GenerationContext to SitemapGenerator.Context
---
.../sitemap/impl/SitemapGeneratorExecutor.java | 24 +++++++++++-----------
.../apache/sling/sitemap/impl/SitemapServlet.java | 2 +-
.../generator/ResourceTreeSitemapGenerator.java | 4 ++--
.../sitemap/spi/generator/SitemapGenerator.java | 16 +++++++--------
.../org/apache/sling/sitemap/TestGenerator.java | 2 +-
.../sitemap/impl/SitemapGeneratorExecutorTest.java | 6 +++---
.../impl/SitemapServiceImplSchedulingTest.java | 4 ++--
.../ResourceTreeSitemapGeneratorTest.java | 11 +++++-----
8 files changed, 34 insertions(+), 35 deletions(-)
diff --git a/src/main/java/org/apache/sling/sitemap/impl/SitemapGeneratorExecutor.java b/src/main/java/org/apache/sling/sitemap/impl/SitemapGeneratorExecutor.java
index a1c0e39..2364c2c 100644
--- a/src/main/java/org/apache/sling/sitemap/impl/SitemapGeneratorExecutor.java
+++ b/src/main/java/org/apache/sling/sitemap/impl/SitemapGeneratorExecutor.java
@@ -134,7 +134,7 @@ public class SitemapGeneratorExecutor implements JobExecutor {
throws SitemapException, IOException {
try {
CopyableByteArrayOutputStream buffer = new CopyableByteArrayOutputStream();
- GenerationContextImpl genCtxt = new GenerationContextImpl();
+ Context genCtxt = new Context();
// prefill the buffer with existing data from storage
ValueMap state = storage.getState(res, name);
@@ -266,7 +266,7 @@ public class SitemapGeneratorExecutor implements JobExecutor {
private final Resource sitemapRoot;
private final String name;
private final JobExecutionContext jobContext;
- private final GenerationContextImpl generationContext;
+ private final Context generatorContext;
private final List<String> files = new ArrayList<>(1);
private final CopyableByteArrayOutputStream buffer;
private final CopyableByteArrayOutputStream overflowBuffer = new CopyableByteArrayOutputStream();
@@ -275,13 +275,13 @@ public class SitemapGeneratorExecutor implements JobExecutor {
private StatefulSitemap currentSitemap;
MultiFileSitemap(Resource sitemapRoot, String name, int fileIndex, CopyableByteArrayOutputStream buffer,
- GenerationContextImpl generationContext, JobExecutionContext jobContext) throws IOException {
+ Context generatorContext, JobExecutionContext jobContext) throws IOException {
this.sitemapRoot = sitemapRoot;
this.name = name;
this.fileIndex = fileIndex;
this.buffer = buffer;
this.jobContext = jobContext;
- this.generationContext = generationContext;
+ this.generatorContext = generatorContext;
this.currentSitemap = newSitemap();
}
@@ -304,7 +304,7 @@ public class SitemapGeneratorExecutor implements JobExecutor {
}
private StatefulSitemap newSitemap() throws IOException {
- return new StatefulSitemap(sitemapRoot, name, buffer, jobContext, generationContext);
+ return new StatefulSitemap(sitemapRoot, name, buffer, jobContext, generatorContext);
}
private void closeSitemap() throws IOException {
@@ -316,7 +316,7 @@ public class SitemapGeneratorExecutor implements JobExecutor {
}
String path = storage.writeSitemap(sitemapRoot, name, buffer.copy(), fileIndex, buffer.size(), urlCount);
// increment the file index for the next sitemap and store it in the context
- generationContext.data.put(SitemapStorage.PN_SITEMAP_FILE_INDEX, ++fileIndex);
+ generatorContext.data.put(SitemapStorage.PN_SITEMAP_FILE_INDEX, ++fileIndex);
files.add(path);
}
@@ -364,19 +364,19 @@ public class SitemapGeneratorExecutor implements JobExecutor {
private final String name;
private final CopyableByteArrayOutputStream buffer;
private final JobExecutionContext jobContext;
- private final GenerationContextImpl generationContext;
+ private final Context generatorContext;
private int urlCount = 0;
private int writtenUrls = 0;
StatefulSitemap(Resource sitemapRoot, String name, CopyableByteArrayOutputStream buffer,
- JobExecutionContext jobContext, GenerationContextImpl generationContext) throws IOException {
+ JobExecutionContext jobContext, Context generatorContext) throws IOException {
super(new OutputStreamWriter(buffer, StandardCharsets.UTF_8), extensionProviderManager, buffer.size() == 0);
this.sitemapRoot = sitemapRoot;
this.name = name;
this.buffer = buffer;
this.jobContext = jobContext;
- this.generationContext = generationContext;
+ this.generatorContext = generatorContext;
}
@NotNull
@@ -398,8 +398,8 @@ public class SitemapGeneratorExecutor implements JobExecutor {
// make sure the buffer has all data from the writer
out.flush();
// copy the state and add the buffer's data
- Map<String, Object> copy = new HashMap<>(generationContext.data.size() + 1);
- copy.putAll(generationContext.data);
+ Map<String, Object> copy = new HashMap<>(generatorContext.data.size() + 1);
+ copy.putAll(generatorContext.data);
copy.put(SitemapStorage.PN_SITEMAP_ENTRIES, urlCount);
copy.put(JcrConstants.JCR_DATA, buffer.copy());
// write the state and reset the counter for the next iteration
@@ -413,7 +413,7 @@ public class SitemapGeneratorExecutor implements JobExecutor {
}
}
- private class GenerationContextImpl implements SitemapGenerator.GenerationContext {
+ private static class Context implements SitemapGenerator.Context {
private final ValueMap data = new ValueMapDecorator(new HashMap<>());
diff --git a/src/main/java/org/apache/sling/sitemap/impl/SitemapServlet.java b/src/main/java/org/apache/sling/sitemap/impl/SitemapServlet.java
index 2ed67fb..35f23ae 100644
--- a/src/main/java/org/apache/sling/sitemap/impl/SitemapServlet.java
+++ b/src/main/java/org/apache/sling/sitemap/impl/SitemapServlet.java
@@ -61,7 +61,7 @@ public class SitemapServlet extends SlingSafeMethodsServlet {
static final String SITEMAP_EXTENSION = "xml";
private static final Logger LOG = LoggerFactory.getLogger(SitemapServlet.class);
- private static SitemapGenerator.GenerationContext NOOP_CONTEXT = new SitemapGenerator.GenerationContext() {
+ private static SitemapGenerator.Context NOOP_CONTEXT = new SitemapGenerator.Context() {
@Nullable
@Override
public <T> T getProperty(@NotNull String name, @NotNull Class<T> cls) {
diff --git a/src/main/java/org/apache/sling/sitemap/spi/generator/ResourceTreeSitemapGenerator.java b/src/main/java/org/apache/sling/sitemap/spi/generator/ResourceTreeSitemapGenerator.java
index 73acb70..5bc8c80 100644
--- a/src/main/java/org/apache/sling/sitemap/spi/generator/ResourceTreeSitemapGenerator.java
+++ b/src/main/java/org/apache/sling/sitemap/spi/generator/ResourceTreeSitemapGenerator.java
@@ -42,7 +42,7 @@ import static org.apache.sling.sitemap.SitemapUtil.isSitemapRoot;
* follows through only on content that is not below the "jcr:content" or any other sitemap root.
* <p>
* This implementation keeps track of the traversal's state in the
- * {@link SitemapGenerator.GenerationContext}. It is capable to continue from a previous
+ * {@link Context}. It is capable to continue from a previous
* persisted state, when the generation got aborted.
*/
@ConsumerType
@@ -52,7 +52,7 @@ public abstract class ResourceTreeSitemapGenerator implements SitemapGenerator {
@Override
public final void generate(@NotNull Resource sitemapRoot, @NotNull String name, @NotNull Sitemap sitemap,
- @NotNull GenerationContext context) throws SitemapException {
+ @NotNull SitemapGenerator.Context context) throws SitemapException {
String lastPath = context.getProperty(PROPERTY_LAST_PATH, String.class);
for (Resource descendant : (Iterable<? extends Resource>) traverse(sitemapRoot, lastPath)::iterator) {
addResource(name, sitemap, descendant);
diff --git a/src/main/java/org/apache/sling/sitemap/spi/generator/SitemapGenerator.java b/src/main/java/org/apache/sling/sitemap/spi/generator/SitemapGenerator.java
index 155bdaf..8707c09 100644
--- a/src/main/java/org/apache/sling/sitemap/spi/generator/SitemapGenerator.java
+++ b/src/main/java/org/apache/sling/sitemap/spi/generator/SitemapGenerator.java
@@ -18,6 +18,9 @@
*/
package org.apache.sling.sitemap.spi.generator;
+import java.util.Collections;
+import java.util.Set;
+
import org.apache.sling.api.resource.Resource;
import org.apache.sling.sitemap.SitemapException;
import org.apache.sling.sitemap.SitemapService;
@@ -26,9 +29,6 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.osgi.annotation.versioning.ConsumerType;
-import java.util.Collections;
-import java.util.Set;
-
/**
* {@link SitemapGenerator} implementations are responsible to generate one or many sitemaps for a given sitemap root
* {@link Resource}. When a {@link SitemapGenerator} generates multiple sitemaps for a given {@link Resource} it has to
@@ -36,7 +36,7 @@ import java.util.Set;
* that any of those names should be served on-demand by returning a subset of names for
* {@link SitemapGenerator#getOnDemandNames(Resource)}.
* <p>
- * {@link SitemapGenerator#generate(Resource, String, Sitemap, GenerationContext)} may be called for each name and
+ * {@link SitemapGenerator#generate(Resource, String, Sitemap, Context)} may be called for each name and
* each sitemap root {@link Resource}, the implementation returned an non-empty {@link Set} of names for.
* <p>
* It is possible to register multiple {@link SitemapGenerator}s for a single name. In this case the one with the
@@ -106,7 +106,7 @@ public interface SitemapGenerator {
/**
* Generates a {@link Sitemap} with the given name at the given {@link Resource}.
* <p>
- * This process may be stateful and the given {@link GenerationContext} can be used to keep track of the state. For
+ * This process may be stateful and the given {@link Context} can be used to keep track of the state. For
* example a traversal that keeps track on the last {@link Resource} added to the {@link Sitemap}.
*
* @param sitemapRoot the root at which the sitemap should be created
@@ -116,14 +116,14 @@ public interface SitemapGenerator {
* @param context the context under which the sitemap is generated
* @throws SitemapException may be thrown in unrecoverable exceptional cases
*/
- void generate(@NotNull Resource sitemapRoot, @NotNull String name, @NotNull Sitemap sitemap,
- @NotNull GenerationContext context) throws SitemapException;
+ void generate(@NotNull Resource sitemapRoot, @NotNull String name, @NotNull Sitemap sitemap, @NotNull SitemapGenerator.Context context)
+ throws SitemapException;
/**
* A context object that gives the {@link SitemapGenerator} access to additional configurations and methods to
* track state.
*/
- interface GenerationContext {
+ interface Context {
@Nullable <T> T getProperty(@NotNull String name, @NotNull Class<T> cls);
diff --git a/src/test/java/org/apache/sling/sitemap/TestGenerator.java b/src/test/java/org/apache/sling/sitemap/TestGenerator.java
index d051a3d..1d031db 100644
--- a/src/test/java/org/apache/sling/sitemap/TestGenerator.java
+++ b/src/test/java/org/apache/sling/sitemap/TestGenerator.java
@@ -69,7 +69,7 @@ public abstract class TestGenerator implements SitemapGenerator {
}
@Override
- public void generate(@NotNull Resource sitemapRoot, @NotNull String name, @NotNull Sitemap sitemap, @NotNull GenerationContext context) throws SitemapException {
+ public void generate(@NotNull Resource sitemapRoot, @NotNull String name, @NotNull Sitemap sitemap, @NotNull SitemapGenerator.Context context) throws SitemapException {
fail();
}
}
diff --git a/src/test/java/org/apache/sling/sitemap/impl/SitemapGeneratorExecutorTest.java b/src/test/java/org/apache/sling/sitemap/impl/SitemapGeneratorExecutorTest.java
index 91caba8..ac147c5 100644
--- a/src/test/java/org/apache/sling/sitemap/impl/SitemapGeneratorExecutorTest.java
+++ b/src/test/java/org/apache/sling/sitemap/impl/SitemapGeneratorExecutorTest.java
@@ -393,7 +393,7 @@ public class SitemapGeneratorExecutorTest {
"http://example.com/page2.html"
) {
@Override
- public void generate(@NotNull Resource sitemapRoot, @NotNull String name, @NotNull Sitemap sitemap, @NotNull GenerationContext context) throws SitemapException {
+ public void generate(@NotNull Resource sitemapRoot, @NotNull String name, @NotNull Sitemap sitemap, @NotNull SitemapGenerator.Context context) throws SitemapException {
try {
super.generate(sitemapRoot, name, sitemap, context);
} finally {
@@ -437,7 +437,7 @@ public class SitemapGeneratorExecutorTest {
private SitemapException ex;
@Override
- public void generate(@NotNull Resource sitemapRoot, @NotNull String name, @NotNull Sitemap sitemap, @NotNull GenerationContext context) throws SitemapException {
+ public void generate(@NotNull Resource sitemapRoot, @NotNull String name, @NotNull Sitemap sitemap, @NotNull SitemapGenerator.Context context) throws SitemapException {
throw ex;
}
}
@@ -467,7 +467,7 @@ public class SitemapGeneratorExecutorTest {
@Override
public void generate(@NotNull Resource sitemapRoot, @NotNull String name, @NotNull Sitemap sitemap,
- @NotNull GenerationContext context) throws SitemapException {
+ @NotNull SitemapGenerator.Context context) throws SitemapException {
int i = context.getProperty("i", 0);
for (; i < locations.length; i++) {
context.setProperty("i", i);
diff --git a/src/test/java/org/apache/sling/sitemap/impl/SitemapServiceImplSchedulingTest.java b/src/test/java/org/apache/sling/sitemap/impl/SitemapServiceImplSchedulingTest.java
index de184ef..a0ae4a6 100644
--- a/src/test/java/org/apache/sling/sitemap/impl/SitemapServiceImplSchedulingTest.java
+++ b/src/test/java/org/apache/sling/sitemap/impl/SitemapServiceImplSchedulingTest.java
@@ -70,7 +70,7 @@ public class SitemapServiceImplSchedulingTest {
}
@Override
- public void generate(@NotNull Resource sitemapRoot, @NotNull String name, @NotNull Sitemap sitemap, @NotNull GenerationContext context) throws SitemapException {
+ public void generate(@NotNull Resource sitemapRoot, @NotNull String name, @NotNull Sitemap sitemap, @NotNull SitemapGenerator.Context context) throws SitemapException {
fail();
}
};
@@ -81,7 +81,7 @@ public class SitemapServiceImplSchedulingTest {
}
@Override
- public void generate(@NotNull Resource sitemapRoot, @NotNull String name, @NotNull Sitemap sitemap, @NotNull GenerationContext context) throws SitemapException {
+ public void generate(@NotNull Resource sitemapRoot, @NotNull String name, @NotNull Sitemap sitemap, @NotNull SitemapGenerator.Context context) throws SitemapException {
fail();
}
};
diff --git a/src/test/java/org/apache/sling/sitemap/spi/generator/ResourceTreeSitemapGeneratorTest.java b/src/test/java/org/apache/sling/sitemap/spi/generator/ResourceTreeSitemapGeneratorTest.java
index d87f975..f6be78e 100644
--- a/src/test/java/org/apache/sling/sitemap/spi/generator/ResourceTreeSitemapGeneratorTest.java
+++ b/src/test/java/org/apache/sling/sitemap/spi/generator/ResourceTreeSitemapGeneratorTest.java
@@ -24,7 +24,6 @@ import org.apache.sling.sitemap.SitemapService;
import org.apache.sling.sitemap.TestResourceTreeSitemapGenerator;
import org.apache.sling.sitemap.impl.builder.extensions.ExtensionProviderManager;
import org.apache.sling.sitemap.impl.builder.SitemapImpl;
-import org.apache.sling.sitemap.spi.generator.SitemapGenerator;
import org.apache.sling.testing.mock.sling.junit5.SlingContext;
import org.apache.sling.testing.mock.sling.junit5.SlingContextExtension;
import org.junit.jupiter.api.BeforeEach;
@@ -49,7 +48,7 @@ public class ResourceTreeSitemapGeneratorTest {
private final ExtensionProviderManager extensionProviderManager = new ExtensionProviderManager();
@Mock
- private SitemapGenerator.GenerationContext generationContext;
+ private SitemapGenerator.Context generatorContext;
private Resource sitemapRoot;
@BeforeEach
@@ -67,7 +66,7 @@ public class ResourceTreeSitemapGeneratorTest {
SitemapImpl sitemap = new SitemapImpl(writer, extensionProviderManager);
// when
- subject.generate(sitemapRoot, SitemapService.DEFAULT_SITEMAP_NAME, sitemap, generationContext);
+ subject.generate(sitemapRoot, SitemapService.DEFAULT_SITEMAP_NAME, sitemap, generatorContext);
sitemap.close();
// then
@@ -90,7 +89,7 @@ public class ResourceTreeSitemapGeneratorTest {
context.create().resource("/content/site/de/child3");
// when
- subject.generate(sitemapRoot, SitemapService.DEFAULT_SITEMAP_NAME, sitemap, generationContext);
+ subject.generate(sitemapRoot, SitemapService.DEFAULT_SITEMAP_NAME, sitemap, generatorContext);
sitemap.close();
// then
@@ -110,7 +109,7 @@ public class ResourceTreeSitemapGeneratorTest {
// given
StringWriter writer = new StringWriter();
SitemapImpl sitemap = new SitemapImpl(writer, extensionProviderManager);
- when(generationContext.getProperty("lastPath", String.class)).thenReturn("/content/site/de/child2/grandchild21");
+ when(generatorContext.getProperty("lastPath", String.class)).thenReturn("/content/site/de/child2/grandchild21");
context.create().resource("/content/site/de/child2/grandchild21");
context.create().resource("/content/site/de/child2/grandchild21/jcr:content");
context.create().resource("/content/site/de/child2/grandchild22");
@@ -121,7 +120,7 @@ public class ResourceTreeSitemapGeneratorTest {
context.create().resource("/content/site/de/child3/grandchild31/jcr:content");
// when
- subject.generate(sitemapRoot, SitemapService.DEFAULT_SITEMAP_NAME, sitemap, generationContext);
+ subject.generate(sitemapRoot, SitemapService.DEFAULT_SITEMAP_NAME, sitemap, generatorContext);
sitemap.close();
// then