Search in sources :

Example 1 with ArviointiasteikkoYleissivistava

use of fi.otavanopisto.pyramus.koski.koodisto.ArviointiasteikkoYleissivistava in project pyramus by otavanopisto.

the class KoskiInternetixLukioStudentHandler method getSubjectMeanGrade.

private ArviointiasteikkoYleissivistava getSubjectMeanGrade(Student student, Subject subject, LukionOppiaineenSuoritus oppiaineenSuoritus) {
    // Jos aineesta on annettu korotettu arvosana, käytetään automaattisesti sitä
    ArviointiasteikkoYleissivistava korotettuArvosana = getSubjectGrade(student, subject);
    if (korotettuArvosana != null) {
        return korotettuArvosana;
    } else {
        List<ArviointiasteikkoYleissivistava> kurssiarvosanat = new ArrayList<>();
        for (LukionKurssinSuoritus kurssinSuoritus : oppiaineenSuoritus.getOsasuoritukset()) {
            List<KurssinArviointi> arvioinnit = kurssinSuoritus.getArviointi();
            Set<ArviointiasteikkoYleissivistava> arvosanat = arvioinnit.stream().map(arviointi -> arviointi.getArvosana().getValue()).collect(Collectors.toSet());
            kurssiarvosanat.add(ArviointiasteikkoYleissivistava.bestGrade(arvosanat));
        }
        return ArviointiasteikkoYleissivistava.meanGrade(kurssiarvosanat);
    }
}
Also used : StudentSubjectSelections(fi.otavanopisto.pyramus.koski.StudentSubjectSelections) Arrays(java.util.Arrays) KoskiPersonState(fi.otavanopisto.pyramus.domainmodel.koski.KoskiPersonState) Date(java.util.Date) KoskiStudentId(fi.otavanopisto.pyramus.koski.KoskiStudentId) LukionOpiskeluoikeus(fi.otavanopisto.pyramus.koski.model.lukio.LukionOpiskeluoikeus) LukionOppiaineenSuoritusEiTiedossa(fi.otavanopisto.pyramus.koski.model.lukio.LukionOppiaineenSuoritusEiTiedossa) LukionKurssit(fi.otavanopisto.pyramus.koski.koodisto.LukionKurssit) StringUtils(org.apache.commons.lang3.StringUtils) OpintojenRahoitus(fi.otavanopisto.pyramus.koski.koodisto.OpintojenRahoitus) KoskiStudyProgrammeHandler(fi.otavanopisto.pyramus.koski.KoskiStudyProgrammeHandler) LukionKurssinTunniste(fi.otavanopisto.pyramus.koski.model.lukio.LukionKurssinTunniste) OpiskelijanOPS(fi.otavanopisto.pyramus.koski.OpiskelijanOPS) LukionOppiaineenSuoritusVierasKieli(fi.otavanopisto.pyramus.koski.model.lukio.LukionOppiaineenSuoritusVierasKieli) Map(java.util.Map) Kielivalikoima(fi.otavanopisto.pyramus.koski.koodisto.Kielivalikoima) LukionOppiaineenArviointi(fi.otavanopisto.pyramus.koski.model.lukio.LukionOppiaineenArviointi) CourseOptionality(fi.otavanopisto.pyramus.domainmodel.base.CourseOptionality) CreditStub(fi.otavanopisto.pyramus.koski.CreditStub) LukionOppiaineenSuoritusMuuValtakunnallinen(fi.otavanopisto.pyramus.koski.model.lukio.LukionOppiaineenSuoritusMuuValtakunnallinen) Predicate(java.util.function.Predicate) Kieli(fi.otavanopisto.pyramus.koski.koodisto.Kieli) Set(java.util.Set) LukionKurssinTyyppi(fi.otavanopisto.pyramus.koski.koodisto.LukionKurssinTyyppi) Logger(java.util.logging.Logger) Collectors(java.util.stream.Collectors) LukionKurssinSuoritus(fi.otavanopisto.pyramus.koski.model.lukio.LukionKurssinSuoritus) OppiaineenSuoritusWithCurriculum(fi.otavanopisto.pyramus.koski.OppiaineenSuoritusWithCurriculum) List(java.util.List) CreditStubCredit(fi.otavanopisto.pyramus.koski.CreditStubCredit) LukionOppiaineenSuoritus(fi.otavanopisto.pyramus.koski.model.lukio.LukionOppiaineenSuoritus) KurssinArviointi(fi.otavanopisto.pyramus.koski.model.KurssinArviointi) OrganisaationToimipisteOID(fi.otavanopisto.pyramus.koski.model.OrganisaationToimipisteOID) OppiaineMatematiikka(fi.otavanopisto.pyramus.koski.koodisto.OppiaineMatematiikka) LukionKurssitOPS2004Aikuiset(fi.otavanopisto.pyramus.koski.koodisto.LukionKurssitOPS2004Aikuiset) StudentSubjectGrade(fi.otavanopisto.pyramus.domainmodel.students.StudentSubjectGrade) KoskiOppiaineetYleissivistava(fi.otavanopisto.pyramus.koski.koodisto.KoskiOppiaineetYleissivistava) StudyEndReasonMapping(fi.otavanopisto.pyramus.koski.settings.StudyEndReasonMapping) KoskiStudyProgrammeHandlerParams(fi.otavanopisto.pyramus.koski.settings.KoskiStudyProgrammeHandlerParams) HashMap(java.util.HashMap) ArrayUtils(org.apache.commons.lang3.ArrayUtils) Course(fi.otavanopisto.pyramus.domainmodel.courses.Course) AbstractKoskiLukioStudentHandler(fi.otavanopisto.pyramus.koski.model.lukio.AbstractKoskiLukioStudentHandler) Credit(fi.otavanopisto.pyramus.domainmodel.grading.Credit) ArrayList(java.util.ArrayList) Level(java.util.logging.Level) HashSet(java.util.HashSet) Inject(javax.inject.Inject) CourseAssessment(fi.otavanopisto.pyramus.domainmodel.grading.CourseAssessment) Student(fi.otavanopisto.pyramus.domainmodel.students.Student) LukionOppiaineenSuoritusAidinkieli(fi.otavanopisto.pyramus.koski.model.lukio.LukionOppiaineenSuoritusAidinkieli) CollectionUtils(org.apache.commons.collections.CollectionUtils) EnumUtils(org.apache.commons.lang3.EnumUtils) LukionKurssinTunnisteValtakunnallinenOPS2004(fi.otavanopisto.pyramus.koski.model.lukio.LukionKurssinTunnisteValtakunnallinenOPS2004) OppiaineAidinkieliJaKirjallisuus(fi.otavanopisto.pyramus.koski.koodisto.OppiaineAidinkieliJaKirjallisuus) LukionOppiaineenSuoritusMatematiikka(fi.otavanopisto.pyramus.koski.model.lukio.LukionOppiaineenSuoritusMatematiikka) TransferCredit(fi.otavanopisto.pyramus.domainmodel.grading.TransferCredit) LukionOppiaineenSuoritusPaikallinen(fi.otavanopisto.pyramus.koski.model.lukio.LukionOppiaineenSuoritusPaikallinen) ArviointiasteikkoYleissivistava(fi.otavanopisto.pyramus.koski.koodisto.ArviointiasteikkoYleissivistava) LukionOppiaineenOppimaaranSuoritus(fi.otavanopisto.pyramus.koski.model.lukio.LukionOppiaineenOppimaaranSuoritus) LukionKurssinTunnistePaikallinen(fi.otavanopisto.pyramus.koski.model.lukio.LukionKurssinTunnistePaikallinen) PaikallinenKoodi(fi.otavanopisto.pyramus.koski.model.PaikallinenKoodi) Subject(fi.otavanopisto.pyramus.domainmodel.base.Subject) LukionKurssinTunnisteValtakunnallinenOPS2015(fi.otavanopisto.pyramus.koski.model.lukio.LukionKurssinTunnisteValtakunnallinenOPS2015) LukionOppiaineenTunniste(fi.otavanopisto.pyramus.koski.model.lukio.LukionOppiaineenTunniste) KurssinArviointi(fi.otavanopisto.pyramus.koski.model.KurssinArviointi) ArrayList(java.util.ArrayList) LukionKurssinSuoritus(fi.otavanopisto.pyramus.koski.model.lukio.LukionKurssinSuoritus) ArviointiasteikkoYleissivistava(fi.otavanopisto.pyramus.koski.koodisto.ArviointiasteikkoYleissivistava)

