Błąd #1875
nie działa kasowanie dokumentów w workflow.FULL
Status: | Zamknięty | Start date: | 2017-11-22 | |
---|---|---|---|---|
Priority: | Normalny | Due date: | ||
Assignee: | Jarosław Bąbel | % Done: | 100% | |
Category: | backend | |||
Target version: | 0.3 | |||
Developer: | Michał Komar | Rewizja zgłoszenia GIT: | 480e86aa | |
Tester: | Jarosław Bąbel | Rewizja rozwiązania GIT: | cfe6f21e | |
Występuje w wersji: | 0.3 | Rewizja testów GIT: | 537a465 | |
Waga błędu: | Mała |
Related issues
History
#1 Updated by Łukasz Waśkiewicz over 7 years ago
- Copied from Zadanie #1836: dodanie sprawdzania poprawności danych do importu added
#2 Updated by Michał Komar over 7 years ago
- Category set to backend
- Status changed from Nowy to W toku
- Target version set to 0.3
#3 Updated by Michał Komar over 7 years ago
- Status changed from W toku to Rozwiązany
- Assignee changed from Michał Komar to Łukasz Waśkiewicz
- % Done changed from 0 to 100
- Rewizja rozwiązania GIT set to c42a3ee
- Tester Łukasz Waśkiewicz added
Nie zauważyłem żeby nie działało. Może w trakcie usuwania ModificationType poprawiłem.
#4 Updated by Michał Komar over 7 years ago
- Assignee changed from Łukasz Waśkiewicz to Jarosław Bąbel
- Tester Jarosław Bąbel added
#5 Updated by Jarosław Bąbel about 7 years ago
- Status changed from Rozwiązany to Odpowiedź
- Assignee changed from Jarosław Bąbel to Michał Komar
- Rewizja testów GIT set to e75b52f
Błąd wyodrębniony z importów. Usuwanie zaimportowanych dokumentów nadal nie działa.
Brak możliwości usunięcia zaimportowanego zasobu, w konsoli leci NPE dla StateMachine¶
- zaimportować plik bwmeta bez nadpisywania, do bazy dml np. jupiter/jupiter-services/src/test/resources/import/bwmeta/sampleBwmeta.xml
- wylogować i uruchomić od nowa przeglądarkę (obejście problemu z blokowaniem przycisku usuń)
- wybrać zaimportowany zasób
- kliknąć usuń i "tak"
- zasób nie zostaje usunięty, w logu leci wyjątek
java.lang.NullPointerException: null at pl.edu.icm.jupiter.services.statemachine.JpaStateMachineContextRepository.getContext(JpaStateMachineContextRepository.java:86) at org.springframework.statemachine.persist.RepositoryStateMachinePersist.read(RepositoryStateMachinePersist.java:51) at org.springframework.statemachine.persist.RepositoryStateMachinePersist.read(RepositoryStateMachinePersist.java:31) at org.springframework.statemachine.persist.AbstractStateMachinePersister.restore(AbstractStateMachinePersister.java:70) at pl.edu.icm.jupiter.services.statemachine.StateMachineServiceImpl.getStateMachine(StateMachineServiceImpl.java:36) at pl.edu.icm.jupiter.services.statemachine.StateMachineServiceImpl$$FastClassBySpringCGLIB$$b1058561.invoke(<generated>) at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:747) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:294) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:98) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185) at net.bull.javamelody.MonitoringSpringInterceptor.invoke(MonitoringSpringInterceptor.java:73) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:689) at pl.edu.icm.jupiter.services.statemachine.StateMachineServiceImpl$$EnhancerBySpringCGLIB$$93216d1b.getStateMachine(<generated>) 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.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:338) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:197) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:294) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:98) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) at com.sun.proxy.$Proxy201.getStateMachine(Unknown Source) at pl.edu.icm.jupiter.services.storage.DocumentStateMachineServiceImpl.sendEvent(DocumentStateMachineServiceImpl.java:43) at pl.edu.icm.jupiter.services.storage.DocumentStateMachineServiceImpl.sendEvent(DocumentStateMachineServiceImpl.java:32)
#6 Updated by Michał Komar about 7 years ago
- Assignee changed from Michał Komar to Jarosław Bąbel
W tej chwili mam strasznie wszystko rozgrzebane i nie mam jak odtworzyć tego błędu. Możesz u siebie zweryfikować, czy rzeczywiście ten błąd ma miejsce. Z tego co widzę w kodzie, to błąd może się pojawić tylko w przypadku, gdy mamy jakieś stare dane. Dla nowych powinno być ok.
#7 Updated by Jarosław Bąbel about 7 years ago
- Assignee changed from Jarosław Bąbel to Łukasz Waśkiewicz
Może jednak nie chodzi o zasoby z workflow.FULL, ale o zapis zaimportowanego dokumentu. Nie znam założeń, więc trochę po omacku:
zaimportowany dokument jest zapisywany prosto do DatabaseStorage (jeśli dobrze zrozumiałem, to zapis odbywa się w DocumentImportMerger.onImportMergeRequestEvent()).
Przy usuwaniu jest próba odtworzenia StateMachine i StateMachine.context, ale to jest puste dla importowanych dokumentów (tabela w bd też jest pusta).
Co innego jak zapiszemy dokument przez UI, wtedy w tabeli jupiter_state_machine "coś" się pojawia i ma wypełniony "context".
#8 Updated by Łukasz Waśkiewicz about 7 years ago
- Status changed from Odpowiedź to Rozwiązany
- Assignee changed from Łukasz Waśkiewicz to Jarosław Bąbel
- Rewizja rozwiązania GIT changed from c42a3ee to cfe6f21e
- Rewizja testów GIT deleted (
e75b52f)
już działa
faktycznie był zapis do złego StorageService -> poprawiony
i poprawione kasowanie dokumentu nie przechodzącego walidacji
#9 Updated by Jarosław Bąbel about 7 years ago
- Status changed from Rozwiązany to Zamknięty
#10 Updated by Jarosław Bąbel about 7 years ago
- Rewizja testów GIT set to 537a465