/*     */ package n38c.exe;
/*     */ 
/*     */ import es.ejie.frmk.control.arranque.Q70GestorArranqueConfiguracionServidor;
/*     */ import java.io.PrintStream;
/*     */ import javax.servlet.http.HttpServletRequest;
/*     */ import javax.xml.parsers.DocumentBuilder;
/*     */ import javax.xml.parsers.DocumentBuilderFactory;
/*     */ import javax.xml.transform.TransformerException;
/*     */ import n38i.exe.N38Excepcion;
/*     */ import n38i.exe.N38ParameterException;
/*     */ import n38sim.config.SimN38Config;
/*     */ import n38sim.config.SimN38ConfigBean;
/*     */ import n38sim.xlnets.SimN38XlnetsService;
/*     */ import org.apache.xpath.XPathAPI;
/*     */ import org.w3c.dom.Document;
/*     */ import org.w3c.dom.Node;
/*     */ import org.w3c.dom.NodeList;
/*     */ 
/*     */ public class N38API
/*     */ {
/*     */   private HttpServletRequest request;
/*     */   private SimN38ConfigBean configBean;
/*     */   private SimN38XlnetsService simN38XlnetsService;
/*     */   private String rutaXmlSesionUsuario;
/*     */ 
/*     */   public N38API(String xlnetsIdSesion)
/*     */   {
/*  35 */     System.out.println("ID session " + xlnetsIdSesion);
/*     */ 
/*  37 */     this.configBean = new SimN38ConfigBean();
/*     */ 
/*  39 */     this.configBean.setIdSesion(xlnetsIdSesion);
/*     */ 
/*  41 */     this.request = null;
/*     */   }
/*     */ 
/*     */   public N38API(HttpServletRequest req)
/*     */   {
/*  54 */     this.request = req;
/*     */ 
/*  56 */     this.configBean = SimN38Config.getConfiguracionSimulacion(this.request);
/*  57 */     this.simN38XlnetsService = new SimN38XlnetsService(this.configBean.getModoOperacion());
/*     */   }
/*     */ 
/*     */   public N38API(Document xml)
/*     */   {
/*  62 */     this.request = null;
/*     */   }
/*     */ 
/*     */   public Document n38ItemSeguridad(String a) {
/*  66 */     System.out.println("N38API.n38ItemSeguridad()" + a);
/*     */ 
/*  68 */     if (SimN38Config.isAplicacionSimuladaPorContextPath(this.configBean))
/*     */     {
/*  70 */       return this.simN38XlnetsService.n38ItemSeguridad(this.configBean.getIdSesion(), a);
/*     */     }
/*     */ 
/*  76 */     return getFichero("n38c/exe/funciones" + a + ".xml");
/*     */   }
/*     */ 
/*     */   public Document n38ItemGrupoPuestos(String paramString)
/*     */   {
/*  81 */     System.out.println("N38API.n38ItemGrupoPuestos()" + paramString);
/*     */ 
/*  83 */     return this.simN38XlnetsService.n38ItemGrupoPuestos(this.configBean.getIdSesion(), paramString);
/*     */   }
/*     */ 
/*     */   public Document n38ItemPuestoGrupos(String paramString)
/*     */   {
/*  88 */     System.out.println("N38API.n38ItemPuestoGrupos()" + paramString);
/*     */ 
/*  90 */     return this.simN38XlnetsService.n38ItemPuestoGrupos(this.configBean.getIdSesion(), paramString);
/*     */   }
/*     */ 
/*     */   public Document n38ItemObtenerPuestos(String paramString) {
/*  94 */     System.out.println("N38API.n38ItemObtenerPuestos()" + paramString);
/*     */ 
/*  96 */     if (SimN38Config.isAplicacionSimuladaPorContextPath(this.configBean))
/*     */     {
/*  98 */       return this.simN38XlnetsService.n38ItemObtenerPuestos(this.configBean.getIdSesion(), paramString);
/*     */     }
/*     */ 
/* 104 */     return getFichero("n38c/exe/obtenerPuestos" + paramString + ".xml");
/*     */   }
/*     */ 
/*     */   public Document n38ItemObtenerPersonas(String paramString)
/*     */   {
/* 111 */     System.out.println("N38API.n38ItemObtenerPersonas()" + paramString);
/*     */ 
/* 113 */     if (SimN38Config.isAplicacionSimuladaPorContextPath(this.configBean))
/*     */     {
/* 115 */       return this.simN38XlnetsService.n38ItemObtenerPersonas(this.configBean.getIdSesion(), paramString);
/*     */     }
/*     */ 
/* 121 */     return getFichero("n38c/exe/obtenerPersonas" + paramString + ".xml");
/*     */   }
/*     */ 
/*     */   public Document n38ItemSesion()
/*     */   {
/* 126 */     System.out.println("N38API.n38ItemSesion()");
/*     */ 
/* 128 */     if (SimN38Config.isAplicacionSimuladaPorContextPath(this.configBean))
/*     */     {
/* 130 */       return this.simN38XlnetsService.n38ItemSesion(this.configBean.getIdSesion());
/*     */     }
/*     */ 
/* 137 */     if (this.request == null) {
/* 138 */       return getFichero(getRutaXMLSesion());
/*     */     }
/* 140 */     if (this.request.getParameter("logon") != null) {
/* 141 */       return getFichero("n38c/exe/error.xml");
/*     */     }
/*     */ 
/* 144 */     return getFichero(getRutaXMLSesion());
/*     */   }
/*     */ 
/*     */   public String[] n38ItemSesion(String paramString)
/*     */     throws N38ParameterException, N38Excepcion
/*     */   {
/* 151 */     System.out.println("N38API.n38ItemSesion(String)");
/*     */ 
/* 154 */     Document xmlSesion = this.simN38XlnetsService.n38ItemSesion(this.configBean.getIdSesion());
/*     */ 
/* 156 */     StringBuffer xpathBuffer = new StringBuffer();
/*     */ 
/* 158 */     xpathBuffer.append("/n38/elementos/elemento/parametro[normalize-space(@id)='").append(paramString).append("']");
/*     */ 
/* 160 */     String[] parametros = (String[])null;
/*     */     try
/*     */     {
/* 163 */       NodeList listaNodos = XPathAPI.selectNodeList(xmlSesion, xpathBuffer.toString());
/*     */ 
/* 165 */       int numNodos = listaNodos.getLength();
/*     */ 
/* 167 */       if (numNodos == 0) {
/* 168 */         System.out.println("No se ha podido obtener el parámetro " + paramString + " del XML de Sesión");
/*     */       }
/*     */       else {
/* 171 */         parametros = new String[numNodos];
/* 172 */         for (int i = 0; i < numNodos; i++) {
/* 173 */           Node nodo = listaNodos.item(i);
/* 174 */           parametros[i] = nodo.getFirstChild().getFirstChild().getNodeValue();
/*     */         }
/*     */       }
/*     */     }
/*     */     catch (TransformerException e)
/*     */     {
/* 180 */       System.out.println("Se ha producido un error al obtener el parametro " + paramString + "del XML de Sesion");
/* 181 */       System.out.println(e);
/*     */     }
/*     */ 
/* 184 */     return parametros;
/*     */   }
/*     */ 
/*     */   public Document n38ItemObtenerAutorizacion(String autorizacion)
/*     */   {
/* 190 */     if (SimN38Config.isAplicacionSimuladaPorContextPath(this.configBean))
/*     */     {
/* 192 */       return this.simN38XlnetsService.n38ItemObtenerAutorizacion(this.configBean.getIdSesion(), autorizacion);
/*     */     }
/*     */ 
/* 198 */     return getFichero("n38c/exe/obtenerAutorizacion" + autorizacion + ".xml");
/*     */   }
/*     */ 
/*     */   public Document n38ItemOrganizacion(N38Estructura n38Estructura)
/*     */   {
/* 203 */     return getFichero("n38c/exe/organizacion" + n38Estructura.getUidEntrada() + ".xml");
/*     */   }
/*     */ 
/*     */   public Document n38ItemObtenerEdificios(String a) {
/* 207 */     throw new IllegalArgumentException("No implementado");
/*     */   }
/*     */ 
/*     */   private Document getFichero(String nombre)
/*     */   {
/* 238 */     Document document = null;
/*     */     try
/*     */     {
/* 241 */       DocumentBuilderFactory factory = 
/* 242 */         DocumentBuilderFactory.newInstance();
/* 243 */       DocumentBuilder builder = factory.newDocumentBuilder();
/* 244 */       document = builder.parse(
/* 245 */         Q70GestorArranqueConfiguracionServidor.getResourceAsStream(nombre));
/*     */     } catch (Exception e) {
/* 247 */       DocumentBuilderFactory factory = 
/* 248 */         DocumentBuilderFactory.newInstance();
/*     */       try {
/* 250 */         DocumentBuilder builder = factory.newDocumentBuilder();
/* 251 */         document = builder.parse(
/* 252 */           Q70GestorArranqueConfiguracionServidor.getResourceAsStream("/n38c/exe/warning.xml"));
/*     */       } catch (Exception ex) {
/* 254 */         System.out.println(ex);
/*     */       }
/*     */     }
/* 257 */     return document;
/*     */   }
/*     */ 
/*     */   private String getRutaXMLSesion()
/*     */   {
/* 262 */     if (this.rutaXmlSesionUsuario == null)
/* 263 */       this.rutaXmlSesionUsuario = 
/* 264 */         N38SesionesUsuarios.getRutaXmlSesionUsuario();
/* 265 */     return this.rutaXmlSesionUsuario;
/*     */   }
/*     */ }

/* Location:           /home/EUROHELP-BILBAO/acarbajo/usr/j2se/xlnets/aplic/n38/lib/weblogic81/n38_eneko.jar
 * Qualified Name:     n38c.exe.N38API
 * JD-Core Version:    0.6.0
 */