Example 2 with ArviointiasteikkoYleissivistava

use of fi.otavanopisto.pyramus.koski.koodisto.ArviointiasteikkoYleissivistava in project pyramus by otavanopisto.

the class KoskiInternetixLukioStudentHandler method assessmentsToModel.

private void assessmentsToModel(LukionOpiskeluoikeus opiskeluoikeus, Student student, StudentSubjectSelections studentSubjects, boolean calculateMeanGrades, boolean sisällytäVahvistus, String toimipisteOID, boolean defaultStudyProgramme) {
    List<OpiskelijanOPS> opsList = new ArrayList<>();
    opsList.add(OpiskelijanOPS.ops2016);
    opsList.add(OpiskelijanOPS.ops2005);
    KoskiStudyProgrammeHandlerParams handlerParams = getHandlerParams(HANDLER_TYPE);
    // If this is default study programme of the student, we exclude the incompatible education type (ie list all other edutypes)
    // Otherwise, only list credits from one education type
    Predicate<Credit> predicate = defaultStudyProgramme ? credit -> !matchingEducationTypeFilter(credit, handlerParams.getExcludedEducationTypes()) : credit -> matchingEducationTypeFilter(credit, handlerParams.getEducationTypes());
    Map<OpiskelijanOPS, List<CreditStub>> opsCredits = listCredits(student, true, true, opsList, OpiskelijanOPS.ops2016, predicate);
    Map<String, OppiaineenSuoritusWithCurriculum<LukionOppiaineenSuoritus>> map = new HashMap<>();
    Set<OppiaineenSuoritusWithCurriculum<LukionOppiaineenSuoritus>> accomplished = new HashSet<>();
    for (OpiskelijanOPS ops : opsCredits.keySet()) {
        List<CreditStub> credits = opsCredits.get(ops);
        for (CreditStub credit : credits) {
            OppiaineenSuoritusWithCurriculum<LukionOppiaineenSuoritus> oppiaineenSuoritus = getSubject(ops, student, handlerParams.getEducationTypes(), credit.getSubject(), studentSubjects, map);
            collectAccomplishedMarks(credit.getSubject(), oppiaineenSuoritus, studentSubjects, accomplished);
            if (settings.isReportedCredit(credit) && oppiaineenSuoritus != null) {
                LukionKurssinSuoritus kurssiSuoritus = createKurssiSuoritus(student, ops, credit);
                if (kurssiSuoritus != null) {
                    oppiaineenSuoritus.getOppiaineenSuoritus().addOsasuoritus(kurssiSuoritus);
                } else {
                    logger.warning(String.format("Course %s not reported for student %d due to unresolvable credit.", credit.getCourseCode(), student.getId()));
                    koskiPersonLogDAO.create(student.getPerson(), student, KoskiPersonState.UNREPORTED_CREDIT, new Date(), credit.getCourseCode());
                }
            }
        }
    }
    for (OppiaineenSuoritusWithCurriculum<LukionOppiaineenSuoritus> lukionOppiaineenSuoritus : map.values()) {
        if (CollectionUtils.isEmpty(lukionOppiaineenSuoritus.getOppiaineenSuoritus().getOsasuoritukset())) {
            // Skip empty subjects
            continue;
        }
        StudentSubjectGrade studentSubjectGrade = findStudentSubjectGrade(student, lukionOppiaineenSuoritus.getSubject());
        boolean hasStudentSubjectGrade = studentSubjectGrade != null;
        // Valmiille oppiaineelle on rustattava kokonaisarviointi
        if (calculateMeanGrades || hasStudentSubjectGrade) {
            ArviointiasteikkoYleissivistava aineKeskiarvo = accomplished.contains(lukionOppiaineenSuoritus) ? ArviointiasteikkoYleissivistava.GRADE_S : getSubjectMeanGrade(student, lukionOppiaineenSuoritus.getSubject(), lukionOppiaineenSuoritus.getOppiaineenSuoritus());
            if (aineKeskiarvo != null) {
                Date arviointiPvm = (studentSubjectGrade != null && studentSubjectGrade.getGradeDate() != null) ? studentSubjectGrade.getGradeDate() : student.getStudyEndDate();
                LukionOppiaineenArviointi arviointi = new LukionOppiaineenArviointi(aineKeskiarvo, arviointiPvm);
                lukionOppiaineenSuoritus.getOppiaineenSuoritus().addArviointi(arviointi);
            } else {
                logger.warning(String.format("Unresolved mean grade for person %d.", student.getPerson().getId()));
            }
        }
        LukionOppiaineenSuoritus oppiaineenSuoritus = lukionOppiaineenSuoritus.getOppiaineenSuoritus();
        LukionOppiaineenOppimaaranSuoritus oppiaineenOppimaaranSuoritus = LukionOppiaineenOppimaaranSuoritus.from(oppiaineenSuoritus, Kieli.FI, new OrganisaationToimipisteOID(toimipisteOID));
        oppiaineenOppimaaranSuoritus.getKoulutusmoduuli().setPerusteenDiaarinumero(getDiaarinumero(HANDLER_TYPE, lukionOppiaineenSuoritus.getOps()));
        oppiaineenOppimaaranSuoritus.setTodistuksellaNakyvatLisatiedot(getTodistuksellaNakyvatLisatiedot(student));
        if (hasStudentSubjectGrade) {
            oppiaineenOppimaaranSuoritus.setVahvistus(getVahvistus(student, studentSubjectGrade.getGradeApprover(), studentSubjectGrade.getGradeDate(), toimipisteOID));
        } else if (sisällytäVahvistus) {
            oppiaineenOppimaaranSuoritus.setVahvistus(getVahvistus(student, toimipisteOID));
        }
        opiskeluoikeus.addSuoritus(oppiaineenOppimaaranSuoritus);
    }
}
Also used : LukionOppiaineenOppimaaranSuoritus(fi.otavanopisto.pyramus.koski.model.lukio.LukionOppiaineenOppimaaranSuoritus) HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) CreditStub(fi.otavanopisto.pyramus.koski.CreditStub) LukionOppiaineenSuoritus(fi.otavanopisto.pyramus.koski.model.lukio.LukionOppiaineenSuoritus) LukionOppiaineenArviointi(fi.otavanopisto.pyramus.koski.model.lukio.LukionOppiaineenArviointi) CreditStubCredit(fi.otavanopisto.pyramus.koski.CreditStubCredit) Credit(fi.otavanopisto.pyramus.domainmodel.grading.Credit) TransferCredit(fi.otavanopisto.pyramus.domainmodel.grading.TransferCredit) LukionKurssinSuoritus(fi.otavanopisto.pyramus.koski.model.lukio.LukionKurssinSuoritus) List(java.util.List) ArrayList(java.util.ArrayList) KoskiStudyProgrammeHandlerParams(fi.otavanopisto.pyramus.koski.settings.KoskiStudyProgrammeHandlerParams) HashSet(java.util.HashSet) OppiaineenSuoritusWithCurriculum(fi.otavanopisto.pyramus.koski.OppiaineenSuoritusWithCurriculum) ArviointiasteikkoYleissivistava(fi.otavanopisto.pyramus.koski.koodisto.ArviointiasteikkoYleissivistava) Date(java.util.Date) StudentSubjectGrade(fi.otavanopisto.pyramus.domainmodel.students.StudentSubjectGrade) OpiskelijanOPS(fi.otavanopisto.pyramus.koski.OpiskelijanOPS) OrganisaationToimipisteOID(fi.otavanopisto.pyramus.koski.model.OrganisaationToimipisteOID)

