[jboss-user] [JBoss Seam] - Re: duplicate id error using ICE data paginator - need help

henrik.lindberg do-not-reply at jboss.com
Thu Feb 15 07:21:33 EST 2007


I am really stuck on this issue - maybe I am doing something wrong in the bean?

Greatful for any feedback:

  | @Stateful
  | @Scope(CONVERSATION)
  | @Name("userSpaces")
  | @TransactionAttribute(REQUIRED)
  | public class UserSpacesAction implements UserSpacesLocal, Serializable
  | {
  | 
  | 	private static final long serialVersionUID = -3722438832731142648L;
  | 
  | 	@PersistenceContext
  | 	private EntityManager em;
  | 
  | 	@In("currentUser")
  | 	private User m_currentUser;
  | 
  | 	private String m_spaceInput;
  | 
  | 	@SuppressWarnings("unused")
  | 	@DataModel("availableSpaces")
  | 	private List<PublishingSpace> m_availableSpaces;
  | 
  | 	@SuppressWarnings("unused")
  | 	@DataModelSelection
  | 	@Out(required = false)
  | 	private PublishingSpace selectedSpace;
  | 
  | 	@Logger
  | 	private Log log;
  | 
  | 	@SuppressWarnings("unchecked")
  | 	@Factory("availableSpaces")
  | 	public void getAvailableSpaces()
  | 	{
  | 		log.debug("Get User space for user #0", m_currentUser.getLogin());
  | 
  | 		m_availableSpaces = em.createQuery(
  | 				"SELECT DISTINCT s.publishingSpace FROM SpaceAccess s WHERE s.theUser = :user").setParameter("user",
  | 				m_currentUser).getResultList();
  | 		
  | 		log.debug("Got a List back  empty=#0", Boolean.valueOf(m_availableSpaces.isEmpty()));
  | 	}
  | 
  | 	public String addSpace()
  | 	{
  | 		// create the full "public.xxx" name and check that it is a
  | 		// valid space name
  | 		//
  | 		String tmpSpace = "public."+m_spaceInput;
  | 		if(!SpaceNameValidator.isSpaceNameValid(tmpSpace))
  | 		{
  | 			FacesMessages.instance().add("spaceInput", "Invalid space name");
  | 			return "error-space-add-invalid-name";
  | 		}
  | 		// Check if space exists
  | 		//
  | 		if(PublishingSpace.exists(em, tmpSpace))
  | 		{
  | 			FacesMessages.instance().add("spaceInput", "Space name already taken - use something else.");
  | 			return "error-space-add-exists";
  | 		}
  | 				
  | 		// Add objects
  | 		//
  | 		log.debug("Adding space for public.#0", m_spaceInput);
  | 		PublishingSpace p = new PublishingSpace("public."+m_spaceInput);
  | 		p.setDateAdded(new Date());
  | 		SpaceAccess sa = new SpaceAccess(m_currentUser,p, Boolean.TRUE);
  | 		em.persist(p);
  | 		em.persist(sa);
  | 		log.info("Added space #0 for user #1", p.getSpaceName(), m_currentUser.getLogin());
  | 		getAvailableSpaces();
  | 		// Clear this value for new input
  | 		m_spaceInput = "";
  | 		return "ok-space-saved";
  | 	}
  | 
  | 	public void setSpaceInput(String space)
  | 	{
  | 		m_spaceInput = space;
  | 	}
  | 
  | 	public String getSpaceInput()
  | 	{
  | 		return m_spaceInput;
  | 	}
  | 
  | 	@Destroy
  | 	@Remove
  | 	public void destroy()
  | 	{
  | 	}
  | }
  | 

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

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4016964



More information about the jboss-user mailing list