Class OdfPageResolver
- java.lang.Object
-
- org.ametys.runtime.plugin.component.AbstractLogEnabled
-
- org.ametys.plugins.odfweb.repository.OdfPageResolver
-
- All Implemented Interfaces:
LogEnabled,Component,Serviceable
public class OdfPageResolver extends AbstractLogEnabled implements Component, Serviceable
Resolves an ODF page path from the associated ODF content.
-
-
Field Summary
Fields Modifier and Type Field Description protected AmetysObjectResolver_ametysResolverThe ametys object resolver.protected ODFHelper_odfHelperODF helperprotected OdfPageHandler_odfPageHandlerThe odf page handlerstatic StringROLEThe avalon role.
-
Constructor Summary
Constructors Constructor Description OdfPageResolver()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CoursePagegetCoursePage(Course course, Course parentCourse, String siteName)Return the course pageCoursePagegetCoursePage(Course course, AbstractProgram parentProgram, String siteName)Return the course pageCoursePagegetCoursePage(Page odfRootPage, Course course, Course parentCourse)Return the course pageCoursePagegetCoursePage(Page odfRootPage, Course course, AbstractProgram parentAbstractProgram)Return the course pageAbstractProgramgetNearestAncestorAbstractProgram(ProgramItem programItem, AbstractProgram parentProgram)Returns the nearestAbstractProgramancestor.List<AbstractProgram>getNearestAncestorAbstractPrograms(ProgramPart programPart)Returns the nearestAbstractProgramancestors.CoursegetNearestAncestorCourse(Course course, AbstractProgram parentProgram)Returns the nearestCourseancestor.PagegetOdfRootPage(String siteName, String language, String catalog)Get the ODF root page, either in the given site if it exists, or in the default ODF site.ProgramgetParentProgram(ProgramItem programItem, AbstractProgram parentProgram)Returns the firstProgramancestor, ensuring that the given parent content 'parentProgram' is in the hierarchy, if not null.
If 'parentProgram' is null, the firstProgramancestor will be returned regardless of parent hierarchy.
If 'parentProgram' is aSubProgram, the firstProgramancestor from thisSubProgramwill be returned regardless of parent hierarchyStringgetPathInProgram(ProgramItem item, AbstractProgram parentProgram)Get the path in sitemap of a ODF content into aProgramorSubProgram
Be careful, this is the path in sitemap, to get the path of a item into a Program, useODFHelper.getPathInProgram(java.lang.String, java.lang.String)instead.StringgetProgramItemPagePath(String siteName, String language, ProgramItem programItem, Program parentProgram)Get the path of aProgramItempage into the givenProgramProgramPagegetProgramPage(Program program)Return the program pageProgramPagegetProgramPage(Program program, String siteName)Return the program pageProgramPagegetProgramPage(Page odfRootPage, Program program)Return the program pageStringgetProgramPagePath(String siteName, String language, Program program)Get the path of a Program page from the Program content.Set<Page>getReferencingPages(ProgramItem programItem)Get all referencing pages for this program item, in all sites and all sitemapsSet<Page>getReferencingPages(ProgramItem programItem, String siteName, String lang)Get all referencing pages for this program itemProgramPagegetSubProgramPage(SubProgram subProgram, AbstractProgram parentProgram, String siteName)Return the subprogram pageProgramPagegetSubProgramPage(Page odfRootPage, SubProgram subProgram, AbstractProgram parentAbstractProgram)Return the subprogram pagevoidservice(ServiceManager serviceManager)-
Methods inherited from class org.ametys.runtime.plugin.component.AbstractLogEnabled
getLogger, setLogger
-
-
-
-
Field Detail
-
_ametysResolver
protected AmetysObjectResolver _ametysResolver
The ametys object resolver.
-
_odfPageHandler
protected OdfPageHandler _odfPageHandler
The odf page handler
-
_odfHelper
protected ODFHelper _odfHelper
ODF helper
-
-
Constructor Detail
-
OdfPageResolver
public OdfPageResolver()
-
-
Method Detail
-
service
public void service(ServiceManager serviceManager) throws ServiceException
- Specified by:
servicein interfaceServiceable- Throws:
ServiceException
-
getReferencingPages
public Set<Page> getReferencingPages(ProgramItem programItem)
Get all referencing pages for this program item, in all sites and all sitemaps- Parameters:
programItem- The program item- Returns:
- the referencing pages
-
getReferencingPages
public Set<Page> getReferencingPages(ProgramItem programItem, String siteName, String lang)
Get all referencing pages for this program item- Parameters:
programItem- The program itemsiteName- The site name. Can be null to search on all siteslang- The sitemap language. Can be null to search on all sitemaps- Returns:
- the referencing pages
-
getProgramPage
public ProgramPage getProgramPage(Program program)
Return the program page- Parameters:
program- the program- Returns:
- the page program or null
-
getProgramPage
public ProgramPage getProgramPage(Program program, String siteName)
Return the program page- Parameters:
program- the programsiteName- The current site name. If the no ODF root page is present in this site, the default ODF site will be used instead.- Returns:
- the page program or null
-
getProgramPage
public ProgramPage getProgramPage(Page odfRootPage, Program program)
Return the program page- Parameters:
odfRootPage- the odf root pageprogram- the program- Returns:
- the page program or null
-
getSubProgramPage
public ProgramPage getSubProgramPage(SubProgram subProgram, AbstractProgram parentProgram, String siteName)
Return the subprogram page- Parameters:
subProgram- the subprogramparentProgram- The parent programsiteName- The current site name. If the no ODF root page is present in this site, the default ODF site will be used instead.- Returns:
- the subprogram page or null
-
getSubProgramPage
public ProgramPage getSubProgramPage(Page odfRootPage, SubProgram subProgram, AbstractProgram parentAbstractProgram)
Return the subprogram page- Parameters:
odfRootPage- the odf root pagesubProgram- the subprogramparentAbstractProgram- The parent program or subprogram- Returns:
- the subprogram page or null
-
getCoursePage
public CoursePage getCoursePage(Course course, AbstractProgram parentProgram, String siteName)
Return the course page- Parameters:
course- the courseparentProgram- the parent program or subprogram. Can be null.siteName- The current site name. If the no ODF root page is present in this site, the default ODF site will be used instead.- Returns:
- the course page or null if not found
-
getCoursePage
public CoursePage getCoursePage(Page odfRootPage, Course course, AbstractProgram parentAbstractProgram)
Return the course page- Parameters:
odfRootPage- the odf root pagecourse- the courseparentAbstractProgram- the parent program or subprogram. Can be null.- Returns:
- the course page or null if not found
-
getCoursePage
public CoursePage getCoursePage(Course course, Course parentCourse, String siteName)
Return the course page- Parameters:
course- the courseparentCourse- the parent course. Can NOT be null.siteName- The current site name. If the no ODF root page is present in this site, the default ODF site will be used instead.- Returns:
- the course page or null if not found
-
getCoursePage
public CoursePage getCoursePage(Page odfRootPage, Course course, Course parentCourse)
Return the course page- Parameters:
odfRootPage- the odf root pagecourse- the courseparentCourse- the parent course. Can NOT be null.- Returns:
- the course page or null if not found
-
getOdfRootPage
public Page getOdfRootPage(String siteName, String language, String catalog)
Get the ODF root page, either in the given site if it exists, or in the default ODF site.- Parameters:
siteName- the desired site name.language- the sitemap language to search in.catalog- The ODF catalog- Returns:
- the ODF root page, either in the given site if it exists, or in the default ODF site.
-
getPathInProgram
public String getPathInProgram(ProgramItem item, AbstractProgram parentProgram)
Get the path in sitemap of a ODF content into aProgramorSubProgram
Be careful, this is the path in sitemap, to get the path of a item into a Program, useODFHelper.getPathInProgram(java.lang.String, java.lang.String)instead.- Parameters:
item- The program itemparentProgram- The parent root (sub)program. Can be null.- Returns:
- the path in sitemap from the parent program
-
getParentProgram
public Program getParentProgram(ProgramItem programItem, AbstractProgram parentProgram)
Returns the firstProgramancestor, ensuring that the given parent content 'parentProgram' is in the hierarchy, if not null.
If 'parentProgram' is null, the firstProgramancestor will be returned regardless of parent hierarchy.
If 'parentProgram' is aSubProgram, the firstProgramancestor from thisSubProgramwill be returned regardless of parent hierarchy- Parameters:
programItem- aProgramItemparentProgram- The parent program or subprogram. Can be null.- Returns:
- the parent
Programinto this (sub)program or null if not found
-
getNearestAncestorAbstractPrograms
public List<AbstractProgram> getNearestAncestorAbstractPrograms(ProgramPart programPart)
Returns the nearestAbstractProgramancestors.- Parameters:
programPart- aProgramPart- Returns:
- the nearest
AbstractProgramancestors containing this program part
-
getNearestAncestorAbstractProgram
public AbstractProgram getNearestAncestorAbstractProgram(ProgramItem programItem, AbstractProgram parentProgram)
Returns the nearestAbstractProgramancestor.- Parameters:
programItem- aProgramItemparentProgram- The parent program or subprogram- Returns:
- the nearest
AbstractProgramancestor into this (sub)program or null if not found
-
getNearestAncestorCourse
public Course getNearestAncestorCourse(Course course, AbstractProgram parentProgram)
Returns the nearestCourseancestor.
-
getProgramPagePath
public String getProgramPagePath(String siteName, String language, Program program)
Get the path of a Program page from the Program content.- Parameters:
siteName- the site name.language- the language.program- the program.- Returns:
- the page path or empty if no page matches
-
getProgramItemPagePath
public String getProgramItemPagePath(String siteName, String language, ProgramItem programItem, Program parentProgram)
Get the path of aProgramItempage into the givenProgram- Parameters:
siteName- the site namelanguage- the languageprogramItem- the subprogram.parentProgram- The parent program- Returns:
- the page path or empty if no page matches
-
-