LIBCAS / ARCLib

ARCLib – komplexní řešení pro dlouhodobou archivaci digitálních (knihovních) sbírek
GNU General Public License v3.0
4 stars 1 forks source link

Selhání ingest workflow kvůli validačnímu profilu #109

Closed kerschfilip closed 3 years ago

kerschfilip commented 4 years ago

Dobrý den,

při ingestu několika balíčků se mi stalo, že ingest workflow skončilo selháním (INTERNAL_ERROR, java.lang.NullPointerException...). Problém nastal vždy při procesu validace balíčku. Použitý validační profil byl FK_kontrola_archivniho_balicku, nicméně mi nepřipadá, že by v něm bylo něco špatně. Vyzkoušel jsem i rozdělit jednotlivá pravidla <rule> do samostatných validačních profilů a při tomto postupu balíčky prochází. Problém nastává vždy až při jejich kombinaci.

Například zde: Ingest workflow ARCLIB_000001455

Díky za pomoc!

yantom commented 3 years ago

Chybu způsobuje následující pravidlo:

<!-- kontrola přidělení recordIdentifier source="CZ prAS" -->
    <rule>
        <nodeCheck>
            <filePathGlobPattern>data/mets.xml</filePathGlobPattern>
            <xPath>//recordInfo/recordIdentifier[@source="CZ PrAS"]</xPath>
                <regex>[0-9]*</regex>
        </nodeCheck>
    </rule>

V mets.xml ingestovaného balíku je hodnota /recordIdentifier/@source "CZ-PrSK", tedy element z pravidla nebyl nalezen. V nové verzi systému je místo NullPointer exception vyhozena vyjímka MissingNode.

kerschfilip commented 3 years ago

Díky za radu, vyzkoušel jsem to v nové verzi. Systém vyhazuje výjimku "MissingNode", čímž si myslím, že je problém vyřešen. Ještě jednou díky!