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;
26 public abstract class FileCollectClient {
27 protected static final Logger logger = LoggerFactory.getLogger(FtpsClient.class);
29 protected FileServerData fileServerData;
30 protected String remoteFile;
31 protected String localFile;
32 protected ErrorData errorData;
34 public FileCollectResult collectFile(FileServerData fileServerData, String remoteFile, String localFile) {
35 logger.trace("collectFile called with fileServerData: {}, remoteFile: {}, localFile: {}", fileServerData,
36 remoteFile, localFile);
38 this.fileServerData = fileServerData;
39 this.remoteFile = remoteFile;
40 this.localFile = localFile;
42 return retryCollectFile();
45 public abstract FileCollectResult retryCollectFile();
47 protected void addError(String errorMessage, Throwable errorCause) {
48 if (errorData == null) {
49 errorData = new ErrorData();
51 errorData.addError(errorMessage, errorCause);