Home › Forum › Nuclos Entwicklung › Makros und Regeln › CollectableComparison.error – aber warum? › CollectableComparison.error – aber warum?
Dem kann ich gerne nachkommen – wobei ich den Fehler wie erwähnt auch erhalte, wenn ich den Quellcode komplett entferne…
public class SetClassItemNumbers implements UpdateRule {
public void update(UpdateContext context) throws BusinessException {
Classes classname = context.getBusinessObject(Classes.class);
List lessonList = classname.getLessons();
if (lessonList.size() > 0) {
Date[] lessonDates = new Date[lessonList.size()];
for (int i=0;i<lessonList.size();i++) {
Lessons lesson = lessonList.get(i);
lessonDates[i] = lesson.getDatefrom();
}
Arrays.sort(lessonDates);
for (int i=0;i<lessonList.size();i++) {
Lessons lesson = lessonList.get(i);
for (int j=0;j<lessonDates.length;j++) {
if (lessonDates[j] == lesson.getDatefrom()) {
lesson.setNumber(j+1);
break;
}
}
}
}
List exerciseList = classname.getExercises();
if (exerciseList.size() > 0) {
Date[] exerciseDates = new Date[exerciseList.size()];
for (int i=0;i<exerciseList.size();i++) {
Exercises exercise = exerciseList.get(i);
exerciseDates[i] = exercise.getDatefrom();
}
Arrays.sort(exerciseDates);
for (int i=0;i<exerciseList.size();i++) {
Exercises exercise = exerciseList.get(i);
for (int j=0;j<exerciseDates.length;j++) {
if (exerciseDates[j] == exercise.getDatefrom()) {
exercise.setNumber(j+1);
break;
}
}
}
}
}
}
Und wie gewünscht auch der vollständige Log – direkt nach Login und auf kürzestem Wege zur Fehlermeldung:
1. Öffenen des Layout, durchführen einer Suche ohne Parameter:
2013-04-05 09:34:45,884 ERROR [org.nuclos.common.CollectableEntityFieldWithEntity] - CollectableEntityFieldWithEntity can only be serialized on the *client* side: Name, *faking* CollectableEntity
2013-04-05 09:34:45,886 ERROR [org.nuclos.common.CollectableEntityFieldWithEntity] - CollectableEntityFieldWithEntity can only be serialized on the *client* side: Artikelgruppe, *faking* CollectableEntity
2013-04-05 09:34:45,886 ERROR [org.nuclos.common.CollectableEntityFieldWithEntity] - CollectableEntityFieldWithEntity can only be serialized on the *client* side: gebucht, *faking* CollectableEntity
2. Auswählen eines Datensatzes und öffnen der Detailansicht:
2013-04-05 09:34:48,319 INFO [NovabitPerformanceLogger] - ;2;05.04.2013 09:34:48:316;05.04.2013 09:34:48:318;nuclos;Objekt: 40025348;Entity: Exercises;Reading the master data entity for an objekt if type Exercises ( static );;
2013-04-05 09:34:48,321 INFO [NovabitPerformanceLogger] - ;5;05.04.2013 09:34:48:316;05.04.2013 09:34:48:321;nuclos;Objekt: 40025348;Entity: Lessons;Reading the master data entity for an objekt if type Lessons ( static );;
3. Klonen (kein Log-Eintrag)
4. Speichern
2013-04-05 09:34:59,422 INFO [org.nuclos.server.common.ejb3.NuclosFacadeBean] - BEGIN executing business rules for event "Save" and entity Classes...
2013-04-05 09:34:59,422 INFO [org.nuclos.server.common.ejb3.NuclosFacadeBean] - FINISHED executing business rules for event "Save" and entity Classes...
2013-04-05 09:34:59,598 WARN [org.springframework.remoting.support.RemoteInvocationTraceInterceptor] - Processing of HttpInvokerServiceExporter remote call resulted in fatal exception: org.nuclos.server.genericobject.ejb3.GenericObjectFacadeRemote.modify
java.lang.IllegalArgumentException: CollectableComparison.error
at org.nuclos.common.collect.collectable.searchcondition.CollectableComparison.(CollectableComparison.java:82)
at org.nuclos.common.SearchConditionUtils.newEOComparison(SearchConditionUtils.java:116)
at org.nuclos.server.eventsupport.ejb3.EventSupportFacadeBean.getLayoutsByEntity(EventSupportFacadeBean.java:1001)
at org.nuclos.server.eventsupport.ejb3.EventSupportFacadeBean.addDependantsFromDatabase(EventSupportFacadeBean.java:922)
at org.nuclos.server.eventsupport.ejb3.EventSupportFacadeBean.addDependantsFromDatabase(EventSupportFacadeBean.java:953)
at org.nuclos.server.eventsupport.ejb3.EventSupportFacadeBean.executeUpdateSupportEvent(EventSupportFacadeBean.java:1221)
at org.nuclos.server.eventsupport.ejb3.EventSupportFacadeBean.fireSaveEventSupport(EventSupportFacadeBean.java:1552)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.nuclos.server.spring.FacadeLocalProxyFactoryBean$1.invoke(FacadeLocalProxyFactoryBean.java:76)
at sun.proxy.$Proxy36.fireSaveEventSupport(Unknown Source)
at org.nuclos.server.genericobject.ejb3.GenericObjectFacadeBean.fireSaveEvent(GenericObjectFacadeBean.java:1238)
at org.nuclos.server.genericobject.ejb3.GenericObjectFacadeBean.modify(GenericObjectFacadeBean.java:1133)
at org.nuclos.server.genericobject.ejb3.GenericObjectFacadeBean.modify(GenericObjectFacadeBean.java:1066)
at org.nuclos.server.genericobject.ejb3.GenericObjectFacadeBean.modify(GenericObjectFacadeBean.java:1024)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.remoting.support.RemoteInvocationTraceInterceptor.invoke(RemoteInvocationTraceInterceptor.java:77)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at sun.proxy.$Proxy59.modify(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.springframework.remoting.support.RemoteInvocation.invoke(RemoteInvocation.java:205)
at org.nuclos.server.common.NuclosRemoteInvocationExecutor.invoke(NuclosRemoteInvocationExecutor.java:162)
at org.springframework.remoting.support.RemoteInvocationBasedExporter.invoke(RemoteInvocationBasedExporter.java:78)
at org.springframework.remoting.support.RemoteInvocationBasedExporter.invokeAndCreateResult(RemoteInvocationBasedExporter.java:114)
at org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter.handleRequest(HttpInvokerServiceExporter.java:73)
at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:49)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:925)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:920)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:827)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:801)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:150)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:201)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:50)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)
2013-04-05 09:34:59,601 WARN [org.nuclos.server.common.NuclosRemoteInvocationExecutor] - Transaction rolling back now, because of java.lang.IllegalArgumentException: CollectableComparison.error: RemoteInvocation: method name 'modify'; parameter types [java.lang.Integer, org.nuclos.server.genericobject.valueobject.GenericObjectWithDependantsVO, java.lang.String](org.nuclos.server.genericobject.ejb3.GenericObjectFacadeBean@746ef917)
Was sofort auffällt, ist der Fehler im Anschluss an die Suche – weiß nicht, ob das schon eine mögliche Ursache ist…
Nachtrag zur Vollständigkeit: ist die aktuelle Version!
Gruß,
jproxx