@Override
  protected void executeInternal(JobExecutionContext context) throws JobExecutionException {

    logger.debug("Inicio del job para la comprobación del time-out en los envíos");

    try {

      ServicioEntidades servicio = LocalizadorServicios.getServicioEntidades();

      // Procesar los ficheros
      List<Entidad> listaEntidades = servicio.obtenerEntidades();

      logger.debug("Numero Entidades recuperadas:" + listaEntidades.size());

      for (Iterator iterator = listaEntidades.iterator(); iterator.hasNext(); ) {
        Entidad entidad = (Entidad) iterator.next();

        try {
          entidad.getCodigoINE();
          logger.debug("entdidad:" + entidad.getIdentificador());
          MultiEntityContextHolder.setEntity(entidad.getIdentificador());
          getServicioIntercambioRegistral().comprobarTimeOutEnvios();
          context.setResult("Ok");

        } catch (Throwable e) {
          logger.error(
              "Error al lanzar la comprobación del time-out en los envíos para la entidad:"
                  + entidad.getIdentificador(),
              e);
          context.setResult(
              "Error al lanzar la comprobación del time-out en los envíos para la entidad:"
                  + entidad.getIdentificador()
                  + e.toString());
          throw new JobExecutionException(
              "Error al lanzar la comprobación del time-out en los envíospara la entidad:"
                  + entidad.getIdentificador(),
              e);
        } finally {
          logger.info(
              "Fin del job para la comprobación del time-out en los envíos para la entidad:"
                  + entidad.getIdentificador());
        }
      }

    } catch (Throwable e) {
      logger.error("Error al lanzar la comprobación del time-out en los envíos", e);
      context.setResult(
          "Error al lanzar la comprobación del time-out en los envíos: " + e.toString());
      throw new JobExecutionException(
          "Error al lanzar la comprobación del time-out en los envíos", e);
    } finally {
      logger.info("Fin del job para la comprobación del time-out en los envíos");
    }
  }
예제 #2
0
  public ActionForward executeAction(
      ActionMapping mapping,
      ActionForm form,
      HttpServletRequest request,
      HttpServletResponse response)
      throws Exception {

    ActionForward af = null;
    ISicresServicioRPAdmin oServicio = new ISicresServicioRPAdminAdapter();

    LibroForm libroForm = (LibroForm) form;

    if (libroForm.getAutenticacion() != null)
      libroForm.setAutenticacion(String.valueOf(LibroBean.AUTENTICACION_IMAGENES_SI));
    else libroForm.setAutenticacion(String.valueOf(LibroBean.AUTENTICACION_IMAGENES_NO));

    try {
      LibroBean libro = new LibroBean();
      BeanUtils.copyProperties(libro, libroForm);
      Entidad entidad = new Entidad();
      entidad.setIdentificador(MultiEntityContextHolder.getEntity());

      libro.setId(oServicio.crearLibro(libro, entidad));

      // Si se introdujo la lista de volumenes guardamos la asociacion entre el libro y la lista.
      if (libro.getIdLista() > 0)
        oServicio.asociarListaALibro(libro.getId(), libro.getIdLista(), entidad);

      ActionMessages messages = new ActionMessages();
      ActionMessage mesage =
          new ActionMessage("ieci.tecdoc.sgm.rpadmin.libros.resultado.guardadoOK");
      messages.add("Result: ", mesage);
      saveMessages(request, messages);
      af = mapping.findForward("success");

    } catch (ISicresRPAdminException e) {
      logger.error("Error en la aplicación", e);
      ActionErrors errores = new ActionErrors();
      ActionError error = new ActionError("ieci.tecdoc.sgm.rpadmin.error.mensaje", e.getMessage());
      errores.add("Error interno", error);
      saveErrors(request, errores);
      af = mapping.findForward("error");
    }
    return af;
  }
예제 #3
0
  public ActionForward executeAction(
      ActionMapping mapping,
      ActionForm form,
      HttpServletRequest request,
      HttpServletResponse response)
      throws Exception {

    ISicresServicioRPAdmin oServicio = new ISicresServicioRPAdminAdapter();

    // Se obtiene la entidad
    Entidad entidad = new Entidad();
    entidad.setIdentificador(MultiEntityContextHolder.getEntity());

    String id = (String) request.getParameter("idUsuario");
    if (id == null || id.equals("")) {
      id = (String) request.getSession(false).getAttribute("idUsuario");
    }

    if (id != null && !id.equals("")) {
      // Mostramos la página de editarUsuario.jsp
      OptionsBean perfiles = oServicio.obtenerPerfilesCombo(entidad);
      Utils.traducePerfiles(perfiles, LocaleFilterHelper.getCurrentLocale(request));
      request.setAttribute("perfil", perfiles);
      request.setAttribute("oficina", oServicio.obtenerOficinasCombo(entidad));
      // request.setAttribute("id", id);
      request.getSession(false).setAttribute("idUsuario", id);
      UsuarioForm usuarioForm = (UsuarioForm) form;
      UsuarioRegistradorBean usuario = null;
      if (isLdapMethod(entidad.getIdentificador()))
        usuario = oServicio.obtenerUsuarioLdap(Integer.parseInt(id), entidad);
      else usuario = oServicio.obtenerUsuario(Integer.parseInt(id), entidad);

      // request.setAttribute("nombreUsuario", usuario.getNombre());

      // Si no tenemos usuario en el formulario es la primera vez que se carga, rellenar con datos
      // de negocio
      if (usuarioForm.getId() == null) {
        BeanUtils.copyProperties(usuarioForm, usuario);
      }
    }
    return mapping.findForward("success");
  }