Example 3 with ArviointiasteikkoYleissivistava

use of fi.otavanopisto.pyramus.koski.koodisto.ArviointiasteikkoYleissivistava in project pyramus by otavanopisto.

the class KoskiLukioStudentHandler method assessmentsToModel.

private Set<LukionOppiaineenSuoritus> assessmentsToModel(KoskiStudyProgrammeHandler handler, OpiskelijanOPS ops, Student student, EducationType studentEducationType, StudentSubjectSelections studentSubjects, boolean calculateMeanGrades) {
    Collection<CreditStub> credits = listCredits(student, true, true, ops, credit -> matchingCurriculumFilter(student, credit));
    Set<LukionOppiaineenSuoritus> results = new HashSet<>();
    Map<String, OppiaineenSuoritusWithSubject<LukionOppiaineenSuoritus>> map = new HashMap<>();
    Set<OppiaineenSuoritusWithSubject<LukionOppiaineenSuoritus>> accomplished = new HashSet<>();
    for (CreditStub credit : credits) {
        OppiaineenSuoritusWithSubject<LukionOppiaineenSuoritus> oppiaineenSuoritusWSubject = getSubject(student, ops, studentEducationType, credit.getSubject(), studentSubjects, map);
        collectAccomplishedMarks(credit.getSubject(), oppiaineenSuoritusWSubject, studentSubjects, accomplished);
        if (settings.isReportedCredit(credit) && oppiaineenSuoritusWSubject != null) {
            LukionKurssinSuoritus kurssiSuoritus = createKurssiSuoritus(student, ops, credit);
            if (kurssiSuoritus != null) {
                oppiaineenSuoritusWSubject.getOppiaineenSuoritus().addOsasuoritus(kurssiSuoritus);
            } else {
                logger.warning(String.format("Course %s not reported for student %d due to unresolvable credit.", credit.getCourseCode(), student.getId()));
                koskiPersonLogDAO.create(student.getPerson(), student, KoskiPersonState.UNREPORTED_CREDIT, new Date(), credit.getCourseCode());
            }
        }
    }
    for (OppiaineenSuoritusWithSubject<LukionOppiaineenSuoritus> lukionOppiaineenSuoritusWSubject : map.values()) {
        LukionOppiaineenSuoritus lukionOppiaineenSuoritus = lukionOppiaineenSuoritusWSubject.getOppiaineenSuoritus();
        if (CollectionUtils.isEmpty(lukionOppiaineenSuoritus.getOsasuoritukset())) {
            // Skip empty subjects
            continue;
        }
        // Valmiille oppiaineelle on rustattava kokonaisarviointi
        if (calculateMeanGrades) {
            ArviointiasteikkoYleissivistava aineKeskiarvo = accomplished.contains(lukionOppiaineenSuoritusWSubject) ? ArviointiasteikkoYleissivistava.GRADE_S : getSubjectMeanGrade(student, lukionOppiaineenSuoritusWSubject.getSubject(), lukionOppiaineenSuoritus);
            if (aineKeskiarvo != null) {
                LukionOppiaineenArviointi arviointi = new LukionOppiaineenArviointi(aineKeskiarvo, student.getStudyEndDate());
                lukionOppiaineenSuoritus.addArviointi(arviointi);
            } else {
                logger.warning(String.format("Unresolved mean grade for person %d.", student.getPerson().getId()));
            }
        }
        results.add(lukionOppiaineenSuoritus);
    }
    return results;
}
Also used : HashMap(java.util.HashMap) CreditStub(fi.otavanopisto.pyramus.koski.CreditStub) ArviointiasteikkoYleissivistava(fi.otavanopisto.pyramus.koski.koodisto.ArviointiasteikkoYleissivistava) Date(java.util.Date) OppiaineenSuoritusWithSubject(fi.otavanopisto.pyramus.koski.OppiaineenSuoritusWithSubject) HashSet(java.util.HashSet)

