Skip to content
Snippets Groups Projects
Commit 74c263c5 authored by felmer's avatar felmer
Browse files

SP-724, BIS-428: Bug fixed, DistributingArchiverTest extended

SVN: 29447
parent 72ee9d46
No related branches found
No related tags found
No related merge requests found
...@@ -16,11 +16,15 @@ ...@@ -16,11 +16,15 @@
package ch.systemsx.cisd.openbis.dss.generic.server; package ch.systemsx.cisd.openbis.dss.generic.server;
import java.io.BufferedInputStream;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream; import java.io.InputStream;
import java.util.List; import java.util.List;
import java.util.zip.CRC32; import java.util.zip.CRC32;
import ch.systemsx.cisd.base.exceptions.CheckedExceptionTunnel;
import ch.systemsx.cisd.common.io.IOUtilities; import ch.systemsx.cisd.common.io.IOUtilities;
import ch.systemsx.cisd.openbis.common.io.hierarchical_content.api.IHierarchicalContent; import ch.systemsx.cisd.openbis.common.io.hierarchical_content.api.IHierarchicalContent;
import ch.systemsx.cisd.openbis.common.io.hierarchical_content.api.IHierarchicalContentNode; import ch.systemsx.cisd.openbis.common.io.hierarchical_content.api.IHierarchicalContentNode;
...@@ -121,8 +125,13 @@ public abstract class AbstractDataSetPackager ...@@ -121,8 +125,13 @@ public abstract class AbstractDataSetPackager
private void addTo(String newRootPath, IHierarchicalContentNode node) private void addTo(String newRootPath, IHierarchicalContentNode node)
{ {
File file = node.tryGetFile();
if (file == null)
{
return;
}
String entryPath = newRootPath + node.getRelativePath(); String entryPath = newRootPath + node.getRelativePath();
if (node.isDirectory()) if (node.isDirectory() && file.isDirectory())
{ {
List<IHierarchicalContentNode> childNodes = node.getChildNodes(); List<IHierarchicalContentNode> childNodes = node.getChildNodes();
if (childNodes.isEmpty()) if (childNodes.isEmpty())
...@@ -137,7 +146,7 @@ public abstract class AbstractDataSetPackager ...@@ -137,7 +146,7 @@ public abstract class AbstractDataSetPackager
} }
} else } else
{ {
long size = node.getFileLength(); long size = file.length();
long checksum = 0; long checksum = 0;
if (isChecksumNeeded()) if (isChecksumNeeded())
{ {
...@@ -147,10 +156,24 @@ public abstract class AbstractDataSetPackager ...@@ -147,10 +156,24 @@ public abstract class AbstractDataSetPackager
checksum = node.getChecksumCRC32(); checksum = node.getChecksumCRC32();
} else } else
{ {
checksum = IOUtilities.getChecksumCRC32(node.getInputStream()); try
{
FileInputStream fileInputStream = new FileInputStream(file);
checksum = IOUtilities.getChecksumCRC32(new BufferedInputStream(fileInputStream));
} catch (Exception ex)
{
throw CheckedExceptionTunnel.wrapIfNecessary(ex);
}
} }
} }
addEntry(entryPath, node.getLastModified(), size, checksum, node.getInputStream()); try
{
FileInputStream fileInputStream = new FileInputStream(file);
addEntry(entryPath, file.lastModified(), size, checksum, new BufferedInputStream(fileInputStream));
} catch (Exception ex)
{
throw CheckedExceptionTunnel.wrapIfNecessary(ex);
}
} }
} }
} }
...@@ -318,7 +318,7 @@ public class DistributedPackagingDataSetFileOperationsManager implements IDataSe ...@@ -318,7 +318,7 @@ public class DistributedPackagingDataSetFileOperationsManager implements IDataSe
@Override @Override
public boolean isHosted() public boolean isHosted()
{ {
return false; return true;
} }
@Override @Override
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment