Esempio n. 1
0
 private void trackPositionChanges(Tag tag) {
   // tracking associated Positions
   for (Position position : tag.getPositionTags()) {
     Position positionDB = PositionManager.getDefault().getEntityById(position.getId());
     if (!positionDB.getTags().contains(tag)) {
       positionDB
           .getHistory()
           .add(
               PositionManager.getDefault()
                   .getChange(positionDB, PositionManager.FIELD_TAGS, "", tag.getName()));
     }
   }
   // tracking deassociated Positions
   if (tag.getId() != null) {
     Tag tagDB = getEntityById(tag.getId());
     for (Position positionDB : tagDB.getPositionTags()) {
       if (!tag.getPositionTags().contains(positionDB)) {
         positionDB
             .getHistory()
             .add(
                 PositionManager.getDefault()
                     .getChange(positionDB, PositionManager.FIELD_TAGS, tag.getName(), ""));
       }
     }
   }
 }
Esempio n. 2
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);
        }
      }
    }
  }
Esempio n. 3
0
  /**
   * Save bean and stay on it
   *
   * @return forward to list page
   */
  public String save() {

    doBeforeSave();

    if (tag.getId() == null) {
      manager.insertEntity(tag);
    } else {
      manager.updateEntity(tag);
    }

    // Calls an after save action
    String result = doAfterSave(NavigationResults.LIST);

    // Unselect object
    tag = null;

    return result;
  }
Esempio n. 4
0
 // Getters and setters to manipulate active Tag object
 public java.lang.Integer getId() {
   return tag.getId();
 }
Esempio n. 5
0
 /**
  * Whether or not delete button is available for user
  *
  * @return true if user can delete current object
  */
 public boolean isDeleteAvailable() {
   return (tag.getId() != null) && SpringUtils.isAclPermissionGranted(tag, BasePermission.DELETE);
 }