package test.seam.util; import java.util.List; import javax.persistence.EntityManager; import org.jboss.seam.annotations.In; import org.jboss.seam.annotations.Name; import org.jboss.seam.annotations.remoting.WebRemote; import org.jboss.seam.annotations.security.Restrict; import test.biz.Product; @Name("ajaxtest") @Restrict("#{s:hasRole('admin')}") public class AjaxTest { @In EntityManager em; private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } public String checkProductName() { if(name != null && name.length() > 0) { List<Product> l = em.createQuery("select p.name from Product p where p.name=:name") .setParameter("name", name) .setMaxResults(1) .getResultList(); if (l.size() == 0) { return "Name " + name + " doesn't exist."; } else { return "Name " + name + " <b>already</b> exists."; } } return ""; } @WebRemote public boolean checkDesc(String desc) { if(desc != null && desc.length() > 0) { List<Product> l = em.createQuery("select p.description from Product p where p.description=:desc") .setParameter("desc", desc) .setMaxResults(1) .getResultList(); if (l.size() > 0) { return false; } } return true; } }