/*
 * Generated by the Jasper component of Apache Tomcat
 * Version: JspC/ApacheTomcat9
 * Generated at: 2025-11-27 16:04:48 UTC
 * Note: The last modified time of this file was set to
 *       the last modified time of the source file after
 *       generation to assist with modification tracking.
 */
package org.apache.jsp.yellowpages.jsp;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;
import org.silverpeas.core.util.WebEncodeHelper;
import java.util.Collection;
import java.util.Iterator;
import org.silverpeas.core.node.model.NodeDetail;
import org.silverpeas.components.yellowpages.model.TopicDetail;
import java.io.IOException;
import org.silverpeas.core.web.util.viewgenerator.html.arraypanes.ArrayPane;
import org.silverpeas.core.web.util.viewgenerator.html.arraypanes.ArrayColumn;
import org.silverpeas.core.web.util.viewgenerator.html.iconpanes.IconPane;
import org.silverpeas.core.web.util.viewgenerator.html.icons.Icon;
import org.silverpeas.core.web.util.viewgenerator.html.arraypanes.ArrayLine;
import org.silverpeas.core.web.util.viewgenerator.html.arraypanes.ArrayCellText;
import org.silverpeas.core.web.util.viewgenerator.html.GraphicElementFactory;
import org.silverpeas.core.util.WebEncodeHelper;

