/
(8.2.0) Value updated event
Document toolboxDocument toolbox

(8.2.0) 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");
}
}