package net.sourceforge.fenixedu.presentationTier.renderers;
import java.util.ArrayList;
import java.util.List;
import net.sourceforge.fenixedu.domain.Section;
import net.sourceforge.fenixedu.domain.Site;
import net.sourceforge.fenixedu.domain.contents.Content;
import net.sourceforge.fenixedu.domain.contents.MenuEntry;
import net.sourceforge.fenixedu.presentationTier.renderers.functionalities.MenuRenderer;
import net.sourceforge.fenixedu.presentationTier.servlets.filters.functionalities.FilterFunctionalityContext;
import pt.utl.ist.fenix.tools.util.i18n.MultiLanguageString;
/**
* This is a specific renderer used to create the side menu of a UnitSite. This
* renderer is very similar to the standard Site renderer except that it uses
* the subsections of a specific top level section.
*
*
*
* If the site contains a section structure like the one presented then only the
* subsections of top (A and B) are presented.
*
* @author cfgi
*/
public class UnitSiteTopMenuRenderer extends UnitSiteMenuRenderer {
@Override
protected MultiLanguageString getTargetSectionName() {
return i18n("Topo", "Top");
}
@Override
protected List getBaseSections(Site site) {
return new ArrayList();
}
@Override
protected List getDefaultEntries(Site site) {
return new ArrayList();
}
@Override
protected String getPath(FilterFunctionalityContext context, Content content) {
List subPaths = new ArrayList();
subPaths.add(Content.normalize(getTargetSectionName().getContent()));
return MenuRenderer.findPathFor(context.getRequest().getContextPath(), content, context, subPaths);
}
@Override
protected boolean allowsSubMenus() {
return false;
}
}