2 * ============LICENSE_START======================================================================
3 * Copyright (C) 2018 Nordix Foundation. All rights reserved.
4 * ===============================================================================================
5 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
6 * in compliance with the License. You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software distributed under the License
11 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
12 * or implied. See the License for the specific language governing permissions and limitations under
14 * ============LICENSE_END========================================================================
17 package org.onap.dcaegen2.collectors.datafile.ftp;
19 import org.slf4j.Logger;
20 import org.slf4j.LoggerFactory;
23 * @author <a href="mailto:henrik.b.andersson@est.tech">Henrik Andersson</a>
25 public abstract class FileCollectClient {
26 protected static final Logger logger = LoggerFactory.getLogger(FtpsClient.class);
28 protected FileServerData fileServerData;
29 protected String remoteFile;
30 protected String localFile;
31 protected ErrorData errorData;
33 public FileCollectResult collectFile(FileServerData fileServerData, String remoteFile, String localFile) {
34 logger.trace("collectFile called with fileServerData: {}, remoteFile: {}, localFile: {}", fileServerData,
35 remoteFile, localFile);
37 this.fileServerData = fileServerData;
38 this.remoteFile = remoteFile;
39 this.localFile = localFile;
41 return retryCollectFile();
44 public abstract FileCollectResult retryCollectFile();
46 protected void addError(String errorMessage, Throwable errorCause) {
47 if (errorData == null) {
48 errorData = new ErrorData();
50 errorData.addError(errorMessage, errorCause);