Example #1
0
 /**
  * Get the list of all contactTags selected
  *
  * @return the list of all contactTags selected
  */
 public List<SelectItem> getContactTagsSelected() {
   ArrayList<SelectItem> ret = new ArrayList<SelectItem>();
   List<Contact> refs = this.getContactTags();
   for (Contact ref : refs) {
     ret.add(new SelectItem(ref, ref.getName()));
   }
   return ret;
 }
Example #2
0
 public List<SelectItem> getAllContacts() {
   final List<Contact> refs =
       ContactManager.getDefault().getAllEntities(null, new SortCriteria("name"));
   final List<SelectItem> ret = new ArrayList<SelectItem>();
   for (Contact ref : refs) {
     ret.add(new SelectItem(ref, ref.getName()));
   }
   return ret;
 }
Example #3
0
  private void trackContactChanges(Tag tag) {
    // tracking associated Contacts
    for (Contact contact : tag.getContactTags()) {
      final Contact contactBD = ContactManager.getDefault().getEntityById(contact.getId());
      if (!contactBD.getTags().contains(tag)) {
        // FIXME aqui debería bastar con añadir el cambio o el tag al contacto y salvar el contacto
        // para que se actualizase con los listener de hibernate. Por algún motivo, sólo cuando se
        // da de alta
        // una nueva clave y se asocia a un contacto antes de guardar no funciona correctamente.
        EntityChange entityChange =
            contactBD.getEntityChange(
                Contact.FIELD_TAGS, "", tag.getName(), tag.getId().toString());
        contactBD.addEntityChange(Contact.FIELD_TAGS, "", tag.getName(), tag.getId().toString());
        //					contactDAO.update(contactBD);

        if (entityChange != null) {
          entityChangeDAO.insert(entityChange);
        }
      }
    }
    // tracking deassociated Contacts
    if (tag.getId() != null) {
      Tag tagDB = getEntityById(tag.getId());
      for (Contact contactDB : tagDB.getContactTags()) {
        if (!tag.getContactTags().contains(contactDB)) {
          contactDB.addEntityChange(Contact.FIELD_TAGS, tag.getName(), "", tag.getId().toString());
          contactDAO.update(contactDB);
        }
      }
    }
  }