diff --git a/module/Finna/src/Finna/RecordDriver/AipaLrmi.php b/module/Finna/src/Finna/RecordDriver/AipaLrmi.php index 88458e5c3e4..a3bf2a67c38 100644 --- a/module/Finna/src/Finna/RecordDriver/AipaLrmi.php +++ b/module/Finna/src/Finna/RecordDriver/AipaLrmi.php @@ -320,13 +320,48 @@ protected function getEncapsulatedRecordFormat($item): string public function getFilteredXMLElement(): \SimpleXMLElement { $record = parent::getFilteredXMLElement(); - $filterFields = ['abstract', 'description']; + $this->doFilterFields($record, ['abstract', 'description', 'assignmentIdeas']); + foreach ($record->material as $material) { + $this->doFilterFields($material, ['comment']); + } + foreach ($record->learningResource as $learningResource) { + $this->doFilterFields($learningResource, ['studyObjectives']); + foreach ($learningResource->educationalLevel as $educationalLevel) { + $this->doFilterFields($educationalLevel, ['name']); + foreach ($educationalLevel->inDefinedTermSet as $inDefinedTermSet) { + $this->doFilterFields($inDefinedTermSet, ['name']); + } + } + foreach ($learningResource->educationalAlignment as $educationalAlignment) { + foreach ($educationalAlignment->educationalSubject as $educationalSubject) { + $this->doFilterFields( + $educationalSubject, + ['educationalFramework', 'targetName'] + ); + } + } + foreach ($learningResource->teaches as $teaches) { + $this->doFilterFields($teaches, ['name']); + } + } + return $record; + } + + /** + * Helper method for filtering fields. + * + * @param \SimpleXMLElement $baseElement Base element + * @param array $filterFields Fields to filter + * + * @return void + */ + protected function doFilterFields($baseElement, $filterFields): void + { foreach ($filterFields as $filterField) { - while ($record->{$filterField}) { - unset($record->{$filterField}[0]); + while ($baseElement->{$filterField}) { + unset($baseElement->{$filterField}[0]); } } - return $this->filterEncapsulatedRecords($record); } /** diff --git a/module/Finna/tests/fixtures/aipa/aipa_test.xml b/module/Finna/tests/fixtures/aipa/aipa_test.xml index f745dca11a5..0e4660fb6fa 100644 --- a/module/Finna/tests/fixtures/aipa/aipa_test.xml +++ b/module/Finna/tests/fixtures/aipa/aipa_test.xml @@ -1,28 +1,59 @@ - - oai:aineistopaketit.finna.fi:2785 - Testi - 2023-11-23T10:38:25Z + + oai:aineistopaketit.finna.fi:2788 + Testipaketti + 2023-12-01T10:45:39Z Ei saa näkyä + Testihenkilö + Testiorganisaatio education - - oai:aineistopaketit.finna.fi:2784 - Testi - 2023-11-23T10:39:05Z + + oai:aineistopaketit.finna.fi:2787 + Testipaketti + 2023-12-01T10:56:15Z Ei saa näkyä content - 2023-11-23T10:39:05Z - 2023-11-28T08:12:50Z + 2023-12-01T10:56:15Z + 2023-12-01T14:59:30Z + + + Testihenkilö + + Moottorisaha; Partner-moottorisaha - https://finna.fi/Record/lusto.knp-8015?sid=3429037636 + https://finna.fi/Record/lusto.knp-8015?sid=3450530197 0 fi lusto.knp-8015 Ei saa näkyä + + Moottorisaha; Taiga-moottorisaha + https://finna.fi/Record/lusto.knp-15935?sid=3450530197 + 1 + fi + lusto.knp-15935 + Ei saa näkyä + fi + + ammatillinen koulutus + vocationalEducation + + Koodistot: Koulutusaste + http://uri.suomi.fi/codelist/edtech/Koulutusaste + + + + lukiokoulutus + upperSecondarySchool + + Koodistot: Koulutusaste + http://uri.suomi.fi/codelist/edtech/Koulutusaste + + perusopetuksen vuosiluokat 1-2 basicEducationGrades1-2 @@ -31,33 +62,142 @@ http://uri.suomi.fi/codelist/edtech/Koulutusaste + + perusopetuksen vuosiluokat 7-9 + basicEducationGrades7-9 + + Koodistot: Koulutusaste + http://uri.suomi.fi/codelist/edtech/Koulutusaste + + + + varhaiskasvatus + earlyChildhoodEducation + + Koodistot: Koulutusaste + http://uri.suomi.fi/codelist/edtech/Koulutusaste + + Perusopetuksen opetussuunnitelman perusteet 2014 - Historia - https://virkailija.opintopolku.fi/eperusteet-service/api/external/peruste/419550/perusopetus/oppiaineet/466345 - 466345 + Äidinkieli ja kirjallisuus + https://virkailija.opintopolku.fi/eperusteet-service/api/external/peruste/419550/perusopetus/oppiaineet/466340 + 466340 + + + + Äidinkieli ja kirjallisuus + https://virkailija.opintopolku.fi/eperusteet-service/api/external/peruste/6828810/lops2019/oppiaineet/6828950 + 6828950 + + + + + + Kieli- ja tekstitietoisuus + https://virkailija.opintopolku.fi/eperusteet-service/api/external/peruste/6828810/lops2019/oppiaineet/6828950 + 6829041 + + + + + + Metsäalan perustutkinto + https://virkailija.opintopolku.fi/eperusteet-service/api/external/peruste/8419761 + 8419761 + + + + + + Metsäalan ammattitutkinto + https://virkailija.opintopolku.fi/eperusteet-service/api/external/peruste/6930623 + 6930623 + + + + + + Metsäalan erikoisammattitutkinto + https://virkailija.opintopolku.fi/eperusteet-service/api/external/peruste/5116902 + 5116902 + + + + + + Puunkorjuupalvelut + https://virkailija.opintopolku.fi/eperusteet-service/api/external/peruste/8419761 + 8531640 + + + + + + Huippuosaajana toimiminen + https://virkailija.opintopolku.fi/eperusteet-service/api/external/peruste/yto/tutkinnonOsat + 7283253 + + + + + + Ilmaisun monet muodot + https://api.finna.fi/api/v1/code-sets/varhaiskasvatus/osaamisalueet/OA-2022-2 + OA-2022-2 + + + + S1 Vuorovaikutustilanteissa toimiminen + 466630 + + https://virkailija.opintopolku.fi/eperusteet-service/api/external/peruste/419550/perusopetus/oppiaineet/466340 + + + + erilaiset käsitykset kielestä: kieli rakenteena, merkitysten muodostajana, sosiaalisena ja yhteisöllisenä ilmiönä sekä vallan välineenä + 6829080 + + https://virkailija.opintopolku.fi/eperusteet-service/api/external/peruste/6828810/lops2019/oppiaineet/6828950 + + + + T1 ohjata oppilasta vahvistamaan taitoaan toimia erilaisissa vuorovaikutustilanteissa + 466660 + + https://virkailija.opintopolku.fi/eperusteet-service/api/external/peruste/419550/perusopetus/oppiaineet/466340 + + + + kehittää kieli- ja tekstitietoisuuttaan + 6829077 + + https://virkailija.opintopolku.fi/eperusteet-service/api/external/peruste/6828810/lops2019/oppiaineet/6828950 + + + + L1 Ajattelu ja oppimaan oppiminen + 428670 + + https://virkailija.opintopolku.fi/eperusteet-service/api/external/peruste/419550/perusopetus/laajaalaisetosaamiset + + + + Eettisyys ja ympäristöosaaminen + 6828860 + + https://virkailija.opintopolku.fi/eperusteet-service/api/external/peruste/6828810/lops2019/laajaAlainenOsaaminen/laajaAlaisetOsaamiset + + + Ei saa näkyä + LRMI + 0 + grid + Ei saa näkyä - - oai:aineistopaketit.finna.fi:2788 - Testi - 2023-11-28T08:09:30Z - Ei saa näkyä - content - 2023-11-28T08:09:30Z - 2023-11-28T08:09:30Z - - Moottorisaha; Taiga-moottorisaha - https://finna.fi/Record/lusto.knp-15935?sid=3429037636 - 0 - fi - lusto.knp-15935 - Ei saa näkyä - - fi - - node-2785 - + _preview + diff --git a/module/Finna/tests/fixtures/aipa/aipa_test_filtered.xml b/module/Finna/tests/fixtures/aipa/aipa_test_filtered.xml index 9763c16e62d..387f7e3881a 100644 --- a/module/Finna/tests/fixtures/aipa/aipa_test_filtered.xml +++ b/module/Finna/tests/fixtures/aipa/aipa_test_filtered.xml @@ -1,63 +1,203 @@ - - oai:aineistopaketit.finna.fi:2785 - Testi - 2023-11-23T10:38:25Z + + oai:aineistopaketit.finna.fi:2788 + Testipaketti + 2023-12-01T10:45:39Z + Testihenkilö + Testiorganisaatio education - - oai:aineistopaketit.finna.fi:2784 - Testi - 2023-11-23T10:39:05Z + + oai:aineistopaketit.finna.fi:2787 + Testipaketti + 2023-12-01T10:56:15Z content - 2023-11-23T10:39:05Z - 2023-11-28T08:12:50Z + 2023-12-01T10:56:15Z + 2023-12-01T14:59:30Z + + + Testihenkilö + + Moottorisaha; Partner-moottorisaha - https://finna.fi/Record/lusto.knp-8015?sid=3429037636 + https://finna.fi/Record/lusto.knp-8015?sid=3450530197 0 fi lusto.knp-8015 + + + Moottorisaha; Taiga-moottorisaha + https://finna.fi/Record/lusto.knp-15935?sid=3450530197 + 1 + fi + lusto.knp-15935 + fi - perusopetuksen vuosiluokat 1-2 + + vocationalEducation + + + http://uri.suomi.fi/codelist/edtech/Koulutusaste + + + + + upperSecondarySchool + + + http://uri.suomi.fi/codelist/edtech/Koulutusaste + + + + basicEducationGrades1-2 - Koodistot: Koulutusaste + + http://uri.suomi.fi/codelist/edtech/Koulutusaste + + + + + basicEducationGrades7-9 + + http://uri.suomi.fi/codelist/edtech/Koulutusaste + + + earlyChildhoodEducation + + + http://uri.suomi.fi/codelist/edtech/Koulutusaste + + + + + + + https://virkailija.opintopolku.fi/eperusteet-service/api/external/peruste/419550/perusopetus/oppiaineet/466340 + 466340 + + + + + + + https://virkailija.opintopolku.fi/eperusteet-service/api/external/peruste/6828810/lops2019/oppiaineet/6828950 + 6828950 + + + + + + + https://virkailija.opintopolku.fi/eperusteet-service/api/external/peruste/6828810/lops2019/oppiaineet/6828950 + 6829041 + + - Perusopetuksen opetussuunnitelman perusteet 2014 - Historia - https://virkailija.opintopolku.fi/eperusteet-service/api/external/peruste/419550/perusopetus/oppiaineet/466345 - 466345 + + + https://virkailija.opintopolku.fi/eperusteet-service/api/external/peruste/8419761 + 8419761 + + + + + https://virkailija.opintopolku.fi/eperusteet-service/api/external/peruste/6930623 + 6930623 + + + + + + + https://virkailija.opintopolku.fi/eperusteet-service/api/external/peruste/5116902 + 5116902 + + + + + + + https://virkailija.opintopolku.fi/eperusteet-service/api/external/peruste/8419761 + 8531640 + + + + + + + https://virkailija.opintopolku.fi/eperusteet-service/api/external/peruste/yto/tutkinnonOsat + 7283253 + + + + + + + https://api.finna.fi/api/v1/code-sets/varhaiskasvatus/osaamisalueet/OA-2022-2 + OA-2022-2 + + + + + 466630 + + https://virkailija.opintopolku.fi/eperusteet-service/api/external/peruste/419550/perusopetus/oppiaineet/466340 + + + + + 6829080 + + https://virkailija.opintopolku.fi/eperusteet-service/api/external/peruste/6828810/lops2019/oppiaineet/6828950 + + + + + 466660 + + https://virkailija.opintopolku.fi/eperusteet-service/api/external/peruste/419550/perusopetus/oppiaineet/466340 + + + + + 6829077 + + https://virkailija.opintopolku.fi/eperusteet-service/api/external/peruste/6828810/lops2019/oppiaineet/6828950 + + + + + 428670 + + https://virkailija.opintopolku.fi/eperusteet-service/api/external/peruste/419550/perusopetus/laajaalaisetosaamiset + + + + + 6828860 + + https://virkailija.opintopolku.fi/eperusteet-service/api/external/peruste/6828810/lops2019/laajaAlainenOsaaminen/laajaAlaisetOsaamiset + + + - - - oai:aineistopaketit.finna.fi:2788 - Testi - 2023-11-28T08:09:30Z + LRMI + 0 + grid - content - 2023-11-28T08:09:30Z - 2023-11-28T08:09:30Z - - Moottorisaha; Taiga-moottorisaha - https://finna.fi/Record/lusto.knp-15935?sid=3429037636 - 0 - fi - lusto.knp-15935 - - - fi - node-2785 - + _preview +