X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=datafilecollector%2Fsrc%2Fmain%2Fjava%2Forg%2Foran%2Fdatafile%2Fmodel%2FFileData.java;h=33a93276d6dde750d1a349c43b28c657cb518c96;hb=HEAD;hp=c2ef76cd5dd8e619c077f9bd07d2828dd0161927;hpb=f0af18429aec79a590835103fedd753ee5ea93a9;p=nonrtric%2Fplt%2Franpm.git diff --git a/datafilecollector/src/main/java/org/oran/datafile/model/FileData.java b/datafilecollector/src/main/java/org/oran/datafile/model/FileData.java index c2ef76c..33a9327 100644 --- a/datafilecollector/src/main/java/org/oran/datafile/model/FileData.java +++ b/datafilecollector/src/main/java/org/oran/datafile/model/FileData.java @@ -33,10 +33,9 @@ import lombok.Builder; import org.apache.hc.core5.http.NameValuePair; import org.apache.hc.core5.net.URIBuilder; -import org.oran.datafile.commons.FileServerData; -import org.oran.datafile.commons.FileServerData.FileServerDataBuilder; -import org.oran.datafile.commons.Scheme; import org.oran.datafile.configuration.AppConfig; +import org.oran.datafile.exceptions.DatafileTaskException; +import org.oran.datafile.model.FileServerData.FileServerDataBuilder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -48,10 +47,49 @@ import org.slf4j.LoggerFactory; @Builder public class FileData { + public enum Scheme { + FTPES, SFTP, HTTP, HTTPS; + + public static final String DFC_DOES_NOT_SUPPORT_PROTOCOL_ERROR_MSG = "DFC does not support protocol "; + public static final String SUPPORTED_PROTOCOLS_ERROR_MESSAGE = + ". Supported protocols are FTPeS, sFTP, HTTP and HTTPS"; + + /** + * Get a Scheme from a string. + * + * @param schemeString the string to convert to Scheme. + * @return The corresponding Scheme + * @throws DatafileTaskException if the value of the string doesn't match any + * defined scheme. + */ + public static Scheme getSchemeFromString(String schemeString) throws DatafileTaskException { + Scheme result; + if ("FTPES".equalsIgnoreCase(schemeString)) { + result = Scheme.FTPES; + } else if ("SFTP".equalsIgnoreCase(schemeString)) { + result = Scheme.SFTP; + } else if ("HTTP".equalsIgnoreCase(schemeString)) { + result = Scheme.HTTP; + } else if ("HTTPS".equalsIgnoreCase(schemeString)) { + result = Scheme.HTTPS; + } else { + throw new DatafileTaskException( + DFC_DOES_NOT_SUPPORT_PROTOCOL_ERROR_MSG + schemeString + SUPPORTED_PROTOCOLS_ERROR_MESSAGE); + } + return result; + } + + public static boolean isFtpScheme(Scheme scheme) { + return scheme == SFTP || scheme == FTPES; + } + } + private static final Logger logger = LoggerFactory.getLogger(FileData.class); + @SuppressWarnings("java:S1104") public FileReadyMessage.ArrayOfNamedHashMap fileInfo; + @SuppressWarnings("java:S1104") public FileReadyMessage.MessageMetaData messageMetaData; public static Iterable createFileData(FileReadyMessage msg) {