Add 'sdk/java-v2/' from commit '55f103e336ca9fb8bf1720d2ef4ee8dd4e221118'
[arvados.git] / sdk / java-v2 / src / main / java / org / arvados / client / logic / collection / static / git-logo.png
diff --git a/src/main/java/org/arvados/client/logic/collection/ManifestDecoder.java b/src/main/java/org/arvados/client/logic/collection/ManifestDecoder.java
deleted file mode 100644 (file)
index 6a76a4e..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (C) The Arvados Authors. All rights reserved.
- *
- * SPDX-License-Identifier: AGPL-3.0 OR Apache-2.0
- *
- */
-
-package org.arvados.client.logic.collection;
-
-import org.arvados.client.common.Characters;
-import org.arvados.client.exception.ArvadosClientException;
-import org.arvados.client.logic.keep.KeepLocator;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Objects;
-
-import static java.util.stream.Collectors.toList;
-import static org.arvados.client.common.Patterns.FILE_TOKEN_PATTERN;
-import static org.arvados.client.common.Patterns.LOCATOR_PATTERN;
-
-public class ManifestDecoder {
-
-    public List<ManifestStream> decode(String manifestText) {
-
-        if (manifestText == null || manifestText.isEmpty()) {
-            throw new ArvadosClientException("Manifest text cannot be empty.");
-        }
-
-        List<String> manifestStreams = new ArrayList<>(Arrays.asList(manifestText.split("\\n")));
-        if (!manifestStreams.get(0).startsWith(". ")) {
-            throw new ArvadosClientException("Invalid first path component (expecting \".\")");
-        }
-
-        return manifestStreams.stream()
-                .map(this::decodeSingleManifestStream)
-                .collect(toList());
-    }
-
-    private ManifestStream decodeSingleManifestStream(String manifestStream) {
-        Objects.requireNonNull(manifestStream, "Manifest stream cannot be empty.");
-
-        LinkedList<String> manifestPieces = new LinkedList<>(Arrays.asList(manifestStream.split("\\s+")));
-        String streamName = manifestPieces.poll();
-        String path = ".".equals(streamName) ? "" : streamName.substring(2).concat(Characters.SLASH);
-
-        List<KeepLocator> keepLocators = manifestPieces
-                .stream()
-                .filter(p -> p.matches(LOCATOR_PATTERN))
-                .map(this::getKeepLocator)
-                .collect(toList());
-
-
-        List<FileToken> fileTokens = manifestPieces.stream()
-                .skip(keepLocators.size())
-                .filter(p -> p.matches(FILE_TOKEN_PATTERN))
-                .map(p -> new FileToken(p, path))
-                .collect(toList());
-
-        return new ManifestStream(streamName, keepLocators, fileTokens);
-
-    }
-
-    private KeepLocator getKeepLocator(String locatorString ) {
-        try {
-            return new KeepLocator(locatorString);
-        } catch (Exception e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-}