Hello EJB 3.0 Users

I've just noticed that creates class that extends EntityQuery, some generated 
classes do NOT have any restrictsion set in the RESTRICTIONS array. I tried to 
find out why but so far I have not found any useful information on this. 
Anyways I have a class called ExoshellUsersRolesList that extends EntityQuery 
(originally generated by Seam-Gen) to which it did not have it's RESTRICTIONS 
array set. So I decided I would manually set the array myself like so.

package com.domain.exoshellcms.session;

import com.domain.exoshellcms.entity.*;

import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Scope;
import org.jboss.seam.framework.EntityQuery;
import java.util.List;
import java.util.Arrays;

@Name("exoshellUserRolesList")
@Scope(ScopeType.SESSION)
public class ExoshellUserRolesList extends EntityQuery {
    /* UNABLE TO GET RESTRICTIONS TO WORK WITHOUT POINTING TO NULL PARENT 
OBJECT I.E. exoshellUsers, exoshellRoles or exoshellModules */
        private static final String[] RESTRICTIONS = {
                "lower(users.username) like 
concat(lower(#{exoshellUserRolesList.exoshellUserRoles.exoshellUsers.username}),'%')",
                "lower(exoshellUserRoles.exoshellRoles.roleName) like 
concat(lower(#{exoshellUserRolesList.exoshellUserRoles.exoshellRoles.roleName}),'%')",
                "lower(exoshellUserRoles.exoshellModules.moduleName) like 
concat(lower(#{exoshellUserRolesList.exoshellUserRoles.exoshellModules.moduleName}),'%')"
        };

        private ExoshellUserRoles exoshellUserRoles = new ExoshellUserRoles();
        private String queryString = new String("select exoshellUserRoles, 
users from ExoshellUserRoles exoshellUserRoles join fetch 
exoshellUserRoles.exoshellUsers users");
                 @Override
        public String getEjbql() {
                return queryString;
        }

        public ExoshellUserRoles getExoshellUserRoles() {
                return exoshellUserRoles;
        }

        @Override
        public List getRestrictions() {
                return Arrays.asList(RESTRICTIONS);
        }

        @Override
        public String getOrder() {
                return new String("exoshellUserRoles.userRolesId asc");
        }
}



I then created a corresponding interface form to search through a datable using 
the ExoshellUsersList like so:

          <rich:simpleTogglePanel label="User Roles search parameters" 
switchType="ajax" opened="false" ignoreDupResponses="true" 
eventsQueue="userSearchQueue" requestDelay="2000" immediate="true" 
rendered="false">

            <s:decorate template="/layout/display.xhtml">
                <ui:define name="label">User Name</ui:define>
                <h:inputText id="userRoleName" 
value="#{exoshellUserRolesList.exoshellUserRoles.exoshellUsers.username}">
                 <a:support event="onblur" 
reRender="panelusers,userRolesPaginator" ignoreDupResponses="true"/>
                </h:inputText>
            </s:decorate>

            <s:decorate template="/layout/display.xhtml">
                <ui:define name="label">Role Name</ui:define>
                <h:inputText id="userRoleRolename" 
value="#{exoshellUserRolesList.exoshellUserRoles.exoshellRoles.roleName}">
                <a:support event="onblur"/>
                </h:inputText>
            </s:decorate>

            <s:decorate template="/layout/display.xhtml">
                <ui:define name="label">Module</ui:define>
                <h:inputText id="userRoleModule" 
value="#{exoshellUserRolesList.exoshellUserRoles.exoshellModules.moduleName}">
                 <a:support event="onblur"/>
                </h:inputText>
            </s:decorate>

        </rich:simpleTogglePanel>

Unfortunately this was not enough as when I try to input text into one of the 
search fields (like User Name) upon ajax update I get the error:

Exception during request processing:
Caused by javax.servlet.ServletException with message: 
"/admin/ExoshellUserRolesEdit.xhtml @339,122 
value="#{exoshellUserRolesList.exoshellUserRoles.exoshellUsers.username}": 
Target Unreachable, 'exoshellUsers' returned null on 
'com.domain.exoshellcms.entity.ExoshellUserRoles'"


Any insight, documentation or solutions to the exception above would be greatly 
appreciated. I've include the relied upon EJB entities below after this post.



View the original post : 
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4262077#4262077

Reply to the post : 
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4262077
_______________________________________________
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to