Could not set field value by reflection
asookazian Jul 14, 2009 12:10 AMSeam 2.0.2
SFSB:
@Name("equipmentProcessing") @Stateful public class EquipmentProcessingAction implements EquipmentProcessingLocal { @DataModel private List equipmentProcessingList; ... @SuppressWarnings("unchecked") @Begin(join=true, flushMode=FlushModeType.MANUAL) public void search(){ int icomsSiteId = selectedListValueForSite.getCode(); int customerStatusCode = selectedListValueForRecoveryType.getListValueId(); int accountStatusListValueCode = selectedListValueForRecoveryStatus.getListValueId(); String statusName = selectedListValueForRecoveryStatus.getListValue(); Integer equipmentStatusId = (Integer)entityManager.createQuery("select eqStatus.equipmentStatusId "+ " from EquipmentStatus eqStatus "+ " where eqStatus.statusName = :statusName "+ " and eqStatus.accountStatusListValueCode = :accountStatusListValueCode") .setParameter("statusName", statusName) .setParameter("accountStatusListValueCode", accountStatusListValueCode) .getSingleResult(); //temporarily hard-coding 'A' for customerStatusCode... equipmentProcessingList = entityManager.createNativeQuery("select AppSite.SiteName, "+ " er.AccountNumber, "+ " er.ServiceOccurance, "+ " er.ItemNumber, "+ " er.SerialNumber, "+ " eqType.ListValue "+ " from EquipmentRecoveryStatusChangeLog as erscl "+ " INNER JOIN EquipmentRecovery as er "+ " ON erscl.EquipmentRecoveryID = er.EquipmentRecoveryID "+ " INNER JOIN ApplicationSite as AppSite "+ " ON AppSite.InternalSiteID = er.IcomsSiteID "+ " INNER JOIN RecoveredEquipmentManagement as rem "+ " ON AppSite.ApplicationSiteID = rem.ApplicationSiteID "+ " AND er.ItemNumber = rem.ICOMS_ITEM_NUMBER "+ " INNER JOIN (SELECT ListValue, ListValueID FROM ListValue WHERE ListID = 4) as eqType "+ " ON rem.EquipmentType = eqType.ListValueID "+ " where erscl.IsCurrent = 1 "+ " AND erscl.EquipmentStatusID = :equipmentStatusId "+ " AND er.IcomsSiteID = :icomsSiteId "+ " AND er.CustomerStatusCode = :customerStatusCode ") .setParameter("equipmentStatusId", equipmentStatusId) .setParameter("icomsSiteId", icomsSiteId) .setParameter("customerStatusCode", "A") .getResultList(); if(equipmentProcessingList != null) log.info("equipmentProcessingList.size() = "+ equipmentProcessingList.size()); } }
stack trace:
15:04:52,656 ERROR [STDERR] ss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) at org.jboss.ejb3.stateful.StatefulInstanceInterceptor.invoke(StatefulInstanceInterceptor.java:83) at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77) at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:106) at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46) at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106) at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) at org.jboss.ejb3.stateful.StatefulContainer.localInvoke(StatefulContainer.java:206) at org.jboss.ejb3.stateful.StatefulLocalProxy.invoke(StatefulLocalProxy.java:117) at $Proxy715.getSelectedListValueForSite(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.jboss.seam.util.Reflections.invoke(Reflections.java:21) at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31) at org.jboss.seam.intercept.ClientSideInterceptor$1.proceed(ClientSideInterceptor.java:76) at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56) at org.jboss.seam.ejb.RemoveInterceptor.aroundInvoke(RemoveInterceptor.java:41) at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107) at org.jboss.seam.intercept.ClientSideInterceptor.invoke(ClientSideInterceptor.java:54) at org.javassist.tmp.java.lang.Object_$$_javassist_7.getSelectedListValueForSite(Object_$$_javassist_7.java) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at javax.el.BeanELResolver.getValue(BeanELResolver.java:62) at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53) at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:72) at org.jboss.el.parser.AstPropertySuffix.getValue(AstPropertySuffix.java:53) at org.jboss.el.parser.AstValue.getValue(AstValue.java:67) at org.jboss.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186) at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71) ... 82 more Caused by: java.lang.IllegalArgumentException: could not set field value: equipmentProcessing.equipmentProcessingList at org.jboss.seam.Component.setFieldValue(Component.java:1792) at org.jboss.seam.Component.access$600(Component.java:139) at org.jboss.seam.Component$BijectedField.set(Component.java:2630) at org.jboss.seam.Component.injectDataModelSelection(Component.java:1511) at org.jboss.seam.Component.injectDataModelSelections(Component.java:1481) at org.jboss.seam.Component.inject(Component.java:1420) at org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:45) at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) at org.jboss.seam.persistence.ManagedEntityIdentityInterceptor.aroundInvoke(ManagedEntityIdentityInterceptor.java:48) at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) at org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:31) at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) at org.jboss.seam.core.ConversationInterceptor.aroundInvoke(ConversationInterceptor.java:65) at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:42) at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) at org.jboss.seam.persistence.EntityManagerProxyInterceptor.aroundInvoke(EntityManagerProxyInterceptor.java:26) at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) at org.jboss.seam.persistence.HibernateSessionProxyInterceptor.aroundInvoke(HibernateSessionProxyInterceptor.java:27) at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107) at org.jboss.seam.intercept.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:50) at sun.reflect.GeneratedMethodAccessor1142.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:118) at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63) at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) at org.jboss.ejb3.entity.ExtendedPersistenceContextPropagationInterceptor.invoke(ExtendedPersistenceContextPropagationInterceptor.java:57) at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54) at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47) at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126) ... 122 more Caused by: java.lang.IllegalArgumentException: Could not set field value by reflection: EquipmentProcessingAction.equipmentProcessingSelection on: com.cox.ers.session.EquipmentProcessingAction with value: class [Ljava.lang.Object; at org.jboss.seam.util.Reflections.set(Reflections.java:79) at org.jboss.seam.Component.setFieldValue(Component.java:1788) ... 156 more Caused by: java.lang.IllegalArgumentException at sun.reflect.UnsafeObjectFieldAccessorImpl.set(UnsafeObjectFieldAccessorImpl.java:63) at java.lang.reflect.Field.set(Field.java:656) at org.jboss.seam.util.Reflections.set(Reflections.java:64) ... 157 more
Which field exactly is the problem here? root cause (java.lang.IllegalArgumentException) is not specific enough...