Author: tommaso Date: Tue Apr 11 09:04:05 2017 New Revision: 1790941 URL: http://svn.apache.org/viewvc?rev=1790941&view=rev Log: SLING-4075 - added some tests, minor static analysis related fixes
Modified: sling/trunk/contrib/extensions/distribution/README.md sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/DistributionRequest.java sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/event/DistributionEventProperties.java sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/event/DistributionEventTopics.java sling/trunk/contrib/extensions/distribution/avro-serializer/src/test/java/org/apache/sling/distribution/serialization/impl/avro/AvroContentSerializerTest.java sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/SimpleDistributionPackage.java sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueCheckpoint.java sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/RemoteEventDistributionTrigger.java sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/SimpleDistributionPackageTest.java sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/exporter/AgentDistributionPackageExporterTest.java sling/trunk/contrib/extensions/distribution/it/src/main/java/org/apache/sling/distribution/test/DistributorServlet.java sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/DistributionUtils.java sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/ForwardBinaryDistributionTest.java sling/trunk/contrib/extensions/distribution/kryo-serializer/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializer.java sling/trunk/contrib/extensions/distribution/kryo-serializer/src/test/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializerTest.java sling/trunk/contrib/extensions/distribution/sample/src/main/java/org/apache/sling/distribution/test/Init.java Modified: sling/trunk/contrib/extensions/distribution/README.md URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/README.md?rev=1790941&r1=1790940&r2=1790941&view=diff ============================================================================== --- sling/trunk/contrib/extensions/distribution/README.md (original) +++ sling/trunk/contrib/extensions/distribution/README.md Tue Apr 11 09:04:05 2017 @@ -26,17 +26,17 @@ The Sling Content Distribution module co ## Design -The Sling Content Distribution module main design goals resume in being: _Reliable_, _extensible_ and _simple_. +The Sling Content Distribution aims to be: _Reliable_, _simple_ and _extensible_. Reliability means that the system should be able to keep working also in presence of failures regarding I/O, network, etc. An example of such problems is when pushing content from instance A to instance B fails because B is unreachable: in such scenarios instance A should be able to keep pushing (pulling, etc.) content to other instances seamlessly. Another example is when delivery of a certain content (package) fails too many times the distribution module should be able to either drop it or move it into a different "bucket" of failed items. +Simplicity means that this module should be able to accomplish its tasks by providing clear, minimal and easy to use APIs together +with smart but not overly complicated or "hacky" implementations (see ["Simple software is hard"](http://events.linuxfoundation.org/events/apachecon-europe/program/schedule)). Extensibility means that the Sling Content Distribution module provides a set of APIs for distributing resources where each component coming into place during the distribution lifecycle can be extended or totally replaced. -Simplicity means that this module should be able to accomplish its tasks by providing clear and easy to use APIs together -with smart but not overly complicated or "hacky" implementations (see Bertrand's talk ["Simple software is hard"](http://events.linuxfoundation.org/events/apachecon-europe/program/schedule)). A distribution _request_ represents the need of aggregating some resources and to copy them from / to another Sling instance. Such requests are handled by _agents_ that are the main entry point for working with the distribution module. @@ -65,22 +65,17 @@ _package_. Distribution agents configurations are proper OSGi configurations (backed by nodes of type `sling:OsgiConfig` in the repository). - - There are specialized factories for each supported scenario: - "forward" agents, see [ForwardDistributionAgentFactory-publish.json](sample/src/main/resources/SLING-CONTENT/libs/sling/distribution/install.author/publish/org.apache.sling.distribution.agent.impl.ForwardDistributionAgentFactory-publish.json). - "reverse" agents, see [ReverseDistributionAgentFactory-publish-reverse.json](sample/src/main/resources/SLING-CONTENT/libs/sling/distribution/install.author/publish-reverse/org.apache.sling.distribution.agent.impl.ReverseDistributionAgentFactory-publish-reverse.json). - "sync" agents, see [SyncDistributionAgentFactory-pubsync.json](sample/src/main/resources/SLING-CONTENT/libs/sling/distribution/install.author/pubsync/org.apache.sling.distribution.agent.impl.SyncDistributionAgentFactory-pubsync.json). - "queue" agents, see [QueueDistributionAgentFactory-reverse.json](sample/src/main/resources/SLING-CONTENT/libs/sling/distribution/install.publish/reverse/org.apache.sling.distribution.agent.impl.QueueDistributionAgentFactory-reverse.json). - For example a "forward" agent can be defined specifying - The name of the agent (name property) - The sub service name used to access content and build packages (serviceName property) - The endpoints where the packages are to be imported (packageImporter.endpoints property) - - The sample package contains endpoints for exposing configuration for distribution agents. The _DistributionConfigurationResourceProviderFactory_ is used to expose agent configurations as resources. @@ -90,13 +85,10 @@ The _DistributionConfigurationResourcePr "kind" : "agent" } - Distribution agents' configurations can be retrieved via `HTTP GET`: - `http -a admin:admin -v -f GET http://localhost:8080/libs/sling/distribution/settings/agents/{agentName}` - - ### Distribution agents services Each distribution agent is an OSGi service and is resolved using a [Sling Resource Provider](#Resource_Providers) who locate it under `libs/sling/distribution/services/agents`. Modified: sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/DistributionRequest.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/DistributionRequest.java?rev=1790941&r1=1790940&r2=1790941&view=diff ============================================================================== --- sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/DistributionRequest.java (original) +++ sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/DistributionRequest.java Tue Apr 11 09:04:05 2017 @@ -36,7 +36,7 @@ public interface DistributionRequest { * @return the type of the request as a {@link DistributionRequestType} */ @Nonnull - public DistributionRequestType getRequestType(); + DistributionRequestType getRequestType(); /** * Get the root paths for this distribution request Modified: sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/event/DistributionEventProperties.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/event/DistributionEventProperties.java?rev=1790941&r1=1790940&r2=1790941&view=diff ============================================================================== --- sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/event/DistributionEventProperties.java (original) +++ sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/event/DistributionEventProperties.java Tue Apr 11 09:04:05 2017 @@ -30,21 +30,21 @@ public interface DistributionEventProper /** * property containing the name of component generating the event */ - public static final String DISTRIBUTION_COMPONENT_NAME = "distribution.component.name"; + String DISTRIBUTION_COMPONENT_NAME = "distribution.component.name"; /** * property containing the kind of the component generating the event */ - public static final String DISTRIBUTION_COMPONENT_KIND= "distribution.component.kind"; + String DISTRIBUTION_COMPONENT_KIND= "distribution.component.kind"; /** * property containing the type of the distribution request */ - public static final String DISTRIBUTION_TYPE = "distribution.type"; + String DISTRIBUTION_TYPE = "distribution.type"; /** * property containing the type of the distribution paths */ - public static final String DISTRIBUTION_PATHS= "distribution.paths"; + String DISTRIBUTION_PATHS= "distribution.paths"; } Modified: sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/event/DistributionEventTopics.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/event/DistributionEventTopics.java?rev=1790941&r1=1790940&r2=1790941&view=diff ============================================================================== --- sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/event/DistributionEventTopics.java (original) +++ sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/event/DistributionEventTopics.java Tue Apr 11 09:04:05 2017 @@ -26,26 +26,26 @@ import aQute.bnd.annotation.ProviderType @ProviderType public interface DistributionEventTopics { - public static final String EVENT_BASE = "org/apache/sling/distribution"; + String EVENT_BASE = "org/apache/sling/distribution"; /** * event for package created */ - public static final String AGENT_PACKAGE_CREATED = EVENT_BASE + "/agent/package/created"; + String AGENT_PACKAGE_CREATED = EVENT_BASE + "/agent/package/created"; /** * event for package queued */ - public static final String AGENT_PACKAGE_QUEUED = EVENT_BASE + "/agent/package/queued"; + String AGENT_PACKAGE_QUEUED = EVENT_BASE + "/agent/package/queued"; /** * event for package distributed */ - public static final String AGENT_PACKAGE_DISTRIBUTED = EVENT_BASE + "/agent/package/distributed"; + String AGENT_PACKAGE_DISTRIBUTED = EVENT_BASE + "/agent/package/distributed"; /** * event for package imported */ - public static final String IMPORTER_PACKAGE_IMPORTED = EVENT_BASE + "/importer/package/imported"; + String IMPORTER_PACKAGE_IMPORTED = EVENT_BASE + "/importer/package/imported"; } Modified: sling/trunk/contrib/extensions/distribution/avro-serializer/src/test/java/org/apache/sling/distribution/serialization/impl/avro/AvroContentSerializerTest.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/avro-serializer/src/test/java/org/apache/sling/distribution/serialization/impl/avro/AvroContentSerializerTest.java?rev=1790941&r1=1790940&r2=1790941&view=diff ============================================================================== --- sling/trunk/contrib/extensions/distribution/avro-serializer/src/test/java/org/apache/sling/distribution/serialization/impl/avro/AvroContentSerializerTest.java (original) +++ sling/trunk/contrib/extensions/distribution/avro-serializer/src/test/java/org/apache/sling/distribution/serialization/impl/avro/AvroContentSerializerTest.java Tue Apr 11 09:04:05 2017 @@ -48,13 +48,12 @@ import static org.junit.Assert.assertTru */ public class AvroContentSerializerTest { - private MockHelper helper; private ResourceResolver resourceResolver; @Before public void setUp() throws Exception { resourceResolver = new MockResourceResolverFactory().getResourceResolver(null); - helper = MockHelper.create(resourceResolver).resource("/libs").p("prop", "value") + MockHelper helper = MockHelper.create(resourceResolver).resource("/libs").p("prop", "value") .resource("sub").p("sub", "hello") .resource(".sameLevel") .resource("/apps").p("foo", "baa"); Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/SimpleDistributionPackage.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/SimpleDistributionPackage.java?rev=1790941&r1=1790940&r2=1790941&view=diff ============================================================================== --- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/SimpleDistributionPackage.java (original) +++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/SimpleDistributionPackage.java Tue Apr 11 09:04:05 2017 @@ -45,7 +45,7 @@ public class SimpleDistributionPackage e private final long size; public SimpleDistributionPackage(DistributionRequest request, String type) { - super(toIdString(request, type), type, null, null); + super(toIdString(request), type, null, null); String[] paths = request.getPaths(); DistributionRequestType requestType = request.getRequestType(); @@ -54,7 +54,7 @@ public class SimpleDistributionPackage e this.size = getId().toCharArray().length; } - private static String toIdString(DistributionRequest request, String type) { + private static String toIdString(DistributionRequest request) { StringBuilder b = new StringBuilder(); @@ -65,7 +65,9 @@ public class SimpleDistributionPackage e String[] paths = request.getPaths(); - if (paths != null && paths.length != 0) { + if (paths == null || paths.length == 0) { + b.append(PATH_DELIM); + } else { for (int i = 0; i < paths.length; i++) { b.append(paths[i]); if (i < paths.length - 1) { @@ -93,12 +95,11 @@ public class SimpleDistributionPackage e String actionString = parts[0]; String pathsString = parts.length < 2 ? null : parts[1]; - DistributionRequestType distributionRequestType = DistributionRequestType.fromName(actionString); SimpleDistributionPackage distributionPackage = null; if (distributionRequestType != null) { - String[] paths = pathsString == null ? null : pathsString.split(PATH_DELIM); + String[] paths = pathsString == null ? new String[0] : pathsString.split(PATH_DELIM); DistributionRequest request = new SimpleDistributionRequest(distributionRequestType, paths); distributionPackage = new SimpleDistributionPackage(request, type); @@ -142,9 +143,13 @@ public class SimpleDistributionPackage e stream.reset(); String s = new String(buffer, "UTF-8"); + log.info("buffer {}", s); + if (bytesRead > 0 && buffer[0] > 0 && s.startsWith(SimpleDistributionPackage.PACKAGE_START)) { String streamString = IOUtils.toString(stream, "UTF-8"); + log.info("stream string {}", streamString); + return fromIdString(streamString, type); } } catch (IOException e) { Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueCheckpoint.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueCheckpoint.java?rev=1790941&r1=1790940&r2=1790941&view=diff ============================================================================== --- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueCheckpoint.java (original) +++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueCheckpoint.java Tue Apr 11 09:04:05 2017 @@ -86,7 +86,7 @@ class SimpleDistributionQueueCheckpoint lines.add(packageId + " " + w.toString()); } log.debug("parsed {} items", lines.size()); - IOUtils.writeLines(lines, Charset.defaultCharset().name(), fileOutputStream); + IOUtils.writeLines(lines, Charset.defaultCharset().name(), fileOutputStream, Charset.defaultCharset()); fileOutputStream.flush(); fileOutputStream.close(); boolean success = checkpointFile.renameTo(new File(checkpointDirectory, fileName)); Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/RemoteEventDistributionTrigger.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/RemoteEventDistributionTrigger.java?rev=1790941&r1=1790940&r2=1790941&view=diff ============================================================================== --- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/RemoteEventDistributionTrigger.java (original) +++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/RemoteEventDistributionTrigger.java Tue Apr 11 09:04:05 2017 @@ -98,7 +98,7 @@ public class RemoteEventDistributionTrig } public void unregister(@Nonnull DistributionRequestHandler requestHandler) throws DistributionException { - Future<HttpResponse> httpResponseFuture = requests.remove(requestHandler.toString()); + Future<HttpResponse> httpResponseFuture = requests.remove(requestHandler); if (httpResponseFuture != null) { httpResponseFuture.cancel(true); } Modified: sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/SimpleDistributionPackageTest.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/SimpleDistributionPackageTest.java?rev=1790941&r1=1790940&r2=1790941&view=diff ============================================================================== --- sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/SimpleDistributionPackageTest.java (original) +++ sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/SimpleDistributionPackageTest.java Tue Apr 11 09:04:05 2017 @@ -49,4 +49,17 @@ public class SimpleDistributionPackageTe assertEquals(createdPackage.getId(), readPackage.getId()); assertTrue(IOUtils.contentEquals(createdPackage.createInputStream(), readPackage.createInputStream())); } + + @Test + public void testSimplePackageFromTest() throws Exception { + DistributionRequest distributionRequest = new SimpleDistributionRequest(DistributionRequestType.TEST); + SimpleDistributionPackage createdPackage = new SimpleDistributionPackage(distributionRequest, "VOID"); + SimpleDistributionPackage readPackage = SimpleDistributionPackage.fromStream(new ByteArrayInputStream(("DSTRPCK:TEST|").getBytes()), "VOID"); + assertNotNull(readPackage); + assertEquals(createdPackage.getType(), readPackage.getType()); + assertEquals(createdPackage.getInfo().getRequestType(), readPackage.getInfo().getRequestType()); + assertEquals(Arrays.toString(createdPackage.getInfo().getPaths()), Arrays.toString(readPackage.getInfo().getPaths())); + assertEquals(createdPackage.getId(), readPackage.getId()); + assertTrue(IOUtils.contentEquals(createdPackage.createInputStream(), readPackage.createInputStream())); + } } Modified: sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/exporter/AgentDistributionPackageExporterTest.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/exporter/AgentDistributionPackageExporterTest.java?rev=1790941&r1=1790940&r2=1790941&view=diff ============================================================================== --- sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/exporter/AgentDistributionPackageExporterTest.java (original) +++ sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/exporter/AgentDistributionPackageExporterTest.java Tue Apr 11 09:04:05 2017 @@ -44,7 +44,7 @@ public class AgentDistributionPackageExp AgentDistributionPackageExporter distributionPackageExporter = new AgentDistributionPackageExporter(null, mock(DistributionAgent.class), mock(DistributionPackageBuilderProvider.class), null); ResourceResolver resourceResolver = mock(ResourceResolver.class); - String[] args = null; // vargarg doesn't match and causes compiler warning + String[] args = new String[0]; // vargarg doesn't match and causes compiler warning DistributionRequest distributionRequest = new SimpleDistributionRequest(DistributionRequestType.TEST, args); final List<DistributionPackage> distributionPackages = new ArrayList<DistributionPackage>(); distributionPackageExporter.exportPackages(resourceResolver, distributionRequest, new DistributionPackageProcessor() { Modified: sling/trunk/contrib/extensions/distribution/it/src/main/java/org/apache/sling/distribution/test/DistributorServlet.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/it/src/main/java/org/apache/sling/distribution/test/DistributorServlet.java?rev=1790941&r1=1790940&r2=1790941&view=diff ============================================================================== --- sling/trunk/contrib/extensions/distribution/it/src/main/java/org/apache/sling/distribution/test/DistributorServlet.java (original) +++ sling/trunk/contrib/extensions/distribution/it/src/main/java/org/apache/sling/distribution/test/DistributorServlet.java Tue Apr 11 09:04:05 2017 @@ -24,7 +24,6 @@ import org.apache.felix.scr.annotations. import org.apache.sling.api.SlingHttpServletRequest; import org.apache.sling.api.SlingHttpServletResponse; import org.apache.sling.api.servlets.SlingAllMethodsServlet; -import org.apache.sling.api.servlets.SlingSafeMethodsServlet; import org.apache.sling.distribution.DistributionRequest; import org.apache.sling.distribution.DistributionRequestType; import org.apache.sling.distribution.DistributionResponse; Modified: sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/DistributionUtils.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/DistributionUtils.java?rev=1790941&r1=1790940&r2=1790941&view=diff ============================================================================== --- sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/DistributionUtils.java (original) +++ sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/DistributionUtils.java Tue Apr 11 09:04:05 2017 @@ -27,7 +27,6 @@ import java.util.List; import java.util.Map; import java.util.UUID; -import junit.framework.Assert; import org.apache.http.NameValuePair; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.entity.ByteArrayEntity; @@ -71,9 +70,8 @@ public class DistributionUtils { .assertContentType("application/json").getContent(); // Parse JSON response for more precise testing - final JSONObject json = new JSONObject(new JSONTokener(content)); - return json; + return new JSONObject(new JSONTokener(content)); } public static String assertPostResourceWithParameters(SlingInstance slingInstance, @@ -118,7 +116,7 @@ public class DistributionUtils { parameters.add(value); } - assertPostResourceWithParameters(slingInstance, 200, resource, parameters.toArray(new String[0])); + assertPostResourceWithParameters(slingInstance, 200, resource, parameters.toArray(new String[parameters.size()])); } Modified: sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/ForwardBinaryDistributionTest.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/ForwardBinaryDistributionTest.java?rev=1790941&r1=1790940&r2=1790941&view=diff ============================================================================== --- sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/ForwardBinaryDistributionTest.java (original) +++ sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/ForwardBinaryDistributionTest.java Tue Apr 11 09:04:05 2017 @@ -19,7 +19,6 @@ package org.apache.sling.distribution.it; import static org.apache.sling.distribution.it.DistributionUtils.assertExists; -import static org.apache.sling.distribution.it.DistributionUtils.distribute; import static org.apache.sling.distribution.it.DistributionUtils.distributeDeep; import java.io.ByteArrayInputStream; @@ -28,7 +27,6 @@ import java.util.Arrays; import java.util.Collection; import java.util.Random; -import org.apache.commons.io.IOUtils; import org.apache.sling.distribution.DistributionRequestType; import org.junit.Test; import org.junit.runner.RunWith; Modified: sling/trunk/contrib/extensions/distribution/kryo-serializer/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializer.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/kryo-serializer/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializer.java?rev=1790941&r1=1790940&r2=1790941&view=diff ============================================================================== --- sling/trunk/contrib/extensions/distribution/kryo-serializer/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializer.java (original) +++ sling/trunk/contrib/extensions/distribution/kryo-serializer/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializer.java Tue Apr 11 09:04:05 2017 @@ -91,7 +91,7 @@ public class KryoContentSerializer imple kryo.addDefaultSerializer(InputStream.class, new InputStreamSerializer()); try { Input input = new Input(stream); - LinkedList<Resource> resources = (LinkedList<Resource>) kryo.readObject(input, LinkedList.class); + @SuppressWarnings("unchecked") LinkedList<Resource> resources = (LinkedList<Resource>) kryo.readObject(input, LinkedList.class); input.close(); for (Resource resource : resources) { persistResource(resourceResolver, resource); @@ -158,7 +158,7 @@ public class KryoContentSerializer imple output.writeString(resource.getPath()); output.writeString(resource.getResourceType()); - HashMap map = new HashMap<String, Object>(); + HashMap<String, Object> map = new HashMap<String, Object>(); for (Map.Entry<String, Object> entry : valueMap.entrySet()) { if (propertyFilter == null || propertyFilter.matches(entry.getKey())) { map.put(entry.getKey(), entry.getValue()); @@ -174,7 +174,7 @@ public class KryoContentSerializer imple String path = input.readString(); String resourceType = input.readString(); - final HashMap<String, Object> map = kryo.readObjectOrNull(input, HashMap.class); + @SuppressWarnings("unchecked") final HashMap<String, Object> map = kryo.readObjectOrNull(input, HashMap.class); return new SyntheticResource(null, path, resourceType) { @Override Modified: sling/trunk/contrib/extensions/distribution/kryo-serializer/src/test/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializerTest.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/kryo-serializer/src/test/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializerTest.java?rev=1790941&r1=1790940&r2=1790941&view=diff ============================================================================== --- sling/trunk/contrib/extensions/distribution/kryo-serializer/src/test/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializerTest.java (original) +++ sling/trunk/contrib/extensions/distribution/kryo-serializer/src/test/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializerTest.java Tue Apr 11 09:04:05 2017 @@ -48,13 +48,12 @@ import static org.junit.Assert.assertTru */ public class KryoContentSerializerTest { - private MockHelper helper; private ResourceResolver resourceResolver; @Before public void setUp() throws Exception { resourceResolver = new MockResourceResolverFactory().getResourceResolver(null); - helper = MockHelper.create(resourceResolver).resource("/libs").p("prop", "value") + MockHelper helper = MockHelper.create(resourceResolver).resource("/libs").p("prop", "value") .resource("sub").p("sub", "hello") .resource(".sameLevel") .resource("/apps").p("foo", "baa"); Modified: sling/trunk/contrib/extensions/distribution/sample/src/main/java/org/apache/sling/distribution/test/Init.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/sample/src/main/java/org/apache/sling/distribution/test/Init.java?rev=1790941&r1=1790940&r2=1790941&view=diff ============================================================================== --- sling/trunk/contrib/extensions/distribution/sample/src/main/java/org/apache/sling/distribution/test/Init.java (original) +++ sling/trunk/contrib/extensions/distribution/sample/src/main/java/org/apache/sling/distribution/test/Init.java Tue Apr 11 09:04:05 2017 @@ -45,7 +45,7 @@ import javax.jcr.Session; @Component(immediate = true) public class Init { - Logger log = LoggerFactory.getLogger(getClass()); + final Logger log = LoggerFactory.getLogger(getClass()); @Reference SlingRepository slingRepository; @@ -90,7 +90,7 @@ public class Init { if (defaultAgentUser != null) { AccessControlUtils.addAccessControlEntry(session, "/var/sling/distribution/packages", defaultAgentUser.getPrincipal(), new String[]{ Privilege.JCR_ALL }, true); ((User) distributorUser).getImpersonation().grantImpersonation(defaultAgentUser.getPrincipal()); - ((User) serviceUser).getImpersonation().grantImpersonation(defaultAgentUser.getPrincipal()); + serviceUser.getImpersonation().grantImpersonation(defaultAgentUser.getPrincipal()); } session.save();