package nwt.jtlserver.com.service;
import java.io.File;
import java.io.FilenameFilter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.json.JSONObject;
import org.json.XML;
import org.apache.commons.io.FilenameUtils;
import org.codehaus.jackson.JsonParseException;
import org.codehaus.jackson.map.JsonMappingException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import org.w3c.dom.*;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.xml.XmlMapper;
import javax.json.JsonObject;
import javax.xml.parsers.*;
import java.io.*;
import java.nio.charset.Charset;
import java.nio.file.Files;
@Service
public class JTLFileService {
private final Logger log = LoggerFactory.getLogger(JTLFileService.class);
private static ArrayList<File> foundFiles = new ArrayList<File>();
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
public JTLFileService(){
}
public void jtlSearch(File file) throws JsonParseException, JsonMappingException, IOException{
if(file.isDirectory()){
if(file.canRead()){
for(File temp: file.listFiles()){
if(temp.isDirectory()){
jtlSearch(temp);
} else {
if(FilenameUtils.getExtension(temp.getName()).equals("jtl")){
log.info(temp.getAbsolutePath());
convertToJson(temp);
foundFiles.add(temp);
}
}
}
}
}
}
public void convertToJson(File jtlFile) throws JsonParseException, JsonMappingException, IOException {
XmlMapper xmlMapper = new XmlMapper();
List entries = xmlMapper.readValue(jtlFile, List.class);
List<String> lines = Files.readAllLines(jtlFile.toPath(), Charset.defaultCharset());
log.debug(entries.toString());
log.debug(lines.toString());
ObjectMapper jsonMapper = new ObjectMapper();
String json = jsonMapper.writeValueAsString(entries);
log.info(json);
}
}