Example 4 with ArviointiasteikkoYleissivistava

use of fi.otavanopisto.pyramus.koski.koodisto.ArviointiasteikkoYleissivistava in project pyramus by otavanopisto.

the class KoskiLukioStudentHandler method getSubjectMeanGrade.

private ArviointiasteikkoYleissivistava getSubjectMeanGrade(Student student, Subject subject, LukionOppiaineenSuoritus oppiaineenSuoritus) {
    // Jos aineesta on annettu korotettu arvosana, käytetään automaattisesti sitä
    ArviointiasteikkoYleissivistava korotettuArvosana = getSubjectGrade(student, subject);
    if (korotettuArvosana != null) {
        return korotettuArvosana;
    } else {
        List<ArviointiasteikkoYleissivistava> kurssiarvosanat = new ArrayList<>();
        for (LukionKurssinSuoritus kurssinSuoritus : oppiaineenSuoritus.getOsasuoritukset()) {
            List<KurssinArviointi> arvioinnit = kurssinSuoritus.getArviointi();
            Set<ArviointiasteikkoYleissivistava> arvosanat = arvioinnit.stream().map(arviointi -> arviointi.getArvosana().getValue()).collect(Collectors.toSet());
            kurssiarvosanat.add(ArviointiasteikkoYleissivistava.bestGrade(arvosanat));
        }
        return ArviointiasteikkoYleissivistava.meanGrade(kurssiarvosanat);
    }
}
Also used : StudentSubjectSelections(fi.otavanopisto.pyramus.koski.StudentSubjectSelections) Opiskeluoikeus(fi.otavanopisto.pyramus.koski.model.Opiskeluoikeus) Arrays(java.util.Arrays) KoskiPersonState(fi.otavanopisto.pyramus.domainmodel.koski.KoskiPersonState) Date(java.util.Date) KoskiStudentId(fi.otavanopisto.pyramus.koski.KoskiStudentId) LukionKurssit(fi.otavanopisto.pyramus.koski.koodisto.LukionKurssit) StringUtils(org.apache.commons.lang3.StringUtils) OpintojenRahoitus(fi.otavanopisto.pyramus.koski.koodisto.OpintojenRahoitus) KoskiStudyProgrammeHandler(fi.otavanopisto.pyramus.koski.KoskiStudyProgrammeHandler) OpiskelijanOPS(fi.otavanopisto.pyramus.koski.OpiskelijanOPS) Map(java.util.Map) Kielivalikoima(fi.otavanopisto.pyramus.koski.koodisto.Kielivalikoima) CourseOptionality(fi.otavanopisto.pyramus.domainmodel.base.CourseOptionality) CreditStub(fi.otavanopisto.pyramus.koski.CreditStub) LukionOppimaara(fi.otavanopisto.pyramus.koski.koodisto.LukionOppimaara) Collection(java.util.Collection) Kieli(fi.otavanopisto.pyramus.koski.koodisto.Kieli) Set(java.util.Set) LukionKurssinTyyppi(fi.otavanopisto.pyramus.koski.koodisto.LukionKurssinTyyppi) Logger(java.util.logging.Logger) Collectors(java.util.stream.Collectors) List(java.util.List) CreditStubCredit(fi.otavanopisto.pyramus.koski.CreditStubCredit) KurssinArviointi(fi.otavanopisto.pyramus.koski.model.KurssinArviointi) EducationType(fi.otavanopisto.pyramus.domainmodel.base.EducationType) OrganisaationToimipiste(fi.otavanopisto.pyramus.koski.model.OrganisaationToimipiste) OrganisaationToimipisteOID(fi.otavanopisto.pyramus.koski.model.OrganisaationToimipisteOID) OppiaineMatematiikka(fi.otavanopisto.pyramus.koski.koodisto.OppiaineMatematiikka) LukionKurssitOPS2004Aikuiset(fi.otavanopisto.pyramus.koski.koodisto.LukionKurssitOPS2004Aikuiset) KoskiOppiaineetYleissivistava(fi.otavanopisto.pyramus.koski.koodisto.KoskiOppiaineetYleissivistava) StudyEndReasonMapping(fi.otavanopisto.pyramus.koski.settings.StudyEndReasonMapping) HashMap(java.util.HashMap) ArrayUtils(org.apache.commons.lang3.ArrayUtils) Course(fi.otavanopisto.pyramus.domainmodel.courses.Course) ArrayList(java.util.ArrayList) Level(java.util.logging.Level) HashSet(java.util.HashSet) Inject(javax.inject.Inject) CourseAssessment(fi.otavanopisto.pyramus.domainmodel.grading.CourseAssessment) Student(fi.otavanopisto.pyramus.domainmodel.students.Student) CollectionUtils(org.apache.commons.collections.CollectionUtils) EnumUtils(org.apache.commons.lang3.EnumUtils) OppiaineAidinkieliJaKirjallisuus(fi.otavanopisto.pyramus.koski.koodisto.OppiaineAidinkieliJaKirjallisuus) TransferCredit(fi.otavanopisto.pyramus.domainmodel.grading.TransferCredit) KoskiConsts(fi.otavanopisto.pyramus.koski.KoskiConsts) ArviointiasteikkoYleissivistava(fi.otavanopisto.pyramus.koski.koodisto.ArviointiasteikkoYleissivistava) PaikallinenKoodi(fi.otavanopisto.pyramus.koski.model.PaikallinenKoodi) Subject(fi.otavanopisto.pyramus.domainmodel.base.Subject) OppiaineenSuoritusWithSubject(fi.otavanopisto.pyramus.koski.OppiaineenSuoritusWithSubject) KurssinArviointi(fi.otavanopisto.pyramus.koski.model.KurssinArviointi) ArrayList(java.util.ArrayList) ArviointiasteikkoYleissivistava(fi.otavanopisto.pyramus.koski.koodisto.ArviointiasteikkoYleissivistava)

