Document toolboxDocument toolbox

(8.4.1) Value updated event

This event will be launched when any Projectrak field value has been updated in any project.
The information provided by the events is:

  • User
  • Project
  • Field
  • Old value
  • New value  

In this particular event, you can listen to a general method for all kind of fields or to a particular method for every different field type (that way you will get the values with its particular type).

Default implementation for value update event
package com.deiser.jira.profields.event.listener;
import com.atlassian.crowd.embedded.api.Group;
import com.atlassian.event.api.EventPublisher;
import com.atlassian.jira.project.Project;
import com.atlassian.jira.user.ApplicationUser;
import com.deiser.jira.profields.api.event.model.ProfieldsEvent;
import com.deiser.jira.profields.api.event.listener.ProfieldsListener;
import com.deiser.jira.profields.api.field.Field;
import com.deiser.jira.profields.api.field.date.DateField;
import com.deiser.jira.profields.api.field.duration.DurationField;
import com.deiser.jira.profields.api.field.group.GroupField;
import com.deiser.jira.profields.api.field.groupmultiple.GroupMultipleField;
import com.deiser.jira.profields.api.field.item.list.ListItem;
import com.deiser.jira.profields.api.field.item.priority.PriorityItem;
import com.deiser.jira.profields.api.field.item.status.StatusItem;
import com.deiser.jira.profields.api.field.list.ListField;
import com.deiser.jira.profields.api.field.list.multiple.ListMultipleField;
import com.deiser.jira.profields.api.field.number.NumberField;
import com.deiser.jira.profields.api.field.priority.PriorityField;
import com.deiser.jira.profields.api.field.project.ProjectField;
import com.deiser.jira.profields.api.field.projectmultiple.ProjectMultipleField;
import com.deiser.jira.profields.api.field.status.StatusField;
import com.deiser.jira.profields.api.field.text.TextField;
import com.deiser.jira.profields.api.field.user.UserField;
import com.deiser.jira.profields.api.field.usermultiple.UserMultipleField;
import org.apache.log4j.Logger;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
public class DefaultProfieldsListener extends ProfieldsListener {
private static final Logger log = Logger.getLogger(DefaultProfieldsListener.class);
private EventPublisher eventPublisher;
public DefaultProfieldsListener(EventPublisher eventPublisher) {
this.eventPublisher = eventPublisher;
}
@Override
public void afterPropertiesSet() throws Exception {
eventPublisher.register(this);
}
@Override
public void destroy() throws Exception {
eventPublisher.unregister(this);
}
@Override
protected void onValueUpdated(ApplicationUser user, Project project, Field field, Object oldValue, Object newValue) {
log.debug("DefaultProfieldsListener - onValueUpdated");
}
@Override
protected void onTextValueUpdated(ApplicationUser user, Project project, TextField field, String oldValue, String newValue) {
log.debug("DefaultProfieldsListener - onTextValueUpdated");
}
@Override
protected void onNumberValueUpdated(ApplicationUser user, Project project, NumberField field, BigDecimal oldValue, BigDecimal newValue) {
log.debug("DefaultProfieldsListener - onNumberValueUpdated");
}
@Override
protected void onDateValueUpdated(ApplicationUser user, Project project, DateField field, Date oldValue, Date newValue) {
log.debug("DefaultProfieldsListener - onDateValueUpdated");
}
@Override
protected void onDurationValueUpdated(ApplicationUser user, Project project, DurationField field, Long oldValue, Long newValue) {
log.debug("DefaultProfieldsListener - onDurationValueUpdated");
}
@Override
protected void onUserValueUpdated(ApplicationUser user, Project project, UserField field, ApplicationUser oldValue, ApplicationUser newValue) {
log.debug("DefaultProfieldsListener - onUserValueUpdated");
}
@Override
protected void onUserMultiValueUpdated(ApplicationUser user, Project project, UserMultipleField field, List<ApplicationUser> oldValue, List<ApplicationUser> newValue) {
log.debug("DefaultProfieldsListener - onUserMultiValueUpdated");
}
@Override
protected void onGroupValueUpdated(ApplicationUser user, Project project, GroupField field, Group oldValue, Group newValue) {
log.debug("DefaultProfieldsListener - onGroupValueUpdated");
}
@Override
protected void onGroupMultiValueUpdated(ApplicationUser user, Project project, GroupMultipleField field, List<Group> oldValue, List<Group> newValue) {
log.debug("DefaultProfieldsListener - onGroupMultiValueUpdated");
}
@Override
protected void onProjectValueUpdated(ApplicationUser user, Project project, ProjectField field, Project oldValue, Project newValue) {
log.debug("DefaultProfieldsListener - onProjectValueUpdated");
}
@Override
protected void onProjectMultiValueUpdated(ApplicationUser user, Project project, ProjectMultipleField field, List<Project> oldValue, List<Project> newValue) {
log.debug("DefaultProfieldsListener - onProjectMultiValueUpdated");
}
@Override
protected void onStatusValueUpdated(ApplicationUser user, Project project, StatusField field, StatusItem oldValue, StatusItem newValue) {
log.debug("DefaultProfieldsListener - onStatusValueUpdated");
}
@Override
protected void onPriorityValueUpdated(ApplicationUser user, Project project, PriorityField field, PriorityItem oldValue, PriorityItem newValue) {
log.debug("DefaultProfieldsListener - onPriorityValueUpdated");
}
@Override
protected void onListValueUpdated(ApplicationUser user, Project project, ListField field, ListItem oldValue, ListItem newValue) {
log.debug("DefaultProfieldsListener - onListValueUpdated");
}
@Override
protected void onListMultiValueUpdated(ApplicationUser user, Project project, ListMultipleField field, List<ListItem> oldValue, List<ListItem> newValue) {
log.debug("DefaultProfieldsListener - onListMultiValueUpdated");
}
}