public final class topicReport_jsp extends org.apache.jasper.runtime.HttpJspBase
    implements org.apache.jasper.runtime.JspSourceDependent,
                 org.apache.jasper.runtime.JspSourceImports {


String displayPath(YellowpagesSessionController Scc, Collection path, boolean linked, int beforeAfter) {
      String linkedPathString = new String();
      String pathString = new String();
	  String nodeName = "";
	  String bundleName = null;
      int nbItemInPath = path.size();
      Iterator iterator = path.iterator();
      boolean alreadyCut = false;
      int i = 0;
      while (iterator.hasNext()) {
            NodeDetail nodeInPath = (NodeDetail) iterator.next();
            if ((i <= beforeAfter) || (i + beforeAfter >= nbItemInPath - 1)){
				nodeName = WebEncodeHelper.javaStringToHtmlString(nodeInPath.getName());
        try {
          bundleName = Scc.getString(nodeName);
        } catch (Exception ignore) {
        }
				// VÃ©rifie que le nom n'est pas Corbeille
				if (bundleName != null){
					nodeName = bundleName;
				}
			if (nodeInPath.getNodePK().getId().equals("0"))
				nodeName = WebEncodeHelper.javaStringToHtmlString(Scc.getComponentLabel());
				linkedPathString += "<a href=\"javascript:onClick=topicGoTo('"+nodeInPath.getNodePK().getId()+"')\">"+nodeName+"</a>";
                pathString += WebEncodeHelper.javaStringToHtmlString(nodeInPath.getName());
                if (iterator.hasNext()) {
                      linkedPathString += " > ";
                      pathString += " > ";
                }
           } else {
                if (!alreadyCut) {
                      linkedPathString += " ... > ";
                      pathString += " ... > ";
                      alreadyCut = true;
                }
           }
           i++;
      }
      if (linked)
          return linkedPathString;
      else
          return pathString;
}

TopicDetail displayTopicsToAdmin(YellowpagesSessionController yellowpagesScc, String id, String separator, GraphicElementFactory gef, PageContext pageContext, javax.servlet.ServletRequest request, javax.servlet.http.HttpSession session, MultiSilverpeasBundle resources, JspWriter out) throws
                                                                                                                                                                                                                                                                                             IOException, Exception {
	return displayTopicsToAdmin(yellowpagesScc, id, separator, gef, pageContext, request, session, resources, out, true);
}

TopicDetail displayTopicsToAdmin(YellowpagesSessionController yellowpagesScc, String id, String separator, GraphicElementFactory gef, PageContext pageContext, javax.servlet.ServletRequest request, javax.servlet.http.HttpSession session, MultiSilverpeasBundle resources, JspWriter out, boolean displayOperations) throws IOException, Exception {
      TopicDetail CurrentTopic = yellowpagesScc.getTopic(id);
      NodeDetail nodeDetail = CurrentTopic.getNodeDetail();
      Collection path = CurrentTopic.getPath();

      if (nodeDetail.getChildrenNumber() > 0 ) {
        ArrayPane arrayPane = gef.getArrayPane("topicsList", "topicManager.jsp?Action=Search&Id="+id, request, session);
        ArrayColumn arrayColumn1 = arrayPane.addArrayColumn("&nbsp;");
        arrayColumn1.setSortable(false);
        arrayPane.addArrayColumn(yellowpagesScc.getString("Theme"));
        arrayPane.addArrayColumn(yellowpagesScc.getString("Nb"));
        arrayPane.addArrayColumn(resources.getString("GML.description"));
        
        ArrayColumn arrayColumn2 = null;
        if (displayOperations)
        {
        	arrayColumn2 = arrayPane.addArrayColumn(yellowpagesScc.getString("Operations"));
        	arrayColumn2.setSortable(false);
        }

        NodeDetail node = null;
        String childId;
        String childName;
        String childDescription;
        String nbContact;
        String link;
        Collection nodes = (Collection) nodeDetail.getChildrenDetails();
        Iterator iteratorN = nodes.iterator();
        Collection nbContactByTopic = CurrentTopic.getNbContactByTopic();
        Iterator iteratorNbContact = nbContactByTopic.iterator();
        while (iteratorN.hasNext()) {
                node = (NodeDetail) iteratorN.next();
                nbContact = "?";
                if (iteratorNbContact.hasNext())
                    nbContact = ((Integer) iteratorNbContact.next()).toString();
                childId = node.getNodePK().getId();
                if (childId.equals("1") || childId.equals("2"))
                {
                	//Do not display the basket and the DZ in the list
                }
                else
                {
	                childName 			= node.getName();
	                childDescription 	= node.getDescription();
	                
	                IconPane actionPane 	= gef.getIconPane();
					IconPane 	folderPane 	= gef.getIconPane();
					Icon folder 		= folderPane.addIcon();
	                if (childId.startsWith("group_"))
	                {
	                	link = "GoToGroup?Id="+childId;
	                	folder.setProperties(resources.getIcon("yellowpages.group"), "", link);
	                	
	                	Icon expleIcon2 = actionPane.addIcon();
						expleIcon2.setProperties(resources.getIcon("yellowpages.delete"), yellowpagesScc.getString("SupprimerSousTheme")+" '"+WebEncodeHelper.javaStringToHtmlString(childName)+"'", "javascript:onClick=groupDeleteConfirm('"+childId+"', '"+WebEncodeHelper.javaStringToHtmlString(WebEncodeHelper.javaStringToJsString(childName))+"')");
	                }
	                else
	                {
	                	link = "javascript:onClick=topicGoTo('"+childId+"')";
		                folder.setProperties(resources.getIcon("yellowpages.folder"), "", link);
	                	
	                	Icon expleIcon1 = actionPane.addIcon();
						expleIcon1.setProperties(resources.getIcon("yellowpages.update"), yellowpagesScc.getString("ModifierSousTheme")+" '"+
                WebEncodeHelper.javaStringToHtmlString(childName)+"'", "javascript:onClick=toAddOrUpdateFolder('ToUpdateFolder', '"+childId+"')");
						Icon expleIcon2 = actionPane.addIcon();
						expleIcon2.setProperties(resources.getIcon("yellowpages.delete"),  yellowpagesScc.getString("SupprimerSousTheme")+" '"+WebEncodeHelper.javaStringToHtmlString(childName)+"'", "javascript:onClick=topicDeleteConfirm('"+childId+"', '"+WebEncodeHelper.javaStringToHtmlString(WebEncodeHelper.javaStringToJsString(childName))+"')");
	                }
	                
	                
	                ArrayLine arrayLine = arrayPane.addArrayLine();
					arrayLine.addArrayCellIconPane(folderPane);
	                arrayLine.addArrayCellLink(WebEncodeHelper.javaStringToHtmlString(childName), link);
	                ArrayCellText arrayCellText1 = arrayLine.addArrayCellText(nbContact);
	                arrayCellText1.setCompareOn(new Integer(nbContact));
	                arrayLine.addArrayCellText(WebEncodeHelper.javaStringToHtmlString(childDescription));
	                
	                if (displayOperations)
						arrayLine.addArrayCellIconPane(actionPane);
				}
          } //fin du while
          out.println(arrayPane.print());
      } else {
          out.println("");
      }
      return CurrentTopic;
}

TopicDetail displayTopicsToUsers(YellowpagesSessionController yellowpagesScc, String id, String separator,String profile,GraphicElementFactory gef, PageContext pageContext, javax.servlet.ServletRequest request, javax.servlet.http.HttpSession session, MultiSilverpeasBundle resources, JspWriter out) throws IOException, Exception {
      return displayTopicsToAdmin(yellowpagesScc, id, separator, gef, pageContext, request, session, resources, out, false);
}

  private static final javax.servlet.jsp.JspFactory _jspxFactory =
          javax.servlet.jsp.JspFactory.getDefaultFactory();

  private static java.util.Map<java.lang.String,java.lang.Long> _jspx_dependants;

  private static final java.util.Set<java.lang.String> _jspx_imports_packages;

  private static final java.util.Set<java.lang.String> _jspx_imports_classes;

  static {
    _jspx_imports_packages = new java.util.LinkedHashSet<>(4);
    _jspx_imports_packages.add("javax.servlet");
    _jspx_imports_packages.add("javax.servlet.http");
    _jspx_imports_packages.add("javax.servlet.jsp");
    _jspx_imports_classes = new java.util.LinkedHashSet<>(18);
    _jspx_imports_classes.add("org.silverpeas.components.yellowpages.model.TopicDetail");
    _jspx_imports_classes.add("java.util.Iterator");
    _jspx_imports_classes.add("org.silverpeas.core.util.WebEncodeHelper");
    _jspx_imports_classes.add("org.silverpeas.core.web.util.viewgenerator.html.arraypanes.ArrayPane");
    _jspx_imports_classes.add("java.util.Collection");
    _jspx_imports_classes.add("org.silverpeas.core.web.util.viewgenerator.html.GraphicElementFactory");
    _jspx_imports_classes.add("java.io.IOException");
    _jspx_imports_classes.add("org.silverpeas.core.web.util.viewgenerator.html.icons.Icon");
    _jspx_imports_classes.add("org.silverpeas.core.web.util.viewgenerator.html.iconpanes.IconPane");
    _jspx_imports_classes.add("org.silverpeas.core.web.util.viewgenerator.html.arraypanes.ArrayLine");
    _jspx_imports_classes.add("org.silverpeas.core.node.model.NodeDetail");
    _jspx_imports_classes.add("org.silverpeas.core.web.util.viewgenerator.html.arraypanes.ArrayCellText");
    _jspx_imports_classes.add("org.silverpeas.core.web.util.viewgenerator.html.arraypanes.ArrayColumn");
  }

  private volatile javax.el.ExpressionFactory _el_expressionfactory;
  private volatile org.apache.tomcat.InstanceManager _jsp_instancemanager;

  public java.util.Map<java.lang.String,java.lang.Long> getDependants() {
    return _jspx_dependants;
  }

  public java.util.Set<java.lang.String> getPackageImports() {
    return _jspx_imports_packages;
  }

  public java.util.Set<java.lang.String> getClassImports() {
    return _jspx_imports_classes;
  }

  public javax.el.ExpressionFactory _jsp_getExpressionFactory() {
    if (_el_expressionfactory == null) {
      synchronized (this) {
        if (_el_expressionfactory == null) {
          _el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory();
        }
      }
    }
    return _el_expressionfactory;
  }

  public org.apache.tomcat.InstanceManager _jsp_getInstanceManager() {
    if (_jsp_instancemanager == null) {
      synchronized (this) {
        if (_jsp_instancemanager == null) {
          _jsp_instancemanager = org.apache.jasper.runtime.InstanceManagerFactory.getInstanceManager(getServletConfig());
        }
      }
    }
    return _jsp_instancemanager;
  }

  public void _jspInit() {
  }

  public void _jspDestroy() {
  }

  public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response)
      throws java.io.IOException, javax.servlet.ServletException {

    if (!javax.servlet.DispatcherType.ERROR.equals(request.getDispatcherType())) {
      final java.lang.String _jspx_method = request.getMethod();
      if ("OPTIONS".equals(_jspx_method)) {
        response.setHeader("Allow","GET, HEAD, POST, OPTIONS");
        return;
      }
      if (!"GET".equals(_jspx_method) && !"POST".equals(_jspx_method) && !"HEAD".equals(_jspx_method)) {
        response.setHeader("Allow","GET, HEAD, POST, OPTIONS");
        response.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED, "JSPs only permit GET, POST or HEAD. Jasper also permits OPTIONS");
        return;
      }
    }

    final javax.servlet.jsp.PageContext pageContext;
    javax.servlet.http.HttpSession session = null;
    final javax.servlet.ServletContext application;
    final javax.servlet.ServletConfig config;
    javax.servlet.jsp.JspWriter out = null;
    final java.lang.Object page = this;
    javax.servlet.jsp.JspWriter _jspx_out = null;
    javax.servlet.jsp.PageContext _jspx_page_context = null;


    try {
      response.setContentType("text/html");
      pageContext = _jspxFactory.getPageContext(this, request, response,
      			null, true, 8192, true);
      _jspx_page_context = pageContext;
      application = pageContext.getServletContext();
      config = pageContext.getServletConfig();
      session = pageContext.getSession();
      out = pageContext.getOut();
      _jspx_out = out;

      out.write("\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
    } catch (java.lang.Throwable t) {
      if (!(t instanceof javax.servlet.jsp.SkipPageException)){
        out = _jspx_out;
        if (out != null && out.getBufferSize() != 0)
          try {
            if (response.isCommitted()) {
              out.flush();
            } else {
              out.clearBuffer();
            }
          } catch (java.io.IOException e) {}
        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
        else throw new ServletException(t);
      }
    } finally {
      _jspxFactory.releasePageContext(_jspx_page_context);
    }
  }
}
