X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=datafilecollector%2Fsrc%2Fmain%2Fjava%2Forg%2Foran%2Fdatafile%2Fmodel%2FFileData.java;fp=datafilecollector%2Fsrc%2Fmain%2Fjava%2Forg%2Foran%2Fdatafile%2Fmodel%2FFileData.java;h=4b013be96accd7d22eb5f83704437f4c1b641606;hb=3a9d09f02a50cf1174a6e9ccf8e7d0af88a7ecf3;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..4b013be 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,6 +47,43 @@ 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); public FileReadyMessage.ArrayOfNamedHashMap fileInfo;