You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by mp...@apache.org on 2014/11/26 14:08:11 UTC
svn commit: r1641803 - in /sling/trunk/contrib/extensions/distribution:
api/src/main/java/org/apache/sling/distribution/agent/
api/src/main/java/org/apache/sling/distribution/communication/
core/src/main/java/org/apache/sling/distribution/agent/impl/ c...
Author: mpetria
Date: Wed Nov 26 13:08:10 2014
New Revision: 1641803
URL: http://svn.apache.org/r1641803
Log:
SLING-4153: hiding authorization strategy and request time
Added:
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/DistributionRequestAuthorizationException.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/DistributionRequestAuthorizationStrategy.java
Removed:
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/agent/DistributionRequestAuthorizationException.java
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/agent/DistributionRequestAuthorizationStrategy.java
Modified:
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionRequest.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/PrivilegeDistributionRequestAuthorizationStrategy.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/PrivilegeDistributionRequestAuthorizationStrategyFactory.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgent.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentFactory.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DistributionComponentUtils.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/VoidDistributionPackage.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackageBuilder.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionTriggerServlet.java
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentTest.java
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/VoidDistributionPackageTest.java
Modified: sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionRequest.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionRequest.java?rev=1641803&r1=1641802&r2=1641803&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionRequest.java (original)
+++ sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionRequest.java Wed Nov 26 13:08:10 2014
@@ -27,28 +27,17 @@ import java.util.Arrays;
*/
public final class DistributionRequest {
- private final long time;
private final DistributionRequestType actionType;
private final String[] paths;
public DistributionRequest(@Nonnull DistributionRequestType actionType, @Nonnull String... paths) {
- this.time = System.currentTimeMillis();
this.actionType = actionType;
this.paths = paths;
}
/**
- * get the time this distribution request was created as a {@code long} returned by {@code System#currentTimeMillis}.
- *
- * @return the distribution request creation time as returned by {@code System#currentTimeMillis}
- */
- public long getTime() {
- return time;
- }
-
- /**
* get the {@link DistributionRequestType} associated with this request
*
* @return the type of actionType for request as a {@link DistributionRequestType}
@@ -69,7 +58,6 @@ public final class DistributionRequest {
@Override
public String toString() {
return "DistributionRequest{" +
- "time=" + time +
", actionType=" + actionType +
", paths=" + Arrays.toString(paths) +
'}';
Added: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/DistributionRequestAuthorizationException.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/DistributionRequestAuthorizationException.java?rev=1641803&view=auto
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/DistributionRequestAuthorizationException.java (added)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/DistributionRequestAuthorizationException.java Wed Nov 26 13:08:10 2014
@@ -0,0 +1,28 @@
+/*
+ * 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.agent.impl;
+
+/**
+ * An {@link Exception} representing failed authorization in execution of a certain {@link org.apache.sling.distribution.communication.DistributionRequest}
+ */
+public class DistributionRequestAuthorizationException extends Exception {
+ public DistributionRequestAuthorizationException(String message) {
+ super(message);
+ }
+}
Added: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/DistributionRequestAuthorizationStrategy.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/DistributionRequestAuthorizationStrategy.java?rev=1641803&view=auto
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/DistributionRequestAuthorizationStrategy.java (added)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/DistributionRequestAuthorizationStrategy.java Wed Nov 26 13:08:10 2014
@@ -0,0 +1,42 @@
+/*
+ * 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.agent.impl;
+
+import javax.annotation.Nonnull;
+
+import aQute.bnd.annotation.ConsumerType;
+import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.distribution.communication.DistributionRequest;
+
+/**
+ * Strategy for authorizing requests
+ */
+@ConsumerType
+public interface DistributionRequestAuthorizationStrategy {
+
+ /**
+ * @param resourceResolver a {@link org.apache.sling.api.resource.ResourceResolver} representing the calling 'user'
+ * @param distributionRequest a request bringing metadata for getting {@link org.apache.sling.distribution.packaging.DistributionPackage}s
+ * to be exported
+ * @throws DistributionRequestAuthorizationException if the {@link org.apache.sling.api.resource.ResourceResolver} is
+ * not authorized to execute the given {@link org.apache.sling.distribution.communication.DistributionRequest}
+ */
+ void checkPermission(@Nonnull ResourceResolver resourceResolver, @Nonnull DistributionRequest distributionRequest) throws DistributionRequestAuthorizationException;
+
+}
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/PrivilegeDistributionRequestAuthorizationStrategy.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/PrivilegeDistributionRequestAuthorizationStrategy.java?rev=1641803&r1=1641802&r2=1641803&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/PrivilegeDistributionRequestAuthorizationStrategy.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/PrivilegeDistributionRequestAuthorizationStrategy.java Wed Nov 26 13:08:10 2014
@@ -24,9 +24,8 @@ import javax.jcr.Session;
import javax.jcr.security.AccessControlManager;
import javax.jcr.security.Privilege;
+import org.apache.jackrabbit.util.Text;
import org.apache.sling.api.resource.ResourceResolver;
-import org.apache.sling.distribution.agent.DistributionRequestAuthorizationException;
-import org.apache.sling.distribution.agent.DistributionRequestAuthorizationStrategy;
import org.apache.sling.distribution.communication.DistributionRequest;
import org.apache.sling.distribution.communication.DistributionRequestType;
@@ -79,11 +78,25 @@ public class PrivilegeDistributionReques
Privilege[] privileges = new Privilege[] { acMgr.privilegeFromName(jcrPrivilege), acMgr.privilegeFromName(Privilege.JCR_REMOVE_NODE) };
for (String path : paths) {
- if(session.nodeExists(path) && !acMgr.hasPrivileges(path, privileges)) {
+
+ String closestParentPath = getClosestParent(session, path);
+
+ if (closestParentPath == null || !acMgr.hasPrivileges(closestParentPath, privileges)) {
throw new DistributionRequestAuthorizationException("Not enough privileges");
}
}
+ }
+
+ private String getClosestParent(Session session, String path) throws RepositoryException {
+ do {
+ if (session.nodeExists(path)) {
+ return path;
+ }
+ path = Text.getRelativeParent(path, 1);
+ }
+ while (path != null && path.length() > 0);
+ return null;
}
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/PrivilegeDistributionRequestAuthorizationStrategyFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/PrivilegeDistributionRequestAuthorizationStrategyFactory.java?rev=1641803&r1=1641802&r2=1641803&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/PrivilegeDistributionRequestAuthorizationStrategyFactory.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/PrivilegeDistributionRequestAuthorizationStrategyFactory.java Wed Nov 26 13:08:10 2014
@@ -28,8 +28,6 @@ import org.apache.felix.scr.annotations.
import org.apache.felix.scr.annotations.Service;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.commons.osgi.PropertiesUtil;
-import org.apache.sling.distribution.agent.DistributionRequestAuthorizationException;
-import org.apache.sling.distribution.agent.DistributionRequestAuthorizationStrategy;
import org.apache.sling.distribution.communication.DistributionRequest;
import org.apache.sling.distribution.component.impl.DistributionComponentUtils;
import org.osgi.framework.BundleContext;
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgent.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgent.java?rev=1641803&r1=1641802&r2=1641803&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgent.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgent.java Wed Nov 26 13:08:10 2014
@@ -28,14 +28,13 @@ import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Properties;
-
import org.apache.sling.api.resource.LoginException;
import org.apache.sling.api.resource.PersistenceException;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.api.resource.ResourceResolverFactory;
import org.apache.sling.distribution.agent.DistributionAgent;
import org.apache.sling.distribution.agent.DistributionAgentException;
-import org.apache.sling.distribution.agent.DistributionRequestAuthorizationStrategy;
+
import org.apache.sling.distribution.communication.DistributionRequest;
import org.apache.sling.distribution.communication.DistributionRequestState;
import org.apache.sling.distribution.communication.DistributionResponse;
@@ -378,7 +377,9 @@ public class SimpleDistributionAgent imp
} catch (PersistenceException e) {
log.error("cannot commit changes to resource resolver", e);
}
- resourceResolver.close();
+ finally {
+ resourceResolver.close();
+ }
}
}
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentFactory.java?rev=1641803&r1=1641802&r2=1641803&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentFactory.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentFactory.java Wed Nov 26 13:08:10 2014
@@ -35,7 +35,6 @@ import org.apache.felix.scr.annotations.
import org.apache.sling.api.resource.ResourceResolverFactory;
import org.apache.sling.commons.osgi.PropertiesUtil;
import org.apache.sling.distribution.agent.DistributionAgent;
-import org.apache.sling.distribution.agent.DistributionRequestAuthorizationStrategy;
import org.apache.sling.distribution.component.impl.DistributionComponentUtils;
import org.apache.sling.distribution.event.impl.DistributionEventFactory;
import org.apache.sling.distribution.packaging.DistributionPackageExporter;
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DistributionComponentUtils.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DistributionComponentUtils.java?rev=1641803&r1=1641802&r2=1641803&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DistributionComponentUtils.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DistributionComponentUtils.java Wed Nov 26 13:08:10 2014
@@ -25,7 +25,7 @@ import java.util.Map;
import org.apache.sling.commons.osgi.PropertiesUtil;
import org.apache.sling.distribution.agent.DistributionAgent;
-import org.apache.sling.distribution.agent.DistributionRequestAuthorizationStrategy;
+import org.apache.sling.distribution.agent.impl.DistributionRequestAuthorizationStrategy;
import org.apache.sling.distribution.agent.impl.PrivilegeDistributionRequestAuthorizationStrategy;
import org.apache.sling.distribution.agent.impl.SimpleDistributionAgentFactory;
import org.apache.sling.distribution.packaging.DistributionPackageExporter;
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/VoidDistributionPackage.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/VoidDistributionPackage.java?rev=1641803&r1=1641802&r2=1641803&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/VoidDistributionPackage.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/VoidDistributionPackage.java Wed Nov 26 13:08:10 2014
@@ -56,7 +56,6 @@ public class VoidDistributionPackage ext
this.requestType = request.getRequestType();
this.id = request.getRequestType().toString()
+ ':' + Arrays.toString(request.getPaths()).replaceAll("\\[", "").replaceAll("\\]", "")
- + ':' + request.getTime()
+ ':' + type;
this.getInfo().setPaths(paths);
this.getInfo().setRequestType(requestType);
@@ -67,12 +66,11 @@ public class VoidDistributionPackage ext
String[] parts = streamString.split(":");
- if (parts.length < 4) return null;
+ if (parts.length < 3) return null;
String actionString = parts[0];
String pathsString = parts[1];
- String timeString = parts[2];
- String typeString = parts[3];
+ String typeString = parts[2];
DistributionRequestType distributionRequestType = DistributionRequestType.fromName(actionString);
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackageBuilder.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackageBuilder.java?rev=1641803&r1=1641802&r2=1641803&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackageBuilder.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackageBuilder.java Wed Nov 26 13:08:10 2014
@@ -23,6 +23,7 @@ import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.util.Properties;
+import java.util.UUID;
import org.apache.commons.io.IOUtils;
import org.apache.jackrabbit.vault.fs.api.ImportMode;
@@ -100,7 +101,7 @@ public class FileVaultDistributionPackag
Properties props = new Properties();
String packageGroup = "sling/distribution";
props.setProperty(VaultPackage.NAME_GROUP, packageGroup);
- String packageName = String.valueOf(request.getTime());
+ String packageName = PACKAGING_TYPE + "_" + System.currentTimeMillis() + "_" + UUID.randomUUID();
props.setProperty(VaultPackage.NAME_NAME, packageName);
props.setProperty(VaultPackage.NAME_VERSION, VERSION);
inf.setProperties(props);
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionTriggerServlet.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionTriggerServlet.java?rev=1641803&r1=1641802&r2=1641803&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionTriggerServlet.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionTriggerServlet.java Wed Nov 26 13:08:10 2014
@@ -101,7 +101,7 @@ public class DistributionTriggerServlet
private void writeEvent(PrintWriter writer, DistributionRequest distributionRequest) {
// write the event type (make sure to include the double newline)
- writer.write("id: " + distributionRequest.getTime() + "\n");
+ writer.write("id: " + System.currentTimeMillis() + "\n");
// write the actual data
// this could be simple text or could be JSON-encoded text that the
@@ -110,7 +110,6 @@ public class DistributionTriggerServlet
// flush the buffers to make sure the container sends the bytes
writer.flush();
- log.debug("SSE event {}: {} {}", new Object[]{distributionRequest.getTime(), distributionRequest.getRequestType(),
- distributionRequest.getPaths()});
+ log.debug("SSE event {} {}", new Object[]{distributionRequest.getRequestType(), distributionRequest.getPaths()});
}
}
Modified: sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentTest.java?rev=1641803&r1=1641802&r2=1641803&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentTest.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentTest.java Wed Nov 26 13:08:10 2014
@@ -22,7 +22,6 @@ import java.util.Arrays;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.api.resource.ResourceResolverFactory;
-import org.apache.sling.distribution.agent.DistributionRequestAuthorizationStrategy;
import org.apache.sling.distribution.communication.DistributionRequest;
import org.apache.sling.distribution.communication.DistributionRequestType;
import org.apache.sling.distribution.communication.DistributionResponse;
Modified: sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/VoidDistributionPackageTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/VoidDistributionPackageTest.java?rev=1641803&r1=1641802&r2=1641803&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/VoidDistributionPackageTest.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/VoidDistributionPackageTest.java Wed Nov 26 13:08:10 2014
@@ -37,17 +37,12 @@ public class VoidDistributionPackageTest
@Test
public void testCreatedAndReadPackagesEquality() throws Exception {
DistributionRequest request = new DistributionRequest(DistributionRequestType.DELETE, "/abc");
- long time = System.currentTimeMillis();
VoidDistributionPackage createdPackage = new VoidDistributionPackage(request);
- VoidDistributionPackage readPackage = VoidDistributionPackage.fromStream(new ByteArrayInputStream(("DELETE:/abc:" + time + ":VOID").getBytes()));
+ VoidDistributionPackage readPackage = VoidDistributionPackage.fromStream(new ByteArrayInputStream(("DELETE:/abc:VOID").getBytes()));
assertEquals(createdPackage.getType(), readPackage.getType());
assertEquals(createdPackage.getInfo().getRequestType(), readPackage.getInfo().getRequestType());
assertEquals(Arrays.toString(createdPackage.getInfo().getPaths()), Arrays.toString(readPackage.getInfo().getPaths()));
- try {
- assertEquals(createdPackage.getId(), readPackage.getId());
- assertTrue(IOUtils.contentEquals(createdPackage.createInputStream(), readPackage.createInputStream()));
- } catch (AssertionError e) {
- // FIXME : at the moment do nothing, as this may be caused by differences in the time encapsulated in the request
- }
+ assertEquals(createdPackage.getId(), readPackage.getId());
+ assertTrue(IOUtils.contentEquals(createdPackage.createInputStream(), readPackage.createInputStream()));
}
}