CourseGroup parentCourseGroup = readParentCourseGroup(curricularCourseArgs);
CurricularPeriod curricularPeriod = readCurricularPeriod(curricularCourseArgs, degreeCurricularPlan);
ExecutionSemester beginExecutionPeriod = readBeginExecutionPeriod(curricularCourseArgs);
ExecutionSemester endExecutionPeriod = readEndExecutionPeriod(curricularCourseArgs);
final CompetenceCourse competenceCourse = FenixFramework.getDomainObject(curricularCourseArgs.getCompetenceCourseID());
if (competenceCourse == null) {
throw new FenixServiceException("error.noCompetenceCourse");
}
// TODO this is not generic thinking... must find a way to abstract from
// years/semesters
if (competenceCourse.isAnual()) {
degreeCurricularPlan
.createCurricularPeriodFor(curricularCourseArgs.getYear(), curricularCourseArgs.getSemester() + 1);
}
degreeCurricularPlan.createCurricularCourse(curricularCourseArgs.getWeight(), curricularCourseArgs.getPrerequisites(),