8 Replies Latest reply on Jul 3, 2007 9:59 AM by ivan.tufegdzic

    problem with blocking user

    ivan.tufegdzic

      Hello,
      I have entity User and roles for it.
      In entity I have method
      @ItemAction(icon = "#{row.disabledflag ? '/images/red.gif' : '/images/green.gif'}", partial = true)
      public void toggleLock() {
      setModified(new Date());
      setDisabledflag(!isDisabledflag());
      }

      and in page
      <a4j:commandLink id="locker" action="#{row.toggleLock}"
      reRender="userTable">
      <f:param name="conversationId" value="#{conversation.id}" />
      <t:graphicImage
      value="#{row.disabledflag ? '/images/red.gif' : '/images/green.gif'}" />
      </a4j:commandLink>

      Everything works fine for other roles, but on role user for customer errors are

      13:15:31,797 WARN [MyFacesResourceLoader] Unparsable lastModified : @lastModified@
      13:15:35,981 WARN [arjLoggerI18N] [com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator_2] TwoPhaseCoordinator.beforeCompletion - failed for com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple@1d019fd
      javax.persistence.PersistenceException: org.hibernate.validator.InvalidStateException: validation failed for: com.elbsolutions.eshop.entity.User
      at org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletion(AbstractEntityManagerImpl.java:527)
      at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.beforeCompletion(SynchronizationImple.java:114)
      at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.beforeCompletion(TwoPhaseCoordinator.java:249)
      at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:88)
      at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:177)
      at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1256)
      at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:135)
      at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:87)
      at org.jboss.tm.usertx.client.ServerVMClientUserTransaction.commit(ServerVMClientUserTransaction.java:140)
      at org.jboss.seam.transaction.UTTransaction.commit(UTTransaction.java:35)
      at org.jboss.seam.jsf.SeamPhaseListener.commitOrRollback(SeamPhaseListener.java:577)
      at org.jboss.seam.jsf.SeamPhaseListener.handleTransactionsAfterPhase(SeamPhaseListener.java:323)
      at org.jboss.seam.jsf.SeamPhaseListener.afterServletPhase(SeamPhaseListener.java:226)
      at org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseListener.java:183)
      at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:280)
      at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
      at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:70)
      at org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:64)
      at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:56)
      at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:60)
      at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:81)
      at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:56)
      at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:62)
      at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:56)
      at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:47)
      at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:56)
      at org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:293)
      at org.jboss.seam.web.AbstractAjax4jsfFilter.doFilter(AbstractAjax4jsfFilter.java:35)
      at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:56)
      at org.jboss.seam.web.SeamFilter.doFilter(SeamFilter.java:127)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:127)
      at org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:277)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
      at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
      at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
      at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
      at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
      at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
      at java.lang.Thread.run(Thread.java:595)
      Caused by: org.hibernate.validator.InvalidStateException: validation failed for: com.elbsolutions.eshop.entity.User
      at org.hibernate.validator.event.ValidateEventListener.validate(ValidateEventListener.java:143)
      at org.hibernate.validator.event.ValidateEventListener.onPreUpdate(ValidateEventListener.java:172)
      at org.hibernate.action.EntityUpdateAction.preUpdate(EntityUpdateAction.java:217)
      at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:65)
      at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:248)
      at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:232)
      at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140)
      at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
      at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
      at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
      at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)
      at org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletion(AbstractEntityManagerImpl.java:515)
      ... 58 more
      13:15:35,983 ERROR [SeamPhaseListener] uncaught exception
      java.lang.IllegalStateException: Could not commit transaction
      at org.jboss.seam.jsf.SeamPhaseListener.commitOrRollback(SeamPhaseListener.java:587)
      at org.jboss.seam.jsf.SeamPhaseListener.handleTransactionsAfterPhase(SeamPhaseListener.java:323)
      at org.jboss.seam.jsf.SeamPhaseListener.afterServletPhase(SeamPhaseListener.java:226)
      at org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseListener.java:183)
      at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:280)
      at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
      at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:70)
      at org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:64)
      at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:56)
      at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:60)
      at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:81)
      at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:56)
      at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:62)
      at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:56)
      at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:47)
      at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:56)
      at org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:293)
      at org.jboss.seam.web.AbstractAjax4jsfFilter.doFilter(AbstractAjax4jsfFilter.java:35)
      at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:56)
      at org.jboss.seam.web.SeamFilter.doFilter(SeamFilter.java:127)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:127)
      at org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:277)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
      at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
      at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
      at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
      at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
      at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
      at java.lang.Thread.run(Thread.java:595)
      Caused by: javax.transaction.RollbackException: [com.arjuna.ats.internal.jta.transaction.arjunacore.commitwhenaborted] [com.arjuna.ats.internal.jta.transaction.arjunacore.commitwhenaborted] Can't commit because the transaction is in aborted state
      at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1267)
      at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:135)
      at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:87)
      at org.jboss.tm.usertx.client.ServerVMClientUserTransaction.commit(ServerVMClientUserTransaction.java:140)
      at org.jboss.seam.transaction.UTTransaction.commit(UTTransaction.java:35)
      at org.jboss.seam.jsf.SeamPhaseListener.commitOrRollback(SeamPhaseListener.java:577)
      ... 48 more
      Caused by: javax.persistence.PersistenceException: org.hibernate.validator.InvalidStateException: validation failed for: com.elbsolutions.eshop.entity.User
      at org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletion(AbstractEntityManagerImpl.java:527)
      at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.beforeCompletion(SynchronizationImple.java:114)
      at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.beforeCompletion(TwoPhaseCoordinator.java:249)
      at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:88)
      at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:177)
      at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1256)
      ... 53 more
      Caused by: org.hibernate.validator.InvalidStateException: validation failed for: com.elbsolutions.eshop.entity.User
      at org.hibernate.validator.event.ValidateEventListener.validate(ValidateEventListener.java:143)
      at org.hibernate.validator.event.ValidateEventListener.onPreUpdate(ValidateEventListener.java:172)
      at org.hibernate.action.EntityUpdateAction.preUpdate(EntityUpdateAction.java:217)
      at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:65)
      at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:248)
      at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:232)
      at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140)
      at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
      at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
      at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
      at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)
      at org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletion(AbstractEntityManagerImpl.java:515)
      ... 58 more
      13:15:35,989 ERROR [DebugPageHandler] redirecting to debug page
      org.hibernate.validator.InvalidStateException: validation failed for: com.elbsolutions.eshop.entity.User
      at org.hibernate.validator.event.ValidateEventListener.validate(ValidateEventListener.java:143)
      at org.hibernate.validator.event.ValidateEventListener.onPreUpdate(ValidateEventListener.java:172)
      at org.hibernate.action.EntityUpdateAction.preUpdate(EntityUpdateAction.java:217)
      at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:65)
      at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:248)
      at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:232)
      at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140)
      at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
      at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
      at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
      at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)
      at org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletion(AbstractEntityManagerImpl.java:515)
      at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.beforeCompletion(SynchronizationImple.java:114)
      at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.beforeCompletion(TwoPhaseCoordinator.java:249)
      at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:88)
      at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:177)
      at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1256)
      at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:135)
      at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:87)
      at org.jboss.tm.usertx.client.ServerVMClientUserTransaction.commit(ServerVMClientUserTransaction.java:140)
      at org.jboss.seam.transaction.UTTransaction.commit(UTTransaction.java:35)
      at org.jboss.seam.jsf.SeamPhaseListener.commitOrRollback(SeamPhaseListener.java:577)
      at org.jboss.seam.jsf.SeamPhaseListener.handleTransactionsAfterPhase(SeamPhaseListener.java:323)
      at org.jboss.seam.jsf.SeamPhaseListener.afterServletPhase(SeamPhaseListener.java:226)
      at org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseListener.java:183)
      at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:280)
      at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
      at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:70)
      at org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:64)
      at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:56)
      at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:60)
      at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:81)
      at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:56)
      at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:62)
      at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:56)
      at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:47)
      at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:56)
      at org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:293)
      at org.jboss.seam.web.AbstractAjax4jsfFilter.doFilter(AbstractAjax4jsfFilter.java:35)
      at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:56)
      at org.jboss.seam.web.SeamFilter.doFilter(SeamFilter.java:127)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:127)
      at org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:277)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
      at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
      at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
      at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
      at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
      at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
      at java.lang.Thread.run(Thread.java:595)


      This disabledflag is for blocking and unblocking user.
      Help me please.
      Best regards
      it

        • 1. Re: problem with blocking user
          ivan.tufegdzic

          I still have this problem.

          Any ideas?
          Best regards

          • 2. Re: problem with blocking user
            pmuir

            One of the validations on your form isn't being validated when you submit it, but when the query executes. Post the whole form and backing bean

            • 3. Re: problem with blocking user
              ivan.tufegdzic

              Hi,
              Thanks for answer.
              Page :

              <ui:composition xmlns:ui="http://java.sun.com/jsf/facelets"
              xmlns:s="http://jboss.com/products/seam/taglib"
              xmlns:f="http://java.sun.com/jsf/core"
              xmlns:h="http://java.sun.com/jsf/html"
              xmlns:rich="http://richfaces.ajax4jsf.org/rich"
              xmlns:a4j="https://ajax4jsf.dev.java.net/ajax"
              xmlns:t="http://myfaces.apache.org/tomahawk"
              template="/layout/templateallpage.xhtml">
              <ui:define name="body">
              <a4j:form>
              <rich:dataTable cellpadding="0" cellspacing="0" border="0" var="row"
              id="userTable" value="#{userList.resultList}" width="100%">
              <f:facet name="header">
              <rich:columnGroup>
              <rich:column colspan="8">



              <h:outputText
              value="#{messages.users}"></h:outputText>
              <h:inputText id="value"
              required="false" value="#{tableSearch.value}" /> <rich:spacer
              width="5"></rich:spacer> <a4j:commandLink id="peopleSearch"
              reRender="userTable"
              action="#{tableSearch.search(userList)}">
              <t:graphicImage value="/images/search.gif" title="#{messages.search}"></t:graphicImage>
              </a4j:commandLink> <rich:spacer width="5"></rich:spacer> <a4j:commandLink
              id="stopSearch" reRender="userTable"
              action="#{tableSearch.clear(userList)}">
              <t:graphicImage value="/images/kreuz.gif" title="#{messages.clearsearch}"></t:graphicImage>
              </a4j:commandLink>



              </rich:column>
              <rich:column breakBefore="true">
              <h:outputText value="#{messages.action}" />
              </rich:column>
              <rich:column>
              <s:link styleClass="columnHeader"
              value="#{messages.created} #{userList.order=='created asc' ? messages.down : ( userList.order=='created desc' ? messages.up : '' )}">
              <f:param name="order"
              value="#{userList.order=='created asc' ? 'created desc' : 'created asc'}" />
              </s:link>
              </rich:column>
              <rich:column>
              <s:link styleClass="columnHeader"
              value="#{messages.modified} #{userList.order=='modified asc' ? messages.down : ( userList.order=='modified desc' ? messages.up : '' )}">
              <f:param name="order"
              value="#{userList.order=='modified asc' ? 'modified desc' : 'modified asc'}" />
              </s:link>
              </rich:column>
              <rich:column>
              <s:link styleClass="columnHeader"
              value="#{messages.name} #{userList.order=='name asc' ? messages.down : ( userList.order=='name desc' ? messages.up : '' )}">
              <f:param name="order"
              value="#{userList.order=='name asc' ? 'name desc' : 'name asc'}" />
              </s:link>
              </rich:column>
              <rich:column>
              <s:link styleClass="columnHeader"
              value="#{messages.newUserDescription} #{userList.order=='description asc' ? messages.down : ( userList.order=='description desc' ? messages.up : '' )}">
              <f:param name="order"
              value="#{userList.order=='description asc' ? 'description desc' : 'description asc'}" />
              </s:link>
              </rich:column>
              <rich:column>
              <f:facet name="header">
              <s:link styleClass="columnHeader"
              value="#{messages.email} #{userList.order=='email asc' ? messages.down : ( userList.order=='email desc' ? messages.up : '' )}">
              <f:param name="order"
              value="#{userList.order=='email asc' ? 'email desc' : 'email asc'}" />
              </s:link>
              </f:facet>
              </rich:column>
              <rich:column>
              <s:link styleClass="columnHeader"
              value="#{messages.deactive} #{userList.order=='disabledflag asc' ? messages.down : ( userList.order=='disabledflag desc' ? messages.up : '' )}">
              <f:param name="order"
              value="#{userList.order=='disabledflag asc' ? 'disabledflag desc' : 'disabledflag asc'}" />
              </s:link>
              </rich:column>
              <rich:column>
              <s:link styleClass="columnHeader"
              value="#{messages.phone} #{userList.order=='phone asc' ? messages.down : ( userList.order=='phone desc' ? messages.up : '' )}">
              <f:param name="order"
              value="#{userList.order=='phone asc' ? 'phone desc' : 'phone asc'}" />
              </s:link>
              </rich:column>
              </rich:columnGroup>
              </f:facet>

              <rich:column>
              <a4j:commandLink id="locker" action="#{row.toggleLock}"
              reRender="userTable">
              <f:param name="conversationId" value="#{conversation.id}" />
              <t:graphicImage
              value="#{row.disabledflag ? '/images/red.gif' : '/images/green.gif'}" />
              </a4j:commandLink>
              <rich:spacer width="10"></rich:spacer>
              <t:commandLink action="#{adminUser.redirectUser(row)}"
              title="#{messages.administrationuser}">
              <t:graphicImage value="/images/edit.gif" />
              </t:commandLink>
              </rich:column>
              <rich:column>
              <h:outputText value="#{row.created}"></h:outputText>
              </rich:column>
              <rich:column>
              <h:outputText value="#{row.modified}"></h:outputText>
              </rich:column>
              <rich:column>
              <h:outputText value="#{row.name}"></h:outputText>
              </rich:column>
              <rich:column>
              <h:outputText value="#{row.description}"></h:outputText>
              </rich:column>
              <rich:column>
              <h:outputText value="#{row.email}"></h:outputText>
              </rich:column>
              <rich:column>
              <h:outputText value="#{row.disabledflag}"></h:outputText>
              </rich:column>
              <rich:column>
              <h:outputText value="#{row.phone}"></h:outputText>
              </rich:column>
              </rich:dataTable>
              </a4j:form>
              </ui:define>
              </ui:composition>


              But I don't have backing bean for that. Action method for blocking is located in entity bean.

              @Table(name = "user")
              @Entity
              public class User implements Serializable {

              /**
              *
              */
              private static final long serialVersionUID = 1L;

              private boolean disabledflag; // DISABLEDFLAG

              private String login = null; // LOGIN

              private String password = null; // PASSWORD
              private Set roles = new HashSet(0);

              private List rolesList;

              • 4. Re: problem with blocking user
                ivan.tufegdzic

                Hi,
                Thanks for answer.
                Page :

                <ui:composition xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:s="http://jboss.com/products/seam/taglib"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:rich="http://richfaces.ajax4jsf.org/rich"
                xmlns:a4j="https://ajax4jsf.dev.java.net/ajax"
                xmlns:t="http://myfaces.apache.org/tomahawk"
                template="/layout/templateallpage.xhtml">
                <ui:define name="body">
                <a4j:form>
                <rich:dataTable cellpadding="0" cellspacing="0" border="0" var="row"
                id="userTable" value="#{userList.resultList}" width="100%">
                <f:facet name="header">
                <rich:columnGroup>
                <rich:column colspan="8">



                <h:outputText
                value="#{messages.users}"></h:outputText>
                <h:inputText id="value"
                required="false" value="#{tableSearch.value}" /> <rich:spacer
                width="5"></rich:spacer> <a4j:commandLink id="peopleSearch"
                reRender="userTable"
                action="#{tableSearch.search(userList)}">
                <t:graphicImage value="/images/search.gif" title="#{messages.search}"></t:graphicImage>
                </a4j:commandLink> <rich:spacer width="5"></rich:spacer> <a4j:commandLink
                id="stopSearch" reRender="userTable"
                action="#{tableSearch.clear(userList)}">
                <t:graphicImage value="/images/kreuz.gif" title="#{messages.clearsearch}"></t:graphicImage>
                </a4j:commandLink>



                </rich:column>
                <rich:column breakBefore="true">
                <h:outputText value="#{messages.action}" />
                </rich:column>
                <rich:column>
                <s:link styleClass="columnHeader"
                value="#{messages.created} #{userList.order=='created asc' ? messages.down : ( userList.order=='created desc' ? messages.up : '' )}">
                <f:param name="order"
                value="#{userList.order=='created asc' ? 'created desc' : 'created asc'}" />
                </s:link>
                </rich:column>
                <rich:column>
                <s:link styleClass="columnHeader"
                value="#{messages.modified} #{userList.order=='modified asc' ? messages.down : ( userList.order=='modified desc' ? messages.up : '' )}">
                <f:param name="order"
                value="#{userList.order=='modified asc' ? 'modified desc' : 'modified asc'}" />
                </s:link>
                </rich:column>
                <rich:column>
                <s:link styleClass="columnHeader"
                value="#{messages.name} #{userList.order=='name asc' ? messages.down : ( userList.order=='name desc' ? messages.up : '' )}">
                <f:param name="order"
                value="#{userList.order=='name asc' ? 'name desc' : 'name asc'}" />
                </s:link>
                </rich:column>
                <rich:column>
                <s:link styleClass="columnHeader"
                value="#{messages.newUserDescription} #{userList.order=='description asc' ? messages.down : ( userList.order=='description desc' ? messages.up : '' )}">
                <f:param name="order"
                value="#{userList.order=='description asc' ? 'description desc' : 'description asc'}" />
                </s:link>
                </rich:column>
                <rich:column>
                <f:facet name="header">
                <s:link styleClass="columnHeader"
                value="#{messages.email} #{userList.order=='email asc' ? messages.down : ( userList.order=='email desc' ? messages.up : '' )}">
                <f:param name="order"
                value="#{userList.order=='email asc' ? 'email desc' : 'email asc'}" />
                </s:link>
                </f:facet>
                </rich:column>
                <rich:column>
                <s:link styleClass="columnHeader"
                value="#{messages.deactive} #{userList.order=='disabledflag asc' ? messages.down : ( userList.order=='disabledflag desc' ? messages.up : '' )}">
                <f:param name="order"
                value="#{userList.order=='disabledflag asc' ? 'disabledflag desc' : 'disabledflag asc'}" />
                </s:link>
                </rich:column>
                <rich:column>
                <s:link styleClass="columnHeader"
                value="#{messages.phone} #{userList.order=='phone asc' ? messages.down : ( userList.order=='phone desc' ? messages.up : '' )}">
                <f:param name="order"
                value="#{userList.order=='phone asc' ? 'phone desc' : 'phone asc'}" />
                </s:link>
                </rich:column>
                </rich:columnGroup>
                </f:facet>

                <rich:column>
                <a4j:commandLink id="locker" action="#{row.toggleLock}"
                reRender="userTable">
                <f:param name="conversationId" value="#{conversation.id}" />
                <t:graphicImage
                value="#{row.disabledflag ? '/images/red.gif' : '/images/green.gif'}" />
                </a4j:commandLink>
                <rich:spacer width="10"></rich:spacer>
                <t:commandLink action="#{adminUser.redirectUser(row)}"
                title="#{messages.administrationuser}">
                <t:graphicImage value="/images/edit.gif" />
                </t:commandLink>
                </rich:column>
                <rich:column>
                <h:outputText value="#{row.created}"></h:outputText>
                </rich:column>
                <rich:column>
                <h:outputText value="#{row.modified}"></h:outputText>
                </rich:column>
                <rich:column>
                <h:outputText value="#{row.name}"></h:outputText>
                </rich:column>
                <rich:column>
                <h:outputText value="#{row.description}"></h:outputText>
                </rich:column>
                <rich:column>
                <h:outputText value="#{row.email}"></h:outputText>
                </rich:column>
                <rich:column>
                <h:outputText value="#{row.disabledflag}"></h:outputText>
                </rich:column>
                <rich:column>
                <h:outputText value="#{row.phone}"></h:outputText>
                </rich:column>
                </rich:dataTable>
                </a4j:form>
                </ui:define>
                </ui:composition>


                But I don't have backing bean for that. Action method for blocking is located in entity bean.

                @Table(name = "user")
                @Entity
                public class User implements Serializable {

                /**
                *
                */
                private static final long serialVersionUID = 1L;

                private boolean disabledflag; // DISABLEDFLAG

                private String login = null; // LOGIN

                private String password = null; // PASSWORD

                private Set roles = new HashSet(0);

                private List rolesList;

                .
                .
                .

                /**
                * This is many to many realtionship.
                * @return roles Set of roles for this user
                * @author Ivan Tufegdzic
                */
                @ManyToMany(cascade=CascadeType.ALL)
                public Set getRoles() {
                return roles;
                }

                /**
                * @param roles
                * the set of ROLE to set
                */
                public void setRoles(Set roles) {
                this.roles = roles;
                }

                /**
                * @return rolesList List of roles as collection for this user
                * @author Ivan Tufegdzic
                */
                @Transient
                public List getRolesAsCollection() {
                if (rolesList == null) {
                rolesList = new LinkedList();
                rolesList.addAll(getRoles());
                }
                return rolesList;
                }

                /**
                * @param rolesList
                * the List of ROLE to set
                */
                public void setRolesAsCollection(List rolesList) {
                setRoles(new HashSet(rolesList));
                this.rolesList = rolesList;
                }

                /**
                * @return the DISABLEDFLAG
                */
                public boolean isDisabledflag() {
                return disabledflag;
                }

                /**
                * @param disabledflag
                * the DISABLEDFLAG to set
                */
                public void setDisabledflag(boolean disabledflag) {
                this.disabledflag = disabledflag;
                }

                /**
                * Seting disabled flag for user
                */
                @ItemAction(icon = "#{row.disabledflag ? '/images/red.gif' : '/images/green.gif'}", partial = true)
                public void toggleLock() {
                setModified(new Date());
                setDisabledflag(!isDisabledflag());
                }

                Best regards
                it

                • 5. Re: problem with blocking user
                  pmuir

                  Please post using [ code ] tags, I can't read that!

                  • 6. Re: problem with blocking user
                    ivan.tufegdzic

                    Yes. Sorry.

                    <ui:composition xmlns:ui="http://java.sun.com/jsf/facelets"
                     xmlns:s="http://jboss.com/products/seam/taglib"
                     xmlns:f="http://java.sun.com/jsf/core"
                     xmlns:h="http://java.sun.com/jsf/html"
                     xmlns:rich="http://richfaces.ajax4jsf.org/rich"
                     xmlns:a4j="https://ajax4jsf.dev.java.net/ajax"
                     xmlns:t="http://myfaces.apache.org/tomahawk"
                     template="/layout/templateallpage.xhtml">
                     <ui:define name="body">
                     <a4j:form>
                     <rich:dataTable cellpadding="0" cellspacing="0" border="0" var="row"
                     id="userTable" value="#{userList.resultList}" width="100%">
                     <f:facet name="header">
                     <rich:columnGroup>
                     <rich:column colspan="8">
                     <table width="100%">
                     <tr>
                     <td align="left" width="25%"></td>
                     <td align="center" width="50%"><h:outputText
                     value="#{messages.users}"></h:outputText></td>
                     <td align="right" width="25%"><h:inputText id="value"
                     required="false" value="#{tableSearch.value}" /> <rich:spacer
                     width="5"></rich:spacer> <a4j:commandLink id="peopleSearch"
                     reRender="userTable"
                     action="#{tableSearch.search(userList)}">
                     <t:graphicImage value="/images/search.gif" title="#{messages.search}"></t:graphicImage>
                     </a4j:commandLink> <rich:spacer width="5"></rich:spacer> <a4j:commandLink
                     id="stopSearch" reRender="userTable"
                     action="#{tableSearch.clear(userList)}">
                     <t:graphicImage value="/images/kreuz.gif" title="#{messages.clearsearch}"></t:graphicImage>
                     </a4j:commandLink></td>
                     </tr>
                     </table>
                    
                     </rich:column>
                     <rich:column breakBefore="true">
                     <h:outputText value="#{messages.action}" />
                     </rich:column>
                     <rich:column>
                     <s:link styleClass="columnHeader"
                     value="#{messages.created} #{userList.order=='created asc' ? messages.down : ( userList.order=='created desc' ? messages.up : '' )}">
                     <f:param name="order"
                     value="#{userList.order=='created asc' ? 'created desc' : 'created asc'}" />
                     </s:link>
                     </rich:column>
                     <rich:column>
                     <s:link styleClass="columnHeader"
                     value="#{messages.modified} #{userList.order=='modified asc' ? messages.down : ( userList.order=='modified desc' ? messages.up : '' )}">
                     <f:param name="order"
                     value="#{userList.order=='modified asc' ? 'modified desc' : 'modified asc'}" />
                     </s:link>
                     </rich:column>
                     <rich:column>
                     <s:link styleClass="columnHeader"
                     value="#{messages.name} #{userList.order=='name asc' ? messages.down : ( userList.order=='name desc' ? messages.up : '' )}">
                     <f:param name="order"
                     value="#{userList.order=='name asc' ? 'name desc' : 'name asc'}" />
                     </s:link>
                     </rich:column>
                     <rich:column>
                     <s:link styleClass="columnHeader"
                     value="#{messages.newUserDescription} #{userList.order=='description asc' ? messages.down : ( userList.order=='description desc' ? messages.up : '' )}">
                     <f:param name="order"
                     value="#{userList.order=='description asc' ? 'description desc' : 'description asc'}" />
                     </s:link>
                     </rich:column>
                     <rich:column>
                     <f:facet name="header">
                     <s:link styleClass="columnHeader"
                     value="#{messages.email} #{userList.order=='email asc' ? messages.down : ( userList.order=='email desc' ? messages.up : '' )}">
                     <f:param name="order"
                     value="#{userList.order=='email asc' ? 'email desc' : 'email asc'}" />
                     </s:link>
                     </f:facet>
                     </rich:column>
                     <rich:column>
                     <s:link styleClass="columnHeader"
                     value="#{messages.deactive} #{userList.order=='disabledflag asc' ? messages.down : ( userList.order=='disabledflag desc' ? messages.up : '' )}">
                     <f:param name="order"
                     value="#{userList.order=='disabledflag asc' ? 'disabledflag desc' : 'disabledflag asc'}" />
                     </s:link>
                     </rich:column>
                     <rich:column>
                     <s:link styleClass="columnHeader"
                     value="#{messages.phone} #{userList.order=='phone asc' ? messages.down : ( userList.order=='phone desc' ? messages.up : '' )}">
                     <f:param name="order"
                     value="#{userList.order=='phone asc' ? 'phone desc' : 'phone asc'}" />
                     </s:link>
                     </rich:column>
                     </rich:columnGroup>
                     </f:facet>
                    
                     <rich:column>
                     <a4j:commandLink id="locker" action="#{row.toggleLock}"
                     reRender="userTable">
                     <f:param name="conversationId" value="#{conversation.id}" />
                     <t:graphicImage
                     value="#{row.disabledflag ? '/images/red.gif' : '/images/green.gif'}" />
                     </a4j:commandLink>
                     <rich:spacer width="10"></rich:spacer>
                     <t:commandLink action="#{adminUser.redirectUser(row)}"
                     title="#{messages.administrationuser}">
                     <t:graphicImage value="/images/edit.gif" />
                     </t:commandLink>
                     </rich:column>
                     <rich:column>
                     <h:outputText value="#{row.created}"></h:outputText>
                     </rich:column>
                     <rich:column>
                     <h:outputText value="#{row.modified}"></h:outputText>
                     </rich:column>
                     <rich:column>
                     <h:outputText value="#{row.name}"></h:outputText>
                     </rich:column>
                     <rich:column>
                     <h:outputText value="#{row.description}"></h:outputText>
                     </rich:column>
                     <rich:column>
                     <h:outputText value="#{row.email}"></h:outputText>
                     </rich:column>
                     <rich:column>
                     <h:outputText value="#{row.disabledflag}"></h:outputText>
                     </rich:column>
                     <rich:column>
                     <h:outputText value="#{row.phone}"></h:outputText>
                     </rich:column>
                     </rich:dataTable>
                     </a4j:form>
                     </ui:define>
                    </ui:composition>
                    


                    Entity

                    @Table(name = "user")
                    @Entity
                    public class User implements Serializable {
                    
                    /**
                    *
                    */
                    private static final long serialVersionUID = 1L;
                    
                    private boolean disabledflag; // DISABLEDFLAG
                    
                    private String login = null; // LOGIN
                    
                    private String password = null; // PASSWORD
                    
                    private Set roles = new HashSet(0);
                    
                    private List rolesList;
                    
                    .
                    .
                    .
                    
                    /**
                    * This is many to many realtionship.
                    * @return roles Set of roles for this user
                    * @author Ivan Tufegdzic
                    */
                    @ManyToMany(cascade=CascadeType.ALL)
                    public Set getRoles() {
                    return roles;
                    }
                    
                    /**
                    * @param roles
                    * the set of ROLE to set
                    */
                    public void setRoles(Set roles) {
                    this.roles = roles;
                    }
                    
                    /**
                    * @return rolesList List of roles as collection for this user
                    * @author Ivan Tufegdzic
                    */
                    @Transient
                    public List getRolesAsCollection() {
                    if (rolesList == null) {
                    rolesList = new LinkedList();
                    rolesList.addAll(getRoles());
                    }
                    return rolesList;
                    }
                    
                    /**
                    * @param rolesList
                    * the List of ROLE to set
                    */
                    public void setRolesAsCollection(List rolesList) {
                    setRoles(new HashSet(rolesList));
                    this.rolesList = rolesList;
                    }
                    
                    /**
                    * @return the DISABLEDFLAG
                    */
                    public boolean isDisabledflag() {
                    return disabledflag;
                    }
                    
                    /**
                    * @param disabledflag
                    * the DISABLEDFLAG to set
                    */
                    public void setDisabledflag(boolean disabledflag) {
                    this.disabledflag = disabledflag;
                    }
                    
                    /**
                    * Seting disabled flag for user
                    */
                    @ItemAction(icon = "#{row.disabledflag ? '/images/red.gif' : '/images/green.gif'}", partial = true)
                    public void toggleLock() {
                    setModified(new Date());
                    setDisabledflag(!isDisabledflag());
                    }


                    • 7. Re: problem with blocking user
                      pmuir

                      Ok, so what is ItemAction?

                      • 8. Re: problem with blocking user
                        ivan.tufegdzic

                        ItemAction was annotation for oldest version with trinidad tags. But if I clear that, error is still here.