コード例 #1
0
  /**
   * @see
   *     es.pode.empaquetador.presentacion.basico.asociar.archivos.AsociacionArchivosController#navegar(org.apache.struts.action.ActionMapping,
   *     es.pode.empaquetador.presentacion.basico.asociar.archivos.NavegarForm,
   *     javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
   */
  public final void navegar(
      ActionMapping mapping,
      es.pode.empaquetador.presentacion.basico.asociar.archivos.NavegarForm form,
      HttpServletRequest request,
      HttpServletResponse response)
      throws Exception {
    GestorSesion gs = new GestorSesion();

    GestorArchivosSession sesArch = this.getGestorArchivosSession(request);
    String referencia = form.getHref();
    List listaPath = sesArch.getPath();

    List ruta = new ArrayList();
    if (logger.isDebugEnabled()) logger.debug("Path es el primer ArchivoVO");
    ArchivoVO path = (ArchivoVO) listaPath.get(0);

    if (logger.isDebugEnabled())
      logger.debug("si el href está aki, se acaba, si no se hace recursividad");
    if (path.getHref().equals(referencia)) {
      ruta.add(path);
    } else {
      if (logger.isDebugEnabled())
        logger.debug("llama a un método recursivo para calcular la ruta");

      List tmpList = gs.rellenarBarraNavegacion(path.getContenidos(), referencia);
      ruta.add(path);
      if (tmpList != null && tmpList.size() > 0) {
        ruta.addAll(tmpList);
      }
    }
    sesArch.setPath(ruta);
    //    	if(!sesArch.getAccion().equals("Normal"))
    //    	{
    //    		sesArch.setModoPegar(true);
    //    	}
  }