예제 #4
0
  protected void loadTree(
      HttpServletRequest request, String cteTree, String cteServiceTree, String start, int treeType)
      throws Exception {

    // Se obtiene la entidad
    Entidad entidad = new Entidad();
    entidad.setIdentificador(MultiEntityContextHolder.getEntity());

    String id = request.getParameter("id");

    boolean borraCookies = false;

    ServiceTree serviceTree = null;
    NaryTree tree;
    if (id == null) {
      LdapConnection ldapConn = new LdapConnection();

      // Obtener la información del servidor
      LdapConnCfg connCfg = UasConfigUtilLdap.createLdapConnConfig(entidad.getIdentificador());
      ldapConn.open(connCfg);

      // Obtener la ruta de búsqueda
      String startNode = start;

      // Obtener el rootDn
      LdapURL Ldap_url = new LdapURL(ldapConn.getUrl());
      String ldapRootDn = Ldap_url.getDN();
      String ldapRootGroupStartDn = Ldap_url.getDN();

      // Si el comienzo de grupos es distinto del rootDn cambiarlo
      if ((startNode != null) && (!"".equals(startNode))) {
        ldapRootGroupStartDn = startNode + "," + ldapRootGroupStartDn;
      }

      NodeImplLDAP nodoRaiz = new NodeImplLDAP();
      tree = new NaryTree(null, nodoRaiz);
      int maxChildrenLdap =
          ((Integer)
                  request
                      .getSession()
                      .getServletContext()
                      .getAttribute(Constantes.MAX_CHILDREN_LDAP))
              .intValue();

      serviceTree = new ServiceTreeLdap(tree, maxChildrenLdap, ldapRootDn, treeType);
      request.getSession(false).setAttribute(cteServiceTree, serviceTree);

      nodoRaiz.setCodigo(ldapRootGroupStartDn);

      // Obtener el objectClass del nodo raíz y establecer si es válido para seleccionar o no
      IeciTdShortTextArrayList arrayList =
          LdapBasicFns.findEntryAttributeValues(
              ldapConn, ldapRootGroupStartDn, LdapAttribute.getObjectClassAttributeName(ldapConn));
      nodoRaiz.setValidForSelection(
          ServiceTreeLdap.isValidForSelection(arrayList, ldapConn, treeType));
      nodoRaiz.setTitle(ServiceTreeLdap.getLdapTitle(ldapRootGroupStartDn));

      int hashCode = serviceTree.getHashCode(ldapRootGroupStartDn);
      nodoRaiz.setId(hashCode);
      LdapService ldapService = new LdapService(maxChildrenLdap, ldapRootDn, treeType);

      boolean hasChildren =
          ldapService.hasChildLdap(ldapRootGroupStartDn, entidad.getIdentificador());
      nodoRaiz.setHasChild(hasChildren);

      // Añadir los hijos al árbol
      serviceTree.addChildren(hashCode, null, entidad, 0, false);
      request.getSession(false).setAttribute(cteTree, tree);

      borraCookies = true;

    } else {

      // Obtener un nodo ya cargado y añadirle sus hijos
      tree = (NaryTree) request.getSession(false).getAttribute(cteTree);
      if (tree == null) {
        logger.error("La estructura de Arbol deberia estar en memoria");
        throw new Exception("La estructura de Arbol deberia estar en memoria");
      }

      serviceTree = (ServiceTree) request.getSession(false).getAttribute(cteServiceTree);

      serviceTree.addChildren(Integer.parseInt(id), null, entidad, 0, false);
    }

    String arbol =
        serviceTree.getTreeString(0, false, LocaleFilterHelper.getCurrentLocale(request));
    request.setAttribute(Constantes.TREE_STRING, arbol);
    Boolean b = new Boolean(borraCookies);

    request.setAttribute(Constantes.BORRA_COOKIES, b);
    request.setAttribute(Constantes.TYPE_TREE, String.valueOf(treeType));
  }
  public ActionForward executeAction(
      ActionMapping mapping,
      ActionForm form,
      HttpServletRequest request,
      HttpServletResponse response)
      throws Exception {

    ISicresServicioRPAdmin oServicio = new ISicresServicioRPAdminAdapter();

    // Se obtiene la entidad
    Entidad entidad = new Entidad();
    entidad.setIdentificador(MultiEntityContextHolder.getEntity());

    String id = request.getParameter("idSelect");
    String isNodoSelected = request.getParameter("nodoSelected");
    String idUnidadSeleccionada = (String) request.getSession(false).getAttribute("idUnidad");
    try {
      // Tipo departamento
      if (isLdapMethod(entidad.getIdentificador())) {
        String nodeDn = null;
        ServiceTree serviceTree =
            (ServiceTree)
                request.getSession(false).getAttribute(Constantes.LDAP_SERVICE_GROUP_TREE);

        if (serviceTree != null) {
          boolean enc = serviceTree.searchNode(serviceTree.getTree(), Integer.parseInt(id));
          if (enc) {
            NodeImplLDAP nodo = (NodeImplLDAP) serviceTree.fin.getRoot();
            nodeDn = nodo.getCodigo(); // Sacar el dn a partir del id del árbol
          } else {
            // TODO OMAR Cambiar esta excepción
            throw new ISicresRPAdminException("No se ha encontrado el nodo en el árbol");
          }
        } else {
          // TODO OMAR Cambiar esta excepción
          throw new ISicresRPAdminException("No se ha encontrado el árbol en sesión");
        }
        int maxChildrenLdap =
            ((Integer)
                    request
                        .getSession()
                        .getServletContext()
                        .getAttribute(Constantes.MAX_CHILDREN_LDAP))
                .intValue();
        oServicio.importarGruposLdap(
            nodeDn,
            maxChildrenLdap,
            LdapConstants.LDAP_TYPE_TREE_GROUP,
            Boolean.valueOf(isNodoSelected).booleanValue(),
            idUnidadSeleccionada,
            entidad);
      } else
        oServicio.importarDepartamentos(
            Integer.parseInt(id),
            Boolean.valueOf(isNodoSelected).booleanValue(),
            idUnidadSeleccionada,
            entidad);
    } catch (ISicresRPAdminException e) {
      logger.error("Error en la aplicación", e);
      ActionErrors errores = new ActionErrors();
      ActionError error = new ActionError("ieci.tecdoc.sgm.rpadmin.error.mensaje", e.getMessage());
      errores.add("Error interno", error);
      saveErrors(request, errores);
      return mapping.findForward("error");
    }
    return mapping.findForward("success");
  }
