blob: 54ab0c4c00ded4bb4117ac8bd048d8542036c201 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2004, 2008 Tasktop Technologies and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* John Anvik - initial API and implementation
*******************************************************************************/
package org.eclipse.mylyn.internal.bugzilla.core.history;
import java.io.Serializable;
/**
* @author John Anvik
*/
public class TaskRevision implements Comparable<TaskRevision>, Serializable {
private static final long serialVersionUID = 7739060501945994522L;
protected final static String STATUS = "Status"; //$NON-NLS-1$
protected final static String RESOLUTION = "Resolution"; //$NON-NLS-1$
protected final static String ASSIGNMENT = "AssignedTo"; //$NON-NLS-1$
protected final static String ATTACHMENT = "Attachment"; //$NON-NLS-1$
protected String name;
protected String date;
protected String what;
protected String removed;
protected String added;
protected TaskRevision() {
this.added = ""; //$NON-NLS-1$
}
public static TaskRevision createEvent(String type, String change) {
TaskRevision event = new TaskRevision();
event.setWhat(type);
if (STATUS.equals(type)) {
event = new StatusEvent(StatusType.convert(change));
}
if (RESOLUTION.equals(type)) {
event = new ResolutionEvent(ResolutionType.convert(change));
}
if (ASSIGNMENT.equals(type)) {
event = new AssignmentEvent(change);
}
if (type.contains(ATTACHMENT) && type.contains("Flag")) { //$NON-NLS-1$
event = new AttachmentEvent(AttachmentEvent.parseId(type), AttachmentEvent.parseFlags(change));
}
event.setAdded(change);
return event;
}
private void setAdded(String added) {
this.added = added;
}
public void setRemoved(String removed) {
this.removed = removed;
}
private void setWhat(String what) {
this.what = what;
}
public void setDate(String date) {
this.date = date;
}
public void setName(String name) {
this.name = name;
}
public String getAdded() {
return this.added;
}
public String getRemoved() {
return this.removed;
}
public String getWhat() {
return this.what;
}
public String getDate() {
return this.date;
}
public String getName() {
return this.name;
}
@Override
public String toString() {
return this.name + " | " + this.date + " | " + this.what + " | " + this.removed + " | " + this.added; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
}
public int compareTo(TaskRevision o) {
return this.date.compareTo(o.getDate());
}
}