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
_ametysResolver
The ametys object resolver.protected ODFHelper
_odfHelper
ODF helperprotected OdfPageHandler
_odfPageHandler
The odf page handlerstatic String
ROLE
The avalon role.
-
Constructor Summary
Constructors Constructor Description OdfPageResolver()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CoursePage
getCoursePage(Course course, Course parentCourse, String siteName)
Return the course pageCoursePage
getCoursePage(Course course, AbstractProgram parentProgram, String siteName)
Return the course pageCoursePage
getCoursePage(Page odfRootPage, Course course, Course parentCourse)
Return the course pageCoursePage
getCoursePage(Page odfRootPage, Course course, AbstractProgram parentAbstractProgram)
Return the course pageAbstractProgram
getNearestAncestorAbstractProgram(ProgramItem programItem, AbstractProgram parentProgram)
Returns the nearestAbstractProgram
ancestor.List<AbstractProgram>
getNearestAncestorAbstractPrograms(ProgramPart programPart)
Returns the nearestAbstractProgram
ancestors.Course
getNearestAncestorCourse(Course course, AbstractProgram parentProgram)
Returns the nearestCourse
ancestor.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.Program
getParentProgram(ProgramItem programItem, AbstractProgram parentProgram)
Returns the firstProgram
ancestor, ensuring that the given parent content 'parentProgram' is in the hierarchy, if not null.
If 'parentProgram' is null, the firstProgram
ancestor will be returned regardless of parent hierarchy.
If 'parentProgram' is aSubProgram
, the firstProgram
ancestor from thisSubProgram
will be returned regardless of parent hierarchyString
getPathInProgram(ProgramItem item, AbstractProgram parentProgram)
Get the path in sitemap of a ODF content into aProgram
orSubProgram
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.String
getProgramItemPagePath(String siteName, String language, ProgramItem programItem, Program parentProgram)
Get the path of aProgramItem
page into the givenProgram
ProgramPage
getProgramPage(Program program)
Return the program pageProgramPage
getProgramPage(Program program, String siteName)
Return the program pageProgramPage
getProgramPage(Page odfRootPage, Program program)
Return the program pageString
getProgramPagePath(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 itemProgramPage
getSubProgramPage(SubProgram subProgram, AbstractProgram parentProgram, String siteName)
Return the subprogram pageProgramPage
getSubProgramPage(Page odfRootPage, SubProgram subProgram, AbstractProgram parentAbstractProgram)
Return the subprogram pagevoid
service(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:
service
in 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 aProgram
orSubProgram
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 firstProgram
ancestor, ensuring that the given parent content 'parentProgram' is in the hierarchy, if not null.
If 'parentProgram' is null, the firstProgram
ancestor will be returned regardless of parent hierarchy.
If 'parentProgram' is aSubProgram
, the firstProgram
ancestor from thisSubProgram
will be returned regardless of parent hierarchy- Parameters:
programItem
- aProgramItem
parentProgram
- The parent program or subprogram. Can be null.- Returns:
- the parent
Program
into this (sub)program or null if not found
-
getNearestAncestorAbstractPrograms
public List<AbstractProgram> getNearestAncestorAbstractPrograms(ProgramPart programPart)
Returns the nearestAbstractProgram
ancestors.- Parameters:
programPart
- aProgramPart
- Returns:
- the nearest
AbstractProgram
ancestors containing this program part
-
getNearestAncestorAbstractProgram
public AbstractProgram getNearestAncestorAbstractProgram(ProgramItem programItem, AbstractProgram parentProgram)
Returns the nearestAbstractProgram
ancestor.- Parameters:
programItem
- aProgramItem
parentProgram
- The parent program or subprogram- Returns:
- the nearest
AbstractProgram
ancestor into this (sub)program or null if not found
-
getNearestAncestorCourse
public Course getNearestAncestorCourse(Course course, AbstractProgram parentProgram)
Returns the nearestCourse
ancestor.
-
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 aProgramItem
page 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
-
-