Dear all:
I am trying to validate the fields upon update.
in the update method i created a query statement that checks if the a value is 
unique. 
here is the update function
        @IfInvalid(outcome = Outcome.REDISPLAY)
  |     public String update() {
  |             String compName = instance.getName();
  |             String compTel = instance.getTel();
  |             String compFax = instance.getFax();
  |             int compId = instance.getId();
  |             
  |             entityManager.refresh(instance);
  |             
  |             if (compName.equals(instance.getName())) {
  |                     instance.setTel(compTel);
  |                     instance.setFax(compFax);
  |                     entityManager.flush();
  |                     refreshFinder();
  |                     return null;
  |             }
  |             else {
  |                     Query query1 = entityManager.createQuery("select comp 
from Companies comp where comp.name=:compName");
  |                     query1.setParameter("compName", compName);
  |                     
  |                     if (query1.getResultList() != null) {
  |                             FacesContext.getCurrentInstance().addMessage(
  |                                             null,
  |                                             new 
FacesMessage(messages.get("Companies_name") + " "
  |                                                             + 
messages.get("AlreadyExists")));                      
  |                             return null;                            
  |                     }                       
  |             }
  |             instance=(Companies)entityManager.find(Companies.class, 
compId); 
  |             instance.setName(compName);
  |             instance.setTel(compTel);
  |             instance.setFax(compFax);
  |             entityManager.flush();
  |             refreshFinder();
  |             return null;
  |     }

If the user tries to enter a company name that already exists in the database 
then an error is reported. (works fine)
but if the user tries to enter a company name that doesnot exist in the 
database then an error is also reported. the problem is that in this case the 
query statement returns a list but it is not supposed to do so.

any one knows how to solve that.

Best regards
ama55

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

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

Reply via email to