public ChangeHistoryGroup build() { return new ChangeHistoryGroup(id, projectId, issueId, issueKey, userKey, changeItems, created); }
@Override public int hashCode() { return new HashCodeBuilder() .append(getId()) .append(getChangeItems()) .append(getUserKey()) .append(getProjectId()) .append(getIssueId()) .append(getIssueKey()) .append(getCreated()) .toHashCode(); }
@Override public int compareTo(ChangeHistoryGroup other) { if (created.compareTo(other.getCreated()) == 0) { return id.compareTo(other.getId()); } return created.compareTo(other.getCreated()); }
@Override public boolean equals(Object o) { if(o == null || !(o instanceof ChangeHistoryGroup)) { return false; } ChangeHistoryGroup rhs = (ChangeHistoryGroup)o; return new EqualsBuilder() .append(getId(), rhs.getId()) .append(getChangeItems(), rhs.getChangeItems()) .append(getUserKey(), rhs.getUserKey()) .append(getProjectId(), rhs.getProjectId()) .append(getIssueId(), rhs.getIssueId()) .append(getIssueKey(), rhs.getIssueKey()) .append(getCreated(), rhs.getCreated()) .isEquals(); }
public List<ChangeHistoryGroup> apply(final Issue issue) { final List<ChangeHistoryGroup> changeGroups = new ArrayList<ChangeHistoryGroup>(); try { // get a List<GenericValue> of changes final List<GenericValue> allChanges = issueManager.getEntitiesByIssueObject(IssueRelationConstants.CHANGE_GROUPS, issue); for (final GenericValue element : allChanges) { final List<ChangeHistoryItem> changes = new ArrayList<ChangeHistoryItem>(); final List<GenericValue> changeitems = element.getRelated("ChildChangeItem"); for (final GenericValue changeItem : changeitems) { changes.add(new ChangeHistoryItem(changeItem.getLong("id"), changeItem.getLong("group"), issue.getProjectObject().getId(),issue.getId(), issue.getKey(), "status", new Timestamp(System.currentTimeMillis()), changeItem.getString("oldstring"), changeItem.getString("newstring"), changeItem.getString("oldvalue"), changeItem.getString("newvalue"), element.getString("author"))); } changeGroups.add(new ChangeHistoryGroup(element.getLong("id"), issue.getProjectObject().getId(), issue.getId(), issue.getKey(), element.getString("author"), changes, element.getTimestamp("created"))); } } catch (final Exception e) { throw new DataAccessException(e); } return changeGroups; } }
final String changeItemUser = changeHistoryGroup.getUserKey(); final Builder builder = new Builder(changeHistoryGroup) .addField(DocumentConstants.PROJECT_ID, String.valueOf(changeHistoryGroup.getProjectId()), Field.Store.NO, Field.Index.NOT_ANALYZED_NO_NORMS) .addField(DocumentConstants.ISSUE_ID, String.valueOf(changeHistoryGroup.getIssueId()), Field.Store.YES, Field.Index.NOT_ANALYZED_NO_NORMS) .addField(DocumentConstants.ISSUE_KEY, String.valueOf(changeHistoryGroup.getIssueKey()), Field.Store.YES, Field.Index.NOT_ANALYZED_NO_NORMS) .addField(DocumentConstants.CHANGE_ACTIONER, encodeProtocolPreservingCase(changeItemUser), Field.Store.NO, Field.Index.NOT_ANALYZED_NO_NORMS) .addField(DocumentConstants.CHANGE_DATE, LuceneUtils.dateToString(changeHistoryGroup.getCreated()), Field.Store.YES, Field.Index.NOT_ANALYZED_NO_NORMS) .addAllExtractors(searchExtractorManager.findExtractorsForEntity(ChangeHistoryGroup.class)); for (final ChangeHistoryItem changeItem : changeHistoryGroup.getChangeItems())