diff --git a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/data_transfer/Synchronization.java b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/data_transfer/Synchronization.java index f227e35010161ed882b35ee01a3d868c4d429583..bc4c971ac05fccd2c14a2b4a37b6a3c6e4d169fd 100644 --- a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/data_transfer/Synchronization.java +++ b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/data_transfer/Synchronization.java @@ -5,7 +5,6 @@ import java.nio.file.DirectoryStream; import java.nio.file.Files; import java.nio.file.Path; import java.util.Arrays; -import java.util.Map; import java.util.Queue; import java.util.concurrent.ExecutorService; import java.util.concurrent.LinkedBlockingQueue; @@ -23,10 +22,6 @@ public class Synchronization { private Supplier<HaaSFileTransfer> fileTransferSupplier; - private Supplier<Iterable<String>> changedFilesSupplier; - - private Map<String,String> propertiesHolder; - private Path workingDirectory; private Queue<Path> toUpload = new LinkedBlockingQueue<>(); @@ -78,7 +73,7 @@ public class Synchronization { } private UploadingFile createUploadingFile(Path p) { - // TODO Auto-generated method stub + return null; } } diff --git a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/data_transfer/UploadingFileImpl.java b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/data_transfer/UploadingFileImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..0cd502892c413af060844af2e7a52918073658db --- /dev/null +++ b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/data_transfer/UploadingFileImpl.java @@ -0,0 +1,39 @@ +package cz.it4i.fiji.haas.data_transfer; + +import java.io.IOException; +import java.io.InputStream; +import java.nio.file.Files; +import java.nio.file.Path; + +import cz.it4i.fiji.haas_java_client.HaaSClient.UploadingFile; + +public class UploadingFileImpl implements UploadingFile{ + + private final Path path; + + public UploadingFileImpl(Path path) { + this.path = path; + } + + @Override + public InputStream getInputStream() throws IOException { + return Files.newInputStream(path); + } + + @Override + public String getName() { + return path.getFileName().toString(); + } + + @Override + public long getLength() throws IOException { + return Files.size(path); + } + + @Override + public long getLastTime() { + // TODO Auto-generated method stub + return 0; + } + +} diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSClient.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSClient.java index c2aa23c2afad67cbec975cf18d453a7c4bdff3f0..098b34b7aebb132c6d74b759fceb86ad1a880f7a 100644 --- a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSClient.java +++ b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSClient.java @@ -103,11 +103,11 @@ public class HaaSClient { } public interface UploadingFile { - InputStream getInputStream(); + InputStream getInputStream() throws IOException; String getName(); - long getLength(); + long getLength() throws IOException; long getLastTime(); } diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSFileTransferImp.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSFileTransferImp.java index 5cbaf90c68a5b762795ae6b58365bcfdf7948ab1..d103a5c60ab1cf37f669ba1df03f8c4cf41f54e2 100644 --- a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSFileTransferImp.java +++ b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSFileTransferImp.java @@ -41,8 +41,13 @@ class HaaSFileTransferImp implements HaaSFileTransfer { @Override public void upload(Iterable<UploadingFile> files) { - List<Long> totalSizes = StreamSupport.stream(files.spliterator(), false).map(f -> f.getLength()) - .collect(Collectors.toList()); + List<Long> totalSizes = StreamSupport.stream(files.spliterator(), false).map(f -> { + try { + return f.getLength(); + } catch (IOException e1) { + throw new RuntimeException(e1); + } + }).collect(Collectors.toList()); long totalSize = totalSizes.stream().mapToLong(l -> l.longValue()).sum(); TransferFileProgressForHaaSClient progress = new TransferFileProgressForHaaSClient(totalSize, notifier); int index = 0;