package server.mcsv1002.parser;
import org.w3c.dom.Document;
import org.xml.sax.InputSource;
import ru.codeinside.gws.api.XmlTypes;
import server.mcsv1002.request.HouseBookExtractionRequest;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import java.io.StringReader;
import java.util.logging.Level;
import java.util.logging.Logger;
public class RequestParser {
final private Logger logger = Logger.getLogger(getClass().getName());
public HouseBookExtractionRequest parseRequest(byte[] data){
try {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setNamespaceAware(true);
DocumentBuilder documentBuilder = dbf.newDocumentBuilder();
InputSource is = new InputSource(new StringReader(new String(data, "UTF-8")));
Document doc = documentBuilder.parse(is);
return XmlTypes.elementToBean(doc.getDocumentElement(), HouseBookExtractionRequest.class);
} catch (Exception e) {
logger.log(Level.SEVERE, e.getMessage(), e);
return null;
}
}
}