jBPM can't evaluate method
smithbstl Apr 9, 2007 5:24 PMI am taking my first stab at using jPdl page flows and can't get jBPM to recognize a component method.
I have a SFSB that contains two DataModels. The first DataModel fills a clickable data table (AddressLookup.xhtml) which has a link to another page (AddressRequestListing.xhtml) with a second table filled by the second DataModel in the SFSB.
I keep getting this error
org.jbpm.JbpmException: couldn't evaluate expression '#{requestEntry.findRequests}'
Here is my page flow - pageflow.jpdl.xml
<pageflow-definition name="serviceRequestCreation"> <start-page name="addressLookup" view-id="/AddressLookup.xhtml"> <redirect/> <transition name="viewRequests" to="addressRequestListing"> <action expression="#{requestEntry.findRequests}"/> </transition> </start-page> <page name="addressRequestListing" view-id="/AddressRequestListing.xhtml"/> </pageflow-definition>
Here is pages.xml
<pages> <page view-id="/AddressLookup.xhtml"> <begin-conversation join="true" pageflow="serviceRequestCreation"/> </page> </pages>
Here is my SFSB
@Stateful @Name("requestEntry") public class RequestEntryAction implements com.stlouiscity.csb.ejb.action.RequestEntry { @PersistenceContext(unitName="CSB_Oracle", type=EXTENDED) private EntityManager em; @In(create=true) private Address address; @In(create=true, required=false) private AddressLookup addressLookup; @DataModel("addresses") private List<ParcelAddress> addresses; @DataModelSelection(value="addresses") @Out(required=false) private ParcelAddress selectedAddress; @DataModel("requests") private List<ServiceRequest> requests; @DataModelSelection(value="requests") private ServiceRequest selectedRequest; public RequestEntryAction() { } public void findAddresses() { if (address.getStreetName() != null) { System.out.println("Address Is NOT NULL"); //Find ParcelAddress Query q = em.createQuery("Select a From ParcelAddress a Where" + " (a.structureAddress.nlc.streetDirection = :streetDirection OR :streetDirection IS NULL) AND" + " (lower(a.structureAddress.nlc.streetName) LIKE :street) AND" + " (((a.structureAddress.structureAddressPK.houseNumber = :houseNumber) OR" + " (:houseNumber BETWEEN a.structureAddress.houseLow AND a.structureAddress.houseHigh)) OR (:houseNumber IS NULL))"); q.setParameter("houseNumber",address.getHouseNumber()); q.setParameter("streetDirection",address.getStreetDirection()); q.setParameter("street",address.getStreetName().toLowerCase() + "%"); addresses = q.getResultList(); } else { System.out.println("Address IS NULL"); } } public void findRequests() { System.out.println("**********Entered findRequests*************"); System.out.println("**********Selected Address: " + selectedAddress.toString()); Query q = em.createQuery("Select s From ServiceRequest Where" + " s.parcelAddress = :parcelAddress"); q.setParameter("parcelAddress",selectedAddress); requests = q.getResultList(); }