예제 #6
0
  public ActionForward executeAction(
      ActionMapping mapping,
      ActionForm form,
      HttpServletRequest request,
      HttpServletResponse response)
      throws Exception {

    ISicresServicioRPAdmin oServicio = new ISicresServicioRPAdminAdapter();

    // Se obtiene la entidad
    Entidad entidad = new Entidad();
    entidad.setIdentificador(MultiEntityContextHolder.getEntity());

    String id = request.getParameter("id");
    String idCampoFiltro = request.getParameter("idCampoFiltro");

    boolean filtros;
    if (idCampoFiltro != null && !idCampoFiltro.equals("") && !idCampoFiltro.equals("null")) {
      filtros = true;
    } else {
      idCampoFiltro = "";
      filtros = false;
    }
    boolean borraCookies = false;

    ServiceTree serviceTree =
        request.getSession(false).getAttribute("serviceTreeUnidades") != null
            ? (ServiceTree) request.getSession(false).getAttribute("serviceTreeUnidades")
            : null;

    ResourceBundle rb =
        ResourceBundle.getBundle(
            "ApplicationResource", LocaleFilterHelper.getCurrentLocale(request));
    if (id == null) {
      NaryTree tree = NaryTree.getInstance();

      Node nodoRaiz = new NodeImplBD();

      tree = new NaryTree(null, nodoRaiz);
      serviceTree = new ServiceTreeDept(tree);

      nodoRaiz.setId(0);
      boolean hasChild =
          serviceTree.hasChildren(0, oServicio, entidad, Distribucion.TIPO_ORGANIZACION, filtros);
      nodoRaiz.setHasChild(hasChild);
      nodoRaiz.setTitle(
          rb.getString(
              "ieci.tecdoc.sgm.rpadmin.unidades.titulo.upperCase")); // Cambiar el properties

      if (hasChild)
        serviceTree.addChildren(
            nodoRaiz.getId(), oServicio, entidad, Distribucion.TIPO_ORGANIZACION, filtros);

      borraCookies = true;

      request.getSession(false).setAttribute("serviceTreeUnidades", serviceTree);

    } else {

      serviceTree.addChildren(
          Integer.parseInt(id), oServicio, entidad, Distribucion.TIPO_ORGANIZACION, filtros);
    }

    String arbol =
        serviceTree.getTreeStringOrg(
            Distribucion.TIPO_ORGANIZACION, filtros, LocaleFilterHelper.getCurrentLocale(request));
    request.setAttribute("treeString", arbol);
    Boolean b = new Boolean(borraCookies);
    request.setAttribute("borraCookies", b);
    request.setAttribute("idCampoFiltro", idCampoFiltro);

    return mapping.findForward("success");
  }