package com.ejie.p06b.tools;

import com.ejie.p06b.util.P06BParametros;
import n38a.exe.N38APISesion;
import org.apache.xml.serialize.OutputFormat;
import org.apache.xml.serialize.XMLSerializer;
import org.w3c.dom.Document;

import java.io.IOException;
import java.io.StringWriter;

public class P06bTokenAplicacion {

	public static String prepareXMLSessionTokenAplic() throws IOException {

		String tokenAplic = "";
		N38APISesion sesionAPI = new N38APISesion();
		String aplic = P06BParametros.get("idApp");

		// Se obtiene el xml de sesión de aplicación y se parsea
		Document sesionXML = sesionAPI.n38APISesionCrearApp(aplic);

		StringWriter stringOut = new StringWriter();
		@SuppressWarnings("deprecation")
		OutputFormat format = new OutputFormat(sesionXML);
		@SuppressWarnings("deprecation")
		XMLSerializer serial = new XMLSerializer(stringOut, format);
		serial.serialize(sesionXML);
		tokenAplic = stringOut.toString();
		tokenAplic = tokenAplic.substring(tokenAplic.indexOf("<n38>"),
				tokenAplic.indexOf("</n38>") + 6);
//		try {
//			
//		} catch (Exception e) {
//
//		}
		return tokenAplic;
	}

	public static Document prepareTokenAplic() throws Exception {

		try {
			N38APISesion sesionAPI = new N38APISesion();
			String aplic = P06BParametros.get("idApp");

			// Se obtiene el xml de sesión de aplicación y se parsea
			return sesionAPI.n38APISesionCrearApp(aplic);

		} catch (Exception e) {
			// P43AClsLog.error(e.getMessage(), e);
			return null;
		}
	}

}