Example 5 with ArviointiasteikkoYleissivistava

use of fi.otavanopisto.pyramus.koski.koodisto.ArviointiasteikkoYleissivistava in project pyramus by otavanopisto.

the class KurssinArviointiDeserializer method deserialize.

@Override
public KurssinArviointi deserialize(JsonParser parser, DeserializationContext ctx) throws IOException, JsonProcessingException {
    ObjectCodec codec = parser.getCodec();
    JsonNode tree = codec.readTree(parser);
    String koodiarvo = tree.get("arvosana").get("koodiarvo").asText();
    ArviointiasteikkoYleissivistava arvosana = ArviointiasteikkoYleissivistava.get(koodiarvo);
    if (ArviointiasteikkoYleissivistava.isNumeric(arvosana)) {
        return codec.treeToValue(tree, KurssinArviointiNumeerinen.class);
    } else {
        return codec.treeToValue(tree, KurssinArviointiSanallinen.class);
    }
}
Also used : JsonNode(com.fasterxml.jackson.databind.JsonNode) ObjectCodec(com.fasterxml.jackson.core.ObjectCodec) ArviointiasteikkoYleissivistava(fi.otavanopisto.pyramus.koski.koodisto.ArviointiasteikkoYleissivistava)

Aggregations

ArviointiasteikkoYleissivistava (fi.otavanopisto.pyramus.koski.koodisto.ArviointiasteikkoYleissivistava)24 ArrayList (java.util.ArrayList)17 Date (java.util.Date)13 CreditStub (fi.otavanopisto.pyramus.koski.CreditStub)12 HashMap (java.util.HashMap)12 HashSet (java.util.HashSet)12 KurssinArviointi (fi.otavanopisto.pyramus.koski.model.KurssinArviointi)10 Test (org.junit.Test)9 OpiskelijanOPS (fi.otavanopisto.pyramus.koski.OpiskelijanOPS)8 OppiaineenSuoritusWithSubject (fi.otavanopisto.pyramus.koski.OppiaineenSuoritusWithSubject)8 List (java.util.List)8 KurssinArviointiNumeerinen (fi.otavanopisto.pyramus.koski.model.KurssinArviointiNumeerinen)7 KurssinArviointiSanallinen (fi.otavanopisto.pyramus.koski.model.KurssinArviointiSanallinen)7 OrganisaationToimipisteOID (fi.otavanopisto.pyramus.koski.model.OrganisaationToimipisteOID)7 Subject (fi.otavanopisto.pyramus.domainmodel.base.Subject)6 KoskiPersonState (fi.otavanopisto.pyramus.domainmodel.koski.KoskiPersonState)6 Student (fi.otavanopisto.pyramus.domainmodel.students.Student)6 StudentSubjectSelections (fi.otavanopisto.pyramus.koski.StudentSubjectSelections)6 Kielivalikoima (fi.otavanopisto.pyramus.koski.koodisto.Kielivalikoima)6 OppiaineAidinkieliJaKirjallisuus (fi.otavanopisto.pyramus.koski.koodisto.OppiaineAidinkieliJaKirjallisuus)6