Package org.ametys.odf.course
Class ShareableCourseHelper
- java.lang.Object
-
- org.ametys.runtime.plugin.component.AbstractLogEnabled
-
- org.ametys.odf.course.ShareableCourseHelper
-
- All Implemented Interfaces:
LogEnabled,Component,Configurable,Serviceable
public class ShareableCourseHelper extends AbstractLogEnabled implements Component, Serviceable, Configurable
Helper for shareable course
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classShareableCourseHelper.ShareableConfigurationprivate static classShareableCourseHelper.ShareableField
-
Field Summary
Fields Modifier and Type Field Description private static String__OWN_KEYprotected ODFHelper_odfHelperThe ODF helperprotected OdfReferenceTableHelper_odfRefTableHelperThe ODF reference table helperprotected AmetysObjectResolver_resolverThe Ametys object resolverprotected ShareableCourseHelper.ShareableConfiguration_shareableCourseConfigurationThe shareable course configurationprotected ShareableCourseStatusHelper_shareableCourseStatusThe shareable course statusstatic StringROLEThe component role.
-
Constructor Summary
Constructors Constructor Description ShareableCourseHelper()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private String_getItemIdFromCDM(String cdmValue, String contentType)private boolean_isContentExist(String contentId)protected boolean_parseAutoValidated(Configuration configuration)Parse configuration to know if courses are validated after initializationprotected ShareableCourseHelper.ShareableConfiguration_parseConfiguration(Configuration configuration)Parse configuration to create a shareable course configurationprotected ShareableCourseHelper.ShareableField_parseDegreeField(Configuration configuration)Parse configuration to get degree fieldprotected ShareableCourseHelper.ShareableField_parseOrgUnitField(Configuration configuration)Parse configuration to get orgUnit fieldprotected ShareableCourseHelper.ShareableField_parsePeriodField(Configuration configuration)Parse configuration to get period fieldprotected ShareableCourseHelper.ShareableField_parseProgramField(Configuration configuration)Parse configuration to get program fieldvoidconfigure(Configuration configuration)Set<String>getDegrees(Set<Program> programs)Get degrees from programsSet<String>getOrgUnits(Set<Program> programs)Get orgUnits from programsSet<String>getPeriods(Set<Container> containers)Get periods from containersSet<String>getProgramIds(Set<Program> programs)Get programs ids from programsAmetysObjectIterable<Course>getShareableCourses(String programId, String degreeId, String periodId, String orgUnitId)Get theCourses with shareable filters matching the given argumentsbooleanhandleShareableCourse()Return true if shareable course are handledbooleaninitializeShareableFields(Course courseContent, List<CourseList> courseListContents, UserIdentity user, boolean ignoreRights)Initialize the shareable course fieldsbooleaninitializeShareableFields(Course courseContent, CourseList courseListContent, UserIdentity user, boolean ignoreRights)Initialize the shareable course fieldsbooleanisShareableFieldsMatch(Course courseContent, CourseList courseList)True if shareable course fields match with the course listvoidservice(ServiceManager manager)-
Methods inherited from class org.ametys.runtime.plugin.component.AbstractLogEnabled
getLogger, setLogger
-
-
-
-
Field Detail
-
__OWN_KEY
private static final String __OWN_KEY
- See Also:
- Constant Field Values
-
_shareableCourseConfiguration
protected ShareableCourseHelper.ShareableConfiguration _shareableCourseConfiguration
The shareable course configuration
-
_odfRefTableHelper
protected OdfReferenceTableHelper _odfRefTableHelper
The ODF reference table helper
-
_shareableCourseStatus
protected ShareableCourseStatusHelper _shareableCourseStatus
The shareable course status
-
_odfHelper
protected ODFHelper _odfHelper
The ODF helper
-
_resolver
protected AmetysObjectResolver _resolver
The Ametys object resolver
-
-
Constructor Detail
-
ShareableCourseHelper
public ShareableCourseHelper()
-
-
Method Detail
-
service
public void service(ServiceManager manager) throws ServiceException
- Specified by:
servicein interfaceServiceable- Throws:
ServiceException
-
configure
public void configure(Configuration configuration) throws ConfigurationException
- Specified by:
configurein interfaceConfigurable- Throws:
ConfigurationException
-
_parseConfiguration
protected ShareableCourseHelper.ShareableConfiguration _parseConfiguration(Configuration configuration)
Parse configuration to create a shareable course configuration- Parameters:
configuration- the configuration- Returns:
- the shareable course configuration
-
_parseAutoValidated
protected boolean _parseAutoValidated(Configuration configuration)
Parse configuration to know if courses are validated after initialization- Parameters:
configuration- the configuration- Returns:
trueif courses are validated after initialization
-
_parseProgramField
protected ShareableCourseHelper.ShareableField _parseProgramField(Configuration configuration)
Parse configuration to get program field- Parameters:
configuration- the configuration- Returns:
- the program field
-
_parseDegreeField
protected ShareableCourseHelper.ShareableField _parseDegreeField(Configuration configuration)
Parse configuration to get degree field- Parameters:
configuration- the configuration- Returns:
- the degree field
-
_parsePeriodField
protected ShareableCourseHelper.ShareableField _parsePeriodField(Configuration configuration)
Parse configuration to get period field- Parameters:
configuration- the configuration- Returns:
- the period field
-
_parseOrgUnitField
protected ShareableCourseHelper.ShareableField _parseOrgUnitField(Configuration configuration)
Parse configuration to get orgUnit field- Parameters:
configuration- the configuration- Returns:
- the orgUnit field
-
_getItemIdFromCDM
private String _getItemIdFromCDM(String cdmValue, String contentType)
-
_isContentExist
private boolean _isContentExist(String contentId)
-
initializeShareableFields
public boolean initializeShareableFields(Course courseContent, CourseList courseListContent, UserIdentity user, boolean ignoreRights)
Initialize the shareable course fields- Parameters:
courseContent- the course content to initializecourseListContent- the course list parent. Can be nulluser- the user who initialize the shareable fieldsignoreRights- true to ignore user rights- Returns:
trueif there are changes
-
initializeShareableFields
public boolean initializeShareableFields(Course courseContent, List<CourseList> courseListContents, UserIdentity user, boolean ignoreRights)
Initialize the shareable course fields- Parameters:
courseContent- the course content to initializecourseListContents- the list of course list parents. Can be emptyuser- the user who initialize the shareable fieldsignoreRights- true to ignore user rights- Returns:
trueif there are changes
-
isShareableFieldsMatch
public boolean isShareableFieldsMatch(Course courseContent, CourseList courseList)
True if shareable course fields match with the course list- Parameters:
courseContent- the shareable coursecourseList- the course list- Returns:
trueif shareable course fields match with the course list
-
getProgramIds
public Set<String> getProgramIds(Set<Program> programs)
Get programs ids from programs- Parameters:
programs- the list of programs- Returns:
- the list of progam ids
-
getDegrees
public Set<String> getDegrees(Set<Program> programs)
Get degrees from programs- Parameters:
programs- the list of programs- Returns:
- the list of degrees
-
getPeriods
public Set<String> getPeriods(Set<Container> containers)
Get periods from containers- Parameters:
containers- the list of containers- Returns:
- the list of periods
-
getOrgUnits
public Set<String> getOrgUnits(Set<Program> programs)
Get orgUnits from programs- Parameters:
programs- the list of programs- Returns:
- the list of orgUnits
-
handleShareableCourse
public boolean handleShareableCourse()
Return true if shareable course are handled- Returns:
trueif shareable course are handled
-
getShareableCourses
public AmetysObjectIterable<Course> getShareableCourses(String programId, String degreeId, String periodId, String orgUnitId)
Get theCourses with shareable filters matching the given arguments- Parameters:
programId- the program id. Can be nulldegreeId- the degree id. Can be nullperiodId- the period id. Can be nullorgUnitId- the orgUnit id. Can be null- Returns:
- The matching courses
-
-