Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 79886 Details for
Bug 205700
[Viewers] IllegalArgumentException occurs when adding elements to TreeViewer
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
A JUnit Test for reproducing the problem
TreeViewerTest.java (text/plain), 5.02 KB, created by
Lasse Knudsen
on 2007-10-08 05:27:52 EDT
(
hide
)
Description:
A JUnit Test for reproducing the problem
Filename:
MIME Type:
Creator:
Lasse Knudsen
Created:
2007-10-08 05:27:52 EDT
Size:
5.02 KB
patch
obsolete
>import java.util.ArrayList; >import java.util.List; > >import junit.framework.TestCase; > >import org.eclipse.jface.viewers.ITreeContentProvider; >import org.eclipse.jface.viewers.LabelProvider; >import org.eclipse.jface.viewers.TreeViewer; >import org.eclipse.jface.viewers.Viewer; >import org.eclipse.jface.viewers.ViewerSorter; >import org.eclipse.swt.SWT; >import org.eclipse.swt.widgets.Display; >import org.eclipse.swt.widgets.Shell; > >/** > * @author Lasse Knudsen > * > */ >public class TreeViewerTest extends TestCase { > > private Display display; > > private TreeViewer viewer; > > private TreeNode rootNode; > > private final TreeNode child1 = new TreeNode("Child1"); > > private final TreeNode child5 = new TreeNode("Child5"); > > private final TreeNode child10 = new TreeNode("Child10"); > > /* > * (non-Javadoc) > * > * @see junit.framework.TestCase#setUp() > */ > @Override > protected void setUp() throws Exception { > display = new Display(); > Shell shell = new Shell(display); > > viewer = new TreeViewer(shell, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); > > viewer.setContentProvider(new InternalContentProvider()); > viewer.setLabelProvider(new InternalLabelProvider()); > > viewer.setInput(createInput()); > > shell.open(); > } > > /* > * (non-Javadoc) > * > * @see junit.framework.TestCase#tearDown() > */ > @Override > protected void tearDown() throws Exception { > display.close(); > } > > public void testNoExceptionWillBeThrownWhenNoSorterIsSet() throws Exception { > rootNode.add(new TreeNode("Child2")); > rootNode.add(new TreeNode("Child3")); > rootNode.add(new TreeNode("Child4")); > rootNode.add(new TreeNode("Child6")); > rootNode.add(new TreeNode("Child7")); > rootNode.add(new TreeNode("Child8")); > rootNode.add(new TreeNode("Child9")); > > try { > viewer.add(rootNode, rootNode.getChildren().toArray()); > } catch (Exception e) { > fail("No Exception should have been thrown"); > } > } > > public void testAnExceptionWillOccurWhenASorterIsSet() throws Exception { > viewer.setSorter(new ViewerSorter()); > > rootNode.add(new TreeNode("Child2")); > rootNode.add(new TreeNode("Child3")); > rootNode.add(new TreeNode("Child4")); > rootNode.add(new TreeNode("Child6")); > rootNode.add(new TreeNode("Child7")); > rootNode.add(new TreeNode("Child8")); > rootNode.add(new TreeNode("Child9")); > > try { > viewer.add(rootNode, rootNode.getChildren().toArray()); > fail("An Exception should occur!"); > } catch (IllegalArgumentException e) { > // expected > } > } > > private Object createInput() { > rootNode = new TreeNode("Root"); > > rootNode.add(child1); > rootNode.add(child5); > rootNode.add(child10); > > return rootNode; > } > > private class TreeNode { > > private final String name; > > private TreeNode parent = null; > > private final List<TreeNode> children = new ArrayList<TreeNode>(); > > public TreeNode(String name) { > this.name = name; > } > > public void add(TreeNode newChild) { > if (newChild != null) { > children.add(newChild); > } > } > > public List<TreeNode> getChildren() { > return children; > } > > public TreeNode getParent() { > return parent; > } > > public String getName() { > return name; > } > } > > private class InternalLabelProvider extends LabelProvider { > public String getText(Object element) { > if (element instanceof TreeNode) { > return ((TreeNode) element).getName(); > } > return null; > } > } > > private class InternalContentProvider implements ITreeContentProvider { > public Object[] getChildren(Object parentElement) { > if (parentElement instanceof TreeNode) { > return ((TreeNode) parentElement).getChildren().toArray(); > } > return new Object[0]; > } > > public Object getParent(Object element) { > if (element instanceof TreeNode) { > return ((TreeNode) element).getParent(); > } > return null; > } > > public boolean hasChildren(Object element) { > if (element instanceof TreeNode) { > return !((TreeNode) element).getChildren().isEmpty(); > } > return false; > } > > public Object[] getElements(Object inputElement) { > return getChildren(inputElement); > } > > public void dispose() { > // nothing > } > > public void inputChanged(@SuppressWarnings("hiding") > Viewer viewer, Object oldInput, Object newInput) { > // nothing > } > } > >}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 205700
: 79886