Getting closer. I removed the room dropdown lookup logic from the jsp and it 
complianed about calling personEdtor.poo. I changed it back to 
personEditor.create and it added the record. So it appears there is something 
that occurs when the dropdown room lookup logic is inserted in the jsf:

JSF:


  |          <h:selectOneMenu value="#{roomFinder.example}" 
converter="org.jboss.seam.EntityConverter">
  |                     <f:selectItems value="#{roomListByOrganization}" />
  |              </h:selectOneMenu> 
  | 
  | 

RoomFinderBean


  | package testSeam;
  | 
  | // Generated Oct 6, 2006 12:55:26 AM by Hibernate Tools 3.2.0.beta7
  | 
  | import java.util.HashMap;
  | import java.util.List;
  | import java.util.ArrayList;
  | import java.util.Iterator;
  | import java.util.Map;
  | import java.util.Map.Entry;
  | import java.util.TreeMap;
  | import javax.ejb.Remove;
  | import javax.ejb.Stateful;
  | import javax.interceptor.Interceptors;
  | import javax.persistence.EntityManager;
  | import javax.persistence.Query;
  | import javax.faces.component.UISelectItems;
  | import javax.faces.model.SelectItem;
  | import org.jboss.seam.ScopeType;
  | import org.jboss.seam.annotations.Destroy;
  | import org.jboss.seam.annotations.In;
  | import org.jboss.seam.annotations.Out;
  | import org.jboss.seam.annotations.Name;
  | import org.jboss.seam.annotations.RequestParameter;
  | import org.jboss.seam.annotations.Scope;
  | import org.jboss.seam.annotations.Factory;
  | 
  | import org.jboss.seam.selectitems.annotations.*;
  | 
  | import org.jboss.seam.annotations.datamodel.DataModel;
  | import org.jboss.seam.annotations.datamodel.DataModelSelection;
  | import org.jboss.seam.ejb.SeamInterceptor;
  | 
  | @Name("roomFinder")
  | @Stateful
  | @Scope(ScopeType.SESSION)
  | @Interceptors(SeamInterceptor.class)
  | public class RoomFinderBean implements RoomFinder {
  | 
  |     @Out
  |     private Room example = new Room();
  | 
  |     public Room getExample() {
  |             return example;
  |     }
  |     
  |     @In(required=false)
  |     private Login login;
  |     
  |     private int pageNumber = 0;
  |     private int pageSize = 25;
  | 
  |     public void setPageSize(int size) {
  |             pageSize = size;
  |     }
  | 
  |     public int getPageSize() {
  |             return pageSize;
  |     }
  | 
  |     public boolean isPreviousPage() {
  |             return roomList != null && pageNumber > 0;
  |     }
  | 
  |     public boolean isNextPage() {
  |             return roomList != null && roomList.size() == pageSize;
  |     }
  | 
  |     @DataModel
  |     private List<Room> roomList;
  | 
  |     // @Out
  |     // @SelectItems(valueStrategy=SelectItems.Strategy.OBJECT, 
labelMethod="getname")
  |     // private List<Room> roomListByOrganization;
  |     @Out
  |     @SelectItems(label="name")
  |     private List<Room> roomListByOrganization;
  | 
  |     @DataModelSelection
  |     private Room selectedRoom;
  | 
  |     @In(create = true)
  |     private EntityManager entityManager;
  |     
  |     private void executeQuery() {
  |             Map<String, Object> parameters = new HashMap<String, Object>();
  |             StringBuffer queryString = new StringBuffer();
  |             if (example.getId() != 0) {
  |                     queryString.append(" and room.id = :id");
  |                     parameters.put("id", example.getId());
  |             }
  |             if (example.getName() != null && example.getName().length() > 
0) {
  |                     queryString.append(" and room.name like :name");
  |                     parameters.put("name", '%' + example.getName() + '%');
  |             }
  |             if (example.getOrganizationId() != 0) {
  |                     queryString.append(" and room.organizationId = 
:organizationId");
  |                     parameters.put("organizationId", 
example.getOrganizationId());
  |             }
  |             if (example.getCapacity() != 0) {
  |                     queryString.append(" and room.capacity = :capacity");
  |                     parameters.put("capacity", example.getCapacity());
  |             }
  |             if (queryString.length() == 0) {
  |                     queryString.append("select room from Room room");
  |             } else {
  |                     queryString.delete(0, 4).insert(0,
  |                                     "select room from Room room where");
  |             }
  | 
  |             if (order != null) {
  |                     queryString.append(" order by room.").append(order);
  |                     if (descending)
  |                             queryString.append(" desc");
  |             }
  | 
  |             Query query = entityManager.createQuery(queryString.toString());
  |             for (Entry<String, Object> param : parameters.entrySet()) {
  |                     query.setParameter(param.getKey(), param.getValue());
  |             }
  |             
  |             roomList = (List<Room>) 
query.setMaxResults(pageSize).setFirstResult(
  |                             pageSize * pageNumber).getResultList();
  |     }
  | 
  |     @SuppressWarnings("unchecked")
  |     @Factory("roomListByOrganization")
  |     public void getRoomListByOrganization() {          // f:selectItems 
value
  |             Map<String, Object> parameters = new HashMap<String, Object>();
  |             StringBuffer queryString = new StringBuffer();
  |             Users loggedInUser = login.getInstance();
  |             
  |             queryString.append(" and room.organizationId = 
:organizationId");
  |             parameters.put("organizationId", 
loggedInUser.getOrganizationId());
  | 
  |             if (queryString.length() == 0) {
  |                     queryString.append("select room from Room room");
  |             } else {
  |                     queryString.delete(0, 4).insert(0,
  |                                     "select room from Room room where");
  |             }
  | 
  |             if (order != null) {
  |                     queryString.append(" order by room.").append(order);
  |                     if (descending)
  |                             queryString.append(" desc");
  |             }
  | 
  |             Query query = entityManager.createQuery(queryString.toString());
  |             for (Entry<String, Object> param : parameters.entrySet()) {
  |                     query.setParameter(param.getKey(), param.getValue());
  |             }
  |             roomListByOrganization = query.getResultList();
  |             
  |         List selectItems=new ArrayList();
  |         for (Iterator iterator = roomListByOrganization.iterator(); 
iterator.hasNext();)
  |         {
  |             Room value = (Room)iterator.next();
  |             SelectItem item = new SelectItem(value, value.getName());
  |             selectItems.add(item);
  |         }
  |         
  |         roomListByOrganization = selectItems; 
  |             
  |             // return roomListByOrganization;
  |     }
  |      
  |     public String findFirstPage() {
  |             pageNumber = 0;
  |             executeQuery();
  |             return null;
  |     }
  | 
  |     public String findNextPage() {
  |             pageNumber++;
  |             executeQuery();
  |             return null;
  |     }
  | 
  |     public String findPreviousPage() {
  |             pageNumber--;
  |             executeQuery();
  |             return null;
  |     }
  | 
  |     public void refresh() {
  |             if (roomList != null)
  |                     executeQuery();
  |     }
  | 
  |     public String clear() {
  |             roomList = null;
  |             example = new Room();
  |             return null;
  |     }
  | 
  |     public Room getSelection() {
  |             return entityManager.merge(selectedRoom);
  |     }
  | 
  |     @Destroy
  |     @Remove
  |     public void destroy() {
  |     }
  | 
  |     private String order;
  | 
  |     private boolean descending = false;
  | 
  |     @RequestParameter
  |     private String orderBy;
  | 
  |     public String reorder() {
  |             if (orderBy.equals(order)) {
  |                     descending = !descending;
  |             } else {
  |                     descending = false;
  |             }
  |             order = orderBy;
  |             executeQuery();
  |             return null;
  |     }
  | 
  | }
  | 

What am I missing here?

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

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

Reply via email to