Poprawki 4 kwietnia

Poprawka do karty transakcji notarialnej na stronie

Zgłoszono brak możliwości wczytania karty transakcji notarialnej z pliku XML na stronie.

Poprawiłem kod deserializacji XMLa, w zakresie wczytywania podmiotów z karty transakcji, to powinno umożliwić ponowne wczytanie wygenerowanego pliku XML.

Uwaga

Wczytywanie plików XML na stronie, pozwala wyłącznie na wczytanie pliku z jedną transakcją.

Projekt strony zakładał przesyłanie każdej transakcji wypełnionej na stronie w oddzielnym pliku.

Poprawka do walidatora transakcji

Błąd w walidatorze transakcji powodował, że dla niepoprawnego pliku mógł pojawić się wyjątek NullPointerException.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
ksm@ksm-7530:~/tmp$ java -jar ~/src/comp/xml2018/xml2018-cli/target/xml2018-cli-1.0.1.jar validate TrGiif.xml
Apr 04, 2019 6:41:21 AM org.jboss.weld.bootstrap.WeldStartup <clinit>
INFO: WELD-000900: 2.4.8 (Final)
Apr 04, 2019 6:41:21 AM org.jboss.weld.environment.deployment.discovery.ReflectionDiscoveryStrategy processAnnotatedDiscovery
INFO: WELD-ENV-000014: Falling back to Java Reflection for bean-discovery-mode="annotated" discovery. Add org.jboss:jandex to the classpath to speed-up startup.
Apr 04, 2019 6:41:21 AM org.jboss.weld.bootstrap.WeldStartup startContainer
INFO: WELD-000101: Transactional services not available. Injection of @Inject UserTransaction not available. Transactional observers will be invoked synchronously.
Apr 04, 2019 6:41:21 AM org.jboss.weld.environment.se.WeldContainer fireContainerInitializedEvent
INFO: WELD-ENV-002003: Weld SE container STATIC_INSTANCE initialized
Exception in thread "main" picocli.CommandLine$ExecutionException: Error while calling command (pl.gov.mofnet.giif.xml2018.cli.RuleValidateCommand@30865a90): java.lang.NullPointerException
at picocli.CommandLine.execute(CommandLine.java:1180)
at picocli.CommandLine.access$800(CommandLine.java:141)
at picocli.CommandLine$RunLast.handle(CommandLine.java:1367)
at picocli.CommandLine$RunLast.handle(CommandLine.java:1335)
at picocli.CommandLine$AbstractParseResultHandler.handleParseResult(CommandLine.java:1243)
at picocli.CommandLine.parseWithHandlers(CommandLine.java:1526)
at pl.gov.mofnet.giif.xml2018.cli.Main.init(Main.java:39)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.jboss.weld.injection.StaticMethodInjectionPoint.invoke(StaticMethodInjectionPoint.java:88)
at org.jboss.weld.injection.StaticMethodInjectionPoint.invoke(StaticMethodInjectionPoint.java:78)
at org.jboss.weld.injection.MethodInvocationStrategy$SimpleMethodInvocationStrategy.invoke(MethodInvocationStrategy.java:129)
at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:299)
at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:277)
at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:255)
at org.jboss.weld.event.ObserverNotifier.notifySyncObservers(ObserverNotifier.java:269)
at org.jboss.weld.event.ObserverNotifier.notify(ObserverNotifier.java:258)
at org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:154)
at org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:136)
at org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:716)
at org.jboss.weld.environment.se.WeldContainer.fireContainerInitializedEvent(WeldContainer.java:233)
at org.jboss.weld.environment.se.WeldContainer.endInitialization(WeldContainer.java:185)
at org.jboss.weld.environment.se.Weld.initialize(Weld.java:789)
at org.jboss.weld.environment.se.StartMain.go(StartMain.java:46)
at org.jboss.weld.environment.se.StartMain.main(StartMain.java:55)
Caused by: java.lang.NullPointerException
at pl.gov.mofnet.giif.xml.tagstack.TagStack$TagEntry.<init>(TagStack.java:18)
at pl.gov.mofnet.giif.xml.tagstack.TagStack.lambda$new$0(TagStack.java:52)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
at pl.gov.mofnet.giif.xml.tagstack.TagStack.<init>(TagStack.java:52)
at pl.gov.mofnet.giif.xml2018.validators.common.Violation.<init>(Violation.java:28)
at pl.gov.mofnet.giif.xml2018.validators.common.Violation.<init>(Violation.java:34)
at pl.gov.mofnet.giif.xml2018.validators.notariat.KartaNotariat2018Validator.sprawdzDanePodmiotu(KartaNotariat2018Validator.java:129)
at pl.gov.mofnet.giif.xml2018.validators.notariat.KartaNotariat2018Validator.sprawdzPodmioty(KartaNotariat2018Validator.java:113)
at pl.gov.mofnet.giif.xml2018.validators.notariat.KartaNotariat2018Validator.validateTransaction(KartaNotariat2018Validator.java:56)
at pl.gov.mofnet.giif.xml2018.validators.notariat.KartaNotariat2018Validator.validateTransaction(KartaNotariat2018Validator.java:22)
at pl.gov.mofnet.giif.xml2018.validators.common.StreamProcesor.readAndValidateKartaTr(StreamProcesor.java:91)
at pl.gov.mofnet.giif.xml2018.validators.common.StreamProcesor.validateFileStructure(StreamProcesor.java:56)
at pl.gov.mofnet.giif.xml2018.validators.common.Karta2018Validator.validateFile(Karta2018Validator.java:117)
at pl.gov.mofnet.giif.xml2018.cli.RuleValidateCommand.validateFile(RuleValidateCommand.java:40)
at pl.gov.mofnet.giif.xml2018.cli.AbstractValidateCommand.call(AbstractValidateCommand.java:41)
at pl.gov.mofnet.giif.xml2018.cli.AbstractValidateCommand.call(AbstractValidateCommand.java:19)
at picocli.CommandLine.execute(CommandLine.java:1173)
... 26 more

Na stronie umieszczono walidator w wersji 1.0.2, zawierającej poprawkę.