/*     */ package n38sim.net;
/*     */ 
/*     */ import java.io.BufferedReader;
/*     */ import java.io.IOException;
/*     */ import java.io.InputStream;
/*     */ import java.io.InputStreamReader;
/*     */ import java.io.PrintStream;
/*     */ import java.util.HashMap;
/*     */ import java.util.Map;
/*     */ import javax.xml.transform.TransformerException;
/*     */ import n38sim.xlnets.SimN38XlnetsSesionBean;
/*     */ import n38sim.xml.SimN38XmlUtils;
/*     */ import org.apache.commons.httpclient.HttpClient;
/*     */ import org.apache.commons.httpclient.HttpException;
/*     */ import org.apache.commons.httpclient.NameValuePair;
/*     */ import org.apache.commons.httpclient.methods.PostMethod;
/*     */ import org.apache.xpath.XPathAPI;
/*     */ import org.w3c.dom.Document;
/*     */ import org.w3c.dom.NodeList;
/*     */ 
/*     */ public class SimN38Net
/*     */ {
/*     */   private static SimN38Net instancia;
/*     */   private int modoAccesoDatos;
/*  60 */   private static Map tokens = new HashMap(1);
/*     */ 
/*  62 */   private static String xmlBasico = "<n38></n38>";
/*     */ 
/*     */   public static SimN38Net getInstance()
/*     */   {
/*  42 */     if (instancia == null) {
/*  43 */       instancia = new SimN38Net();
/*     */     }
/*  45 */     return instancia;
/*     */   }
/*     */ 
/*     */   public static SimN38Net getInstance(int modoAcceso) {
/*  49 */     if (instancia == null) {
/*  50 */       instancia = new SimN38Net();
/*     */     }
/*     */ 
/*  53 */     instancia.modoAccesoDatos = modoAcceso;
/*     */ 
/*  55 */     return instancia;
/*     */   }
/*     */ 
/*     */   public static String getTokenAplicacion(String codAplic)
/*     */   {
/*  72 */     if (!tokens.containsKey(codAplic)) {
/*  73 */       tokens.put(codAplic, obtenerTokenAplicacion(codAplic));
/*     */     }
/*  75 */     return (String)tokens.get(codAplic);
/*     */   }
/*     */ 
/*     */   public Document getXMLSesion(SimN38XlnetsSesionBean xlNetsSesionBean)
/*     */   {
/*  80 */     System.out.println("XlnetsUtils.getXMLSesion()");
/*     */ 
/*  82 */     return doXLNetsRequest(new SimN38NetCallback(xlNetsSesionBean) { private final SimN38XlnetsSesionBean val$xlNetsSesionBean;
/*     */ 
/*  85 */       protected Map getHeaderParamsMap() { Map mapaParametrosHeader = new HashMap();
/*  86 */         mapaParametrosHeader.put("Cookie", this.val$xlNetsSesionBean.getSesionCokies());
/*     */ 
/*  88 */         return mapaParametrosHeader; }
/*     */ 
/*     */       protected Map getRequestParamsMap()
/*     */       {
/*  92 */         return null;
/*     */       }
/*     */ 
/*     */       protected String getXLNetsServiceUrl() {
/*  96 */         return "http://xlnets.servicios.jakina.ejiedes.net/n38a/N38servletSesionAPISesion.servPru";
/*     */       } } );
/*     */   }
/*     */ 
/*     */   public Document getItemSeguridad(SimN38XlnetsSesionBean xlNetsSesionBean, String itemSeguridad) {
/* 102 */     System.out.println("XlnetsUtils.getItemSeguridad()");
/*     */ 
/* 104 */     return doXLNetsRequest(new SimN38NetCallback(xlNetsSesionBean, itemSeguridad) { private final SimN38XlnetsSesionBean val$xlNetsSesionBean;
/*     */       private final String val$itemSeguridad;
/*     */ 
/* 107 */       protected Map getHeaderParamsMap() { Map mapaParametrosHeader = new HashMap();
/*     */ 
/* 109 */         mapaParametrosHeader.put("Cookie", this.val$xlNetsSesionBean.getSesionCokies());
/*     */ 
/* 111 */         return mapaParametrosHeader; }
/*     */ 
/*     */       protected Map getRequestParamsMap()
/*     */       {
/* 115 */         Map mapaParametrosRequest = new HashMap();
/*     */ 
/* 117 */         mapaParametrosRequest.put("OBJSEGURIDAD", this.val$itemSeguridad);
/* 118 */         mapaParametrosRequest.put("Seguridad", 
/* 119 */           "Obtener+Seguridad");
/*     */ 
/* 121 */         return mapaParametrosRequest;
/*     */       }
/*     */ 
/*     */       protected String getXLNetsServiceUrl() {
/* 125 */         return "http://xlnets.servicios.jakina.ejiedes.net/n38a/N38servletSeguridad.servPru";
/*     */       } } );
/*     */   }
/*     */ 
/*     */   public Document n38ItemGrupoPuestos(SimN38XlnetsSesionBean xlNetsSesionBean, String paramString)
/*     */   {
/* 132 */     System.out.println("XlnetsUtils.n38ItemGrupoPuestos()");
/*     */ 
/* 134 */     return doXLNetsRequest(new SimN38NetCallback(xlNetsSesionBean, paramString) { private final SimN38XlnetsSesionBean val$xlNetsSesionBean;
/*     */       private final String val$paramString;
/*     */ 
/* 137 */       protected Map getHeaderParamsMap() { Map mapaParametrosHeader = new HashMap();
/*     */ 
/* 139 */         mapaParametrosHeader.put("Cookie", this.val$xlNetsSesionBean.getSesionCokies());
/*     */ 
/* 141 */         return mapaParametrosHeader; }
/*     */ 
/*     */       protected Map getRequestParamsMap()
/*     */       {
/* 145 */         Map mapaParametrosRequest = new HashMap();
/*     */ 
/* 147 */         mapaParametrosRequest.put("GRUPOPUESTOS", this.val$paramString);
/* 148 */         mapaParametrosRequest.put("GrupoPuestos", 
/* 149 */           "Obtener+los+Puestos+del+Grupo+de+Usuarios");
/*     */ 
/* 151 */         return mapaParametrosRequest;
/*     */       }
/*     */ 
/*     */       protected String getXLNetsServiceUrl() {
/* 155 */         return "http://xlnets.servicios.jakina.ejiedes.net/n38a/N38servletGrupoPuestos.servPru";
/*     */       } } );
/*     */   }
/*     */ 
/*     */   public Document n38ItemPuestoGrupos(SimN38XlnetsSesionBean xlNetsSesionBean, String paramString) {
/* 161 */     System.out.println("XlnetsUtils.n38ItemPuestoGrupos()");
/*     */ 
/* 163 */     return doXLNetsRequest(new SimN38NetCallback(xlNetsSesionBean, paramString) { private final SimN38XlnetsSesionBean val$xlNetsSesionBean;
/*     */       private final String val$paramString;
/*     */ 
/* 166 */       protected Map getHeaderParamsMap() { Map mapaParametrosHeader = new HashMap();
/*     */ 
/* 168 */         mapaParametrosHeader.put("Cookie", this.val$xlNetsSesionBean.getSesionCokies());
/*     */ 
/* 170 */         return mapaParametrosHeader; }
/*     */ 
/*     */       protected Map getRequestParamsMap()
/*     */       {
/* 174 */         Map mapaParametrosRequest = new HashMap();
/*     */ 
/* 176 */         mapaParametrosRequest.put("PUESTO", this.val$paramString);
/* 177 */         mapaParametrosRequest.put("Puesto", 
/* 178 */           "+Obtener+los+Grupos+a+los+que+pertenece+el+Puesto");
/*     */ 
/* 180 */         return mapaParametrosRequest;
/*     */       }
/*     */ 
/*     */       protected String getXLNetsServiceUrl() {
/* 184 */         return "http://xlnets.servicios.jakina.ejiedes.net/n38a/N38servletPuestoGrupos.servPru";
/*     */       } } );
/*     */   }
/*     */ 
/*     */   public Document n38ItemObtenerPuestos(SimN38XlnetsSesionBean xlNetsSesionBean, String paramString) {
/* 190 */     System.out.println("XlnetsUtils.n38ItemPuestoGrupos()");
/*     */ 
/* 192 */     return doXLNetsRequest(new SimN38NetCallback(xlNetsSesionBean, paramString) { private final SimN38XlnetsSesionBean val$xlNetsSesionBean;
/*     */       private final String val$paramString;
/*     */ 
/* 195 */       protected Map getHeaderParamsMap() { Map mapaParametrosHeader = new HashMap();
/*     */ 
/* 197 */         mapaParametrosHeader.put("Cookie", this.val$xlNetsSesionBean.getSesionCokies());
/*     */ 
/* 199 */         return mapaParametrosHeader; }
/*     */ 
/*     */       protected Map getRequestParamsMap()
/*     */       {
/* 203 */         Map mapaParametrosRequest = new HashMap();
/*     */ 
/* 205 */         mapaParametrosRequest.put("PUESTOS", this.val$paramString);
/* 206 */         mapaParametrosRequest.put("Puestos", 
/* 207 */           "Obtener+Puestos");
/*     */ 
/* 209 */         return mapaParametrosRequest;
/*     */       }
/*     */ 
/*     */       protected String getXLNetsServiceUrl() {
/* 213 */         return "http://xlnets.servicios.jakina.ejiedes.net/n38a/N38servletPuestos.servPru";
/*     */       } } );
/*     */   }
/*     */ 
/*     */   public Document n38ItemObtenerPersonas(SimN38XlnetsSesionBean netsSesionBean, String paramString)
/*     */   {
/* 220 */     System.out.println("XlnetsUtils.n38ItemObtenerPersonas()");
/*     */ 
/* 222 */     return doXLNetsRequest(new SimN38NetCallback(netsSesionBean, paramString) { private final SimN38XlnetsSesionBean val$netsSesionBean;
/*     */       private final String val$paramString;
/*     */ 
/* 225 */       protected Map getHeaderParamsMap() { Map mapaParametrosHeader = new HashMap();
/*     */ 
/* 227 */         mapaParametrosHeader.put("Cookie", this.val$netsSesionBean.getSesionCokies());
/*     */ 
/* 229 */         return mapaParametrosHeader; }
/*     */ 
/*     */       protected Map getRequestParamsMap()
/*     */       {
/* 233 */         Map mapaParametrosRequest = new HashMap();
/*     */ 
/* 235 */         mapaParametrosRequest.put("PERSONAS", this.val$paramString);
/* 236 */         mapaParametrosRequest.put("Personas", 
/* 237 */           "Obtener+Personas");
/*     */ 
/* 239 */         return mapaParametrosRequest;
/*     */       }
/*     */ 
/*     */       protected String getXLNetsServiceUrl() {
/* 243 */         return "http://xlnets.servicios.jakina.ejiedes.net/n38a/N38servletPersonas.servPru";
/*     */       } } );
/*     */   }
/*     */ 
/*     */   public Document n38ItemObtenerAutorizacion(SimN38XlnetsSesionBean netsSesionBean, String paramString)
/*     */   {
/* 250 */     System.out.println("XlnetsUtils.n38ItemObtenerAutorizacion()");
/*     */ 
/* 252 */     return doXLNetsRequest(new SimN38NetCallback(netsSesionBean, paramString) { private final SimN38XlnetsSesionBean val$netsSesionBean;
/*     */       private final String val$paramString;
/*     */ 
/* 255 */       protected Map getHeaderParamsMap() { Map mapaParametrosHeader = new HashMap();
/*     */ 
/* 257 */         mapaParametrosHeader.put("Cookie", this.val$netsSesionBean.getSesionCokies());
/*     */ 
/* 259 */         return mapaParametrosHeader; }
/*     */ 
/*     */       protected Map getRequestParamsMap()
/*     */       {
/* 263 */         Map mapaParametrosRequest = new HashMap();
/*     */ 
/* 265 */         mapaParametrosRequest.put("AUTORIZACION", this.val$paramString);
/* 266 */         mapaParametrosRequest.put("Autorizacion", 
/* 267 */           "Obtener+Autorizacion");
/*     */ 
/* 269 */         return mapaParametrosRequest;
/*     */       }
/*     */ 
/*     */       protected String getXLNetsServiceUrl() {
/* 273 */         return "http://xlnets.servicios.jakina.ejiedes.net/n38a/N38servletAutorizacion.servPru";
/*     */       } } );
/*     */   }
/*     */ 
/*     */   public Document n38ItemTokenAplicacion(String aplicacion) {
/* 279 */     System.out.println("XlnetsUtils.n38ItemTokenAplicacion()");
/*     */ 
/* 281 */     return doXLNetsRequest(new SimN38NetCallback(aplicacion) { private final String val$aplicacion;
/*     */ 
/* 284 */       protected Map getHeaderParamsMap() { return null; }
/*     */ 
/*     */       protected Map getRequestParamsMap()
/*     */       {
/* 288 */         Map mapaParametrosRequest = new HashMap();
/*     */ 
/* 290 */         mapaParametrosRequest.put("APLICACION", this.val$aplicacion);
/* 291 */         mapaParametrosRequest.put("Login+Aplicacion", 
/* 292 */           "Login+Aplicacion");
/*     */ 
/* 294 */         return mapaParametrosRequest;
/*     */       }
/*     */ 
/*     */       protected String getXLNetsServiceUrl() {
/* 298 */         return "http://xlnets.servicios.jakina.ejiedes.net/n38a/N38servletLoginAplicacion";
/*     */       } } );
/*     */   }
/*     */ 
/*     */   private static boolean esXmlValido(Document xml) {
/* 304 */     System.out.println("XlnetsUtils.esXmlValido()");
/*     */     try
/*     */     {
/* 307 */       if ((xml instanceof Document))
/*     */       {
/* 309 */         NodeList nodeList = XPathAPI.selectNodeList(xml, "/n38");
/*     */ 
/* 312 */         return nodeList.getLength() != 0;
/*     */       }
/*     */ 
/* 317 */       return false;
/*     */     }
/*     */     catch (TransformerException e) {
/* 320 */       e.printStackTrace();
/* 321 */     }return false;
/*     */   }
/*     */ 
/*     */   public static void destruirCacheXLNets()
/*     */   {
/*     */   }
/*     */ 
/*     */   private Document doXLNetsRequest(SimN38NetCallback simN38NetCallback)
/*     */   {
/* 338 */     Map mapaParametrosHeader = simN38NetCallback.getHeaderParamsMap();
/* 339 */     Map mapaParametrosRequest = simN38NetCallback.getRequestParamsMap();
/*     */ 
/* 341 */     String xlnetsServiceUrl = simN38NetCallback.getXLNetsServiceUrl();
/*     */     InputStream inputStream;
/*     */     InputStream inputStream;
/* 348 */     if (this.modoAccesoDatos == 1)
/* 349 */       inputStream = SimN38NetUtils.getInstance().realizarPeticionURL(xlnetsServiceUrl, mapaParametrosHeader, mapaParametrosRequest, "172.16.0.9", "1080");
/*     */     else {
/* 351 */       inputStream = SimN38NetUtils.getInstance().realizarPeticionURL(xlnetsServiceUrl, mapaParametrosHeader, mapaParametrosRequest);
/*     */     }
/*     */ 
/* 354 */     Document xml = SimN38XmlUtils.fncCrearDoc(inputStream);
/*     */ 
/* 359 */     if (!esXmlValido(xml)) {
/* 360 */       xml = SimN38XmlUtils.fncCrearDoc(xmlBasico);
/*     */     }
/*     */ 
/* 363 */     return xml;
/*     */   }
/*     */ 
/*     */   private static String obtenerTokenAplicacion(String codAplic)
/*     */   {
/* 368 */     System.out.println("XlnetsUtils.obtenerTokenAplicacion()");
/* 369 */     String tokenAplicacion = null;
/*     */ 
/* 372 */     HttpClient client = new HttpClient();
/*     */ 
/* 375 */     PostMethod method = new PostMethod("http://xlnets.servicios.jakina.ejiedes.net/n38a/N38servletLoginAplicacion");
/*     */ 
/* 378 */     NameValuePair aplic = new NameValuePair("APLICACION", codAplic);
/* 379 */     NameValuePair extra = new NameValuePair("Login+Aplicacion", "Login+Aplicacion");
/*     */ 
/* 381 */     NameValuePair[] parametros = { aplic, extra };
/*     */ 
/* 383 */     method.setRequestBody(parametros);
/*     */     try
/*     */     {
/* 387 */       int statusCode = client.executeMethod(method);
/* 388 */       if (200 == statusCode)
/*     */       {
/* 390 */         InputStream stream = method.getResponseBodyAsStream();
/* 391 */         InputStreamReader reader = new InputStreamReader(stream);
/* 392 */         BufferedReader bufferedReader = new BufferedReader(reader);
/* 393 */         String linea = bufferedReader.readLine();
/* 394 */         StringBuffer buffer = new StringBuffer();
/* 395 */         while (linea != null) {
/* 396 */           buffer.append(linea);
/* 397 */           linea = bufferedReader.readLine();
/*     */         }
/* 399 */         tokenAplicacion = buffer.toString();
/*     */ 
/* 402 */         bufferedReader.close();
/* 403 */         reader.close();
/* 404 */         stream.close();
/*     */       }
/* 406 */       method.releaseConnection();
/*     */     } catch (HttpException e) {
/* 408 */       e.printStackTrace();
/*     */     } catch (IOException e) {
/* 410 */       e.printStackTrace();
/*     */     }
/* 412 */     return tokenAplicacion;
/*     */   }
/*     */ }

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