diff options
Diffstat (limited to 'openecomp-be/lib/openecomp-core-lib')
-rw-r--r-- | openecomp-be/lib/openecomp-core-lib/openecomp-utilities-lib/src/main/java/org/openecomp/core/utilities/file/FileContentHandler.java | 170 |
1 files changed, 84 insertions, 86 deletions
diff --git a/openecomp-be/lib/openecomp-core-lib/openecomp-utilities-lib/src/main/java/org/openecomp/core/utilities/file/FileContentHandler.java b/openecomp-be/lib/openecomp-core-lib/openecomp-utilities-lib/src/main/java/org/openecomp/core/utilities/file/FileContentHandler.java index d5cd56e058..c96ceeb46a 100644 --- a/openecomp-be/lib/openecomp-core-lib/openecomp-utilities-lib/src/main/java/org/openecomp/core/utilities/file/FileContentHandler.java +++ b/openecomp-be/lib/openecomp-core-lib/openecomp-utilities-lib/src/main/java/org/openecomp/core/utilities/file/FileContentHandler.java @@ -7,9 +7,9 @@ * Licensed 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. @@ -20,8 +20,6 @@ package org.openecomp.core.utilities.file; -import org.apache.commons.collections4.MapUtils; - import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; @@ -31,111 +29,111 @@ import java.util.Optional; import java.util.Set; import java.util.function.Function; +import org.apache.commons.collections4.MapUtils; + public class FileContentHandler { - private Map<String, byte[]> files = new HashMap<>(); + private Map<String, byte[]> files = new HashMap<>(); + + /** + * Gets file content. + * + * @param fileName the file name + * @return the file content + */ + public InputStream getFileContent(String fileName) { - /** - * Gets file content. - * - * @param fileName the file name - * @return the file content - */ - public InputStream getFileContent(String fileName) { + byte[] content = files.get(fileName); + if (content == null || content.length == 0) { + return null; + } - byte[] content = files.get(fileName); - if (content == null || content.length == 0) { - return null; + return new ByteArrayInputStream(content); } - return new ByteArrayInputStream(content); - } - - /** - * Applies a business logic to a file's content while taking care of all retrieval logic. - * - * @param fileName name of a file inside this content handler. - * @param processor the business logic to work on the file's input stream, which may not be set - * (check the {@link Optional} if no such file can be found - * @param <T> return type, may be {@link java.lang.Void} - * - * @return result produced by the processor - */ - public <T> T processFileContent(String fileName, Function<Optional<InputStream>, T> processor) { - - // do not throw IOException to mimic the existing uses of getFileContent() - try (InputStream contentInputStream = getFileContent(fileName)) { - return processor.apply(Optional.ofNullable(contentInputStream)); - } catch (IOException e) { - throw new ProcessingException("Failed to process file: " + fileName, e); + /** + * Applies a business logic to a file's content while taking care of all retrieval logic. + * + * @param fileName name of a file inside this content handler. + * @param processor the business logic to work on the file's input stream, which may not be set + * (check the {@link Optional} if no such file can be found + * @param <T> return type, may be {@link java.lang.Void} + * @return result produced by the processor + */ + public <T> T processFileContent(String fileName, Function<Optional<InputStream>, T> processor) { + + // do not throw IOException to mimic the existing uses of getFileContent() + try (InputStream contentInputStream = getFileContent(fileName)) { + return processor.apply(Optional.ofNullable(contentInputStream)); + } catch (IOException e) { + throw new ProcessingException("Failed to process file: " + fileName, e); + } } - } - public void addFile(String fileName, byte[] content) { - files.put(fileName, content); - } + public void addFile(String fileName, byte[] content) { + files.put(fileName, content); + } - public void addFile(String fileName, InputStream is) { + public void addFile(String fileName, InputStream is) { - files.put(fileName, FileUtils.toByteArray(is)); - } + files.put(fileName, FileUtils.toByteArray(is)); + } - public Map<String, byte[]> getFiles() { - return files; - } + public Map<String, byte[]> getFiles() { + return files; + } - public void setFiles(Map<String, byte[]> files) { - this.files = files; - } + public void setFiles(Map<String, byte[]> files) { + this.files = files; + } - public void setFiles(FileContentHandler extFiles) { - extFiles.getFileList().stream() - .forEach(fileName -> this.addFile(fileName, extFiles.getFileContent(fileName))); - } + public void setFiles(FileContentHandler extFiles) { + extFiles.getFileList().forEach(fileName -> this.addFile(fileName, extFiles.getFileContent(fileName))); + } - public Set<String> getFileList() { - return files.keySet(); - } + public Set<String> getFileList() { + return files.keySet(); + } - public void putAll(Map<String, byte[]> files) { - this.files = files; - } + public void putAll(Map<String, byte[]> files) { + this.files = files; + } - public void addAll(FileContentHandler other) { - this.files.putAll(other.files); - } + public void addAll(FileContentHandler other) { + this.files.putAll(other.files); + } - public boolean isEmpty() { - return MapUtils.isEmpty(this.files); - } + public boolean isEmpty() { + return MapUtils.isEmpty(this.files); + } - public void remove(String fileName) { - files.remove(fileName); - } + public void remove(String fileName) { + files.remove(fileName); + } - public boolean containsFile(String fileName) { - return files.containsKey(fileName); - } + public boolean containsFile(String fileName) { + return files.containsKey(fileName); + } - /** - * An application-specific runtime exception - */ - private static class ProcessingException extends RuntimeException { + /** + * An application-specific runtime exception + */ + private static class ProcessingException extends RuntimeException { - public ProcessingException() { - super(); - } + public ProcessingException() { + super(); + } - public ProcessingException(String message) { - super(message); - } + public ProcessingException(String message) { + super(message); + } - public ProcessingException(Throwable cause) { - super(cause); - } + public ProcessingException(Throwable cause) { + super(cause); + } - public ProcessingException(String msg, Throwable cause) { - super(msg, cause); + public ProcessingException(String msg, Throwable cause) { + super(msg, cause); + } } - } } |