diff options
author | Morgan Richomme <morgan.richomme@orange.com> | 2021-02-04 10:25:28 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@onap.org> | 2021-02-04 10:25:28 +0000 |
commit | 60e4660810c4d7961b5407dc38f4b2826d288816 (patch) | |
tree | a2e5177e3bda3297f02012ae47e294b6694812e1 /src/main/java/com/cmcc/simulator/xml/Utils.java | |
parent | 804f07142c7fdd7b8a38738b80e8cb97859a4344 (diff) | |
parent | be6f49580a7bb98a13021175b8ca363ce02f57cd (diff) |
Merge "Initial code check-in core-nssmf-simulator Issue-ID: INT-1840"honolulu
Diffstat (limited to 'src/main/java/com/cmcc/simulator/xml/Utils.java')
-rw-r--r-- | src/main/java/com/cmcc/simulator/xml/Utils.java | 129 |
1 files changed, 129 insertions, 0 deletions
diff --git a/src/main/java/com/cmcc/simulator/xml/Utils.java b/src/main/java/com/cmcc/simulator/xml/Utils.java new file mode 100644 index 0000000..747420a --- /dev/null +++ b/src/main/java/com/cmcc/simulator/xml/Utils.java @@ -0,0 +1,129 @@ +package com.cmcc.simulator.xml; + +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.io.StringWriter; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +import javax.xml.bind.JAXBContext; +import javax.xml.bind.JAXBException; +import javax.xml.bind.Marshaller; + +public class Utils { + + public static String beanToXml(Object obj, Class<?> load) throws JAXBException { + JAXBContext context = JAXBContext.newInstance(load); + Marshaller marshaller = context.createMarshaller(); + marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); + marshaller.setProperty(Marshaller.JAXB_ENCODING, "utf-8"); + StringWriter writer = new StringWriter(); + marshaller.marshal(obj, writer); + return writer.toString(); + } + + public static void writeToFile(String outputFilePath, String content) { + File file = new File(outputFilePath); + try { + FileWriter writer = new FileWriter(file); + writer.write(content); + writer.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + + public static String createAmfFile(List<Instance> objects) throws JAXBException { + + FileHeader fileHeader = new FileHeader(); + fileHeader.setElementType("AMF"); + fileHeader.setPmVersion("V0.4.0"); + fileHeader.setTimeZone("UTC+8"); + fileHeader.setVendorName("CMCC"); + fileHeader.setPeriod(15); + fileHeader.setStartTime(Utils.getTimeShort()); + fileHeader.setTimeStamp(Utils.getTimeShort()); + + Measurements measurements = new Measurements(); + PmData pmData = new PmData(objects); + N n46 = new N("46", "AMF.RegSub._NS"); + List<N> ns = new ArrayList<>(); + ns.add(n46); + measurements.setN(ns); + measurements.setObjectType("AmfFunction"); + measurements.setPmData(pmData); + + PmFile pmFile = new PmFile(fileHeader, measurements); + String str = Utils.beanToXml(pmFile, PmFile.class); + + str = str.replaceAll("<sns>", ""); + str = str.replaceAll("</sns>", ""); + str = str.replaceAll("((\r\n)|\n)[\\s\t ]*(\\1)+", "$1").replaceAll("^((\r\n)|\n)", ""); + return str; + + } + + public static String createUPFFile(List<Instance> objects) throws Exception { + FileHeader fileHeader = new FileHeader(); + fileHeader.setElementType("UPF"); + fileHeader.setPmVersion("V0.4.0"); + fileHeader.setTimeZone("UTC+8"); + fileHeader.setVendorName("CMCC"); + fileHeader.setPeriod(15); + fileHeader.setStartTime(Utils.getTimeShort()); + fileHeader.setTimeStamp(Utils.getTimeShort()); + + Measurements measurements = new Measurements(); + PmData pmData = new PmData(objects); + N n9 = new N("9", "UPF.N3IncPkt._Dnn"); + N n11 = new N("11", "UPF.N3OgPkt._Dnn"); + List<N> ns = new ArrayList<>(); + ns.add(n9); + ns.add(n11); + measurements.setN(ns); + measurements.setObjectType("UpfFunction"); + measurements.setPmData(pmData); + + PmFile pmFile = new PmFile(fileHeader, measurements); + String str = Utils.beanToXml(pmFile, PmFile.class); + + str = str.replaceAll("<sns>", ""); + str = str.replaceAll("</sns>", ""); + str = str.replaceAll("((\r\n)|\n)[\\s\t ]*(\\1)+", "$1").replaceAll("^((\r\n)|\n)", ""); + return str; + + } + + public static boolean delFile(File file) { + if (!file.exists()) { + return false; + } + + if (file.isDirectory()) { + File[] files = file.listFiles(); + for (File f : files) { + delFile(f); + } + } + return file.delete(); + } + + + public static String getTimeShort() { + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); + Date currentTime = new Date(); + String dateString = formatter.format(currentTime); + return dateString; + } + + public static String getTimeFormat() { + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Date currentTime = new Date(); + String dateString = formatter.format(currentTime); + return dateString; + } + +}
\ No newline at end of file |