diff options
Diffstat (limited to 'org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/compare/BugzillaCompareNode.java')
-rw-r--r-- | org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/compare/BugzillaCompareNode.java | 232 |
1 files changed, 0 insertions, 232 deletions
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/compare/BugzillaCompareNode.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/compare/BugzillaCompareNode.java deleted file mode 100644 index 27e05eeda..000000000 --- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/compare/BugzillaCompareNode.java +++ /dev/null @@ -1,232 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003 - 2005 University Of British Columbia 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: - * University Of British Columbia - initial API and implementation - *******************************************************************************/ -package org.eclipse.mylar.bugzilla.core.compare; - -import java.io.ByteArrayInputStream; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.Iterator; - -import org.eclipse.compare.IStreamContentAccessor; -import org.eclipse.compare.ITypedElement; -import org.eclipse.compare.structuremergeviewer.IStructureComparator; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.mylar.bugzilla.core.Attribute; -import org.eclipse.mylar.bugzilla.core.BugReport; -import org.eclipse.mylar.bugzilla.core.Comment; -import org.eclipse.swt.graphics.Image; -import org.eclipse.ui.ISharedImages; -import org.eclipse.ui.PlatformUI; - - -/** - * A node for the tree used to compare bugs in the compare viewer. - */ -public class BugzillaCompareNode implements IStreamContentAccessor, IStructureComparator, ITypedElement { - - /** The label for this piece of data. */ - private String key; - - /** The data for this node. */ - private String value; - - /** The children of this node. */ - private ArrayList<BugzillaCompareNode> nodeChildren; - - /** This node's image. */ - private Image image; - - /** - * Constructor. The image for this node is set to <code>null</code>. - * @param key The label for this node. - * @param value The data for this node. - */ - public BugzillaCompareNode(String key, String value) { - this(key, value, null); - } - - /** - * Constructor. - * @param key The label for this node. - * @param value The data for this node. - * @param image The image for this node. - */ - public BugzillaCompareNode(String key, String value, Image image) { - super(); - this.key = key; - this.value = checkText(value); - this.nodeChildren = null; - this.image = image; - } - - /** - * This function checks to make sure the given string is not - * <code>null</code>. If it is, the empty string is returned instead. - * - * @param newValue - * The string to be checked. - * @return If the text is <code>null</code>, then return the null string (<code>""</code>). - * Otherwise, return the text. - */ - private String checkText(String newValue) { - return ((newValue == null) ? "" : newValue); - } - - public Object[] getChildren() { - return (nodeChildren == null) ? new Object[0] : nodeChildren.toArray(); - } - - /** - * Adds a node to this node's list of children. - * @param bugNode The new child. - */ - public void addChild(BugzillaCompareNode bugNode) { - if (nodeChildren == null) { - nodeChildren = new ArrayList<BugzillaCompareNode>(); - } - nodeChildren.add(bugNode); - } - - public InputStream getContents() throws CoreException { - return new ByteArrayInputStream(getValue().getBytes()); - } - - /** - * @return The label for this node. - */ - public String getKey() { - return key; - } - - /** - * Set the label for this node. - * - * @param key - * The new label. - */ - public void setKey(String key) { - this.key = key; - } - - /** - * @return The data for this node. - */ - public String getValue() { - return value; - } - - /** - * Set the data for this node. - * - * @param value - * The new data. - */ - public void setValue(String value) { - this.value = checkText(value); - } - - public Image getImage() { - return image; - } - - /** - * Sets the image for this object. This image is used when displaying this - * object in the UI. - * - * @param newImage - * The new image. - */ - public void setImage(Image newImage) { - this.image = newImage; - } - - @Override - public boolean equals(Object arg0) { - if (arg0 instanceof BugzillaCompareNode) { - BugzillaCompareNode bugNode = (BugzillaCompareNode) arg0; - return getKey().equals(bugNode.getKey()); - } - return super.equals(arg0); - } - - @Override - public int hashCode() { - return getKey().hashCode(); - } - - - public String getName() { - return getKey(); - } - - public String getType() { - return "bug report"; - } - - /** - * Parses the given <code>BugReport</code> into a tree of - * <code>BugzillaCompareNode</code>'s suitable for use in a compare - * viewer. - * - * @param bug - * The <code>BugReport</code> that needs parsing. - * @return The tree of <code>BugzillaCompareNode</code>'s. - */ - public static BugzillaCompareNode parseBugReport(BugReport bug) { - Image defaultImage = PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_DEF_VIEW); - BugzillaCompareNode topNode = new BugzillaCompareNode("Bug #" + bug.getId(), null, defaultImage); - topNode.addChild(new BugzillaCompareNode("Creation Date", bug.getCreated().toString(), defaultImage)); - - String keywords = ""; - if (bug.getKeywords() != null) { - for (Iterator<String> iter = bug.getKeywords().iterator(); iter.hasNext();) { - keywords += iter.next() + " "; - } - } - topNode.addChild(new BugzillaCompareNode("Keywords", keywords, defaultImage)); - - Image attributeImage = PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_ELEMENT); - BugzillaCompareNode attributes = new BugzillaCompareNode("Attributes", null, attributeImage); - for (Iterator<Attribute> iter = bug.getAttributes().iterator(); iter.hasNext();) { - Attribute attribute = iter.next(); - - // Since the bug report may not be saved offline, get the attribute's new - // value, which is what is in the submit viewer. - attributes.addChild(new BugzillaCompareNode(attribute.getName(), attribute.getNewValue(), attributeImage)); - } - topNode.addChild(attributes); - - topNode.addChild(new BugzillaCompareNode("Description", bug.getDescription(), defaultImage)); - - BugzillaCompareNode comments = new BugzillaCompareNode("Comments", null, defaultImage); - for (Iterator<Comment> iter = bug.getComments().iterator(); iter.hasNext();) { - Comment comment = iter.next(); - String bodyString = "Comment from " + comment.getAuthorName() + ":\n\n" + comment.getText(); - comments.addChild(new BugzillaCompareNode(comment.getCreated().toString(), bodyString, defaultImage)); - } - topNode.addChild(comments); - - topNode.addChild(new BugzillaCompareNode("New Comment", bug.getNewNewComment(), defaultImage)); - - BugzillaCompareNode ccList = new BugzillaCompareNode("CC List", null, defaultImage); - for (Iterator<String> iter = bug.getCC().iterator(); iter.hasNext();) { - String cc = iter.next(); - ccList.addChild(new BugzillaCompareNode("CC", cc, defaultImage)); - } - topNode.addChild(ccList); - - BugzillaCompareNode titleNode = new BugzillaCompareNode("BugReport Object", null, defaultImage); - titleNode.addChild(topNode); - - return titleNode; - } - -} |