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 82979 Details for
Bug 207344
[logview] implement Group By
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
refactoring
patch.txt (text/plain), 23.56 KB, created by
Jacek Pospychala
on 2007-11-15 11:48:06 EST
(
hide
)
Description:
refactoring
Filename:
MIME Type:
Creator:
Jacek Pospychala
Created:
2007-11-15 11:48:06 EST
Size:
23.56 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.ui.views.log >Index: src/org/eclipse/ui/internal/views/log/LogSession.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/LogSession.java,v >retrieving revision 1.2 >diff -u -r1.2 LogSession.java >--- src/org/eclipse/ui/internal/views/log/LogSession.java 22 Oct 2007 15:18:42 -0000 1.2 >+++ src/org/eclipse/ui/internal/views/log/LogSession.java 15 Nov 2007 16:42:14 -0000 >@@ -11,22 +11,16 @@ > *******************************************************************************/ > package org.eclipse.ui.internal.views.log; > >+import java.io.PrintWriter; > import java.text.ParseException; >-import java.util.ArrayList; > import java.util.Date; >-import java.util.List; >- >-import org.eclipse.core.runtime.PlatformObject; >-import org.eclipse.jface.resource.ImageDescriptor; >-import org.eclipse.ui.model.IWorkbenchAdapter; > > import com.ibm.icu.text.SimpleDateFormat; > >-public class LogSession extends PlatformObject implements IWorkbenchAdapter { >+public class LogSession extends AbstractEntry { > private String sessionData; > private Date date; >- private List entries = new ArrayList(); >- >+ > /** > * Constructor for LogSession. > */ >@@ -63,24 +57,8 @@ > String dateBuffer = line.substring(0, delim).trim(); > setDate(dateBuffer); > } >- >- public List getEntries() { >- return entries; >- } >- >- public Object[] getChildren(Object o) { >- return getEntries().toArray(new LogEntry[getEntries().size()]); >- } >- >- public ImageDescriptor getImageDescriptor(Object object) { >- return null; >- } >- >- public String getLabel(Object o) { >- return null; >- } > >- public Object getParent(Object o) { >- return null; >+ public void write(PrintWriter writer) { >+ writer.write(sessionData); > } > } >Index: src/org/eclipse/ui/internal/views/log/LogView.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/LogView.java,v >retrieving revision 1.11 >diff -u -r1.11 LogView.java >--- src/org/eclipse/ui/internal/views/log/LogView.java 8 Nov 2007 01:23:43 -0000 1.11 >+++ src/org/eclipse/ui/internal/views/log/LogView.java 15 Nov 2007 16:42:14 -0000 >@@ -723,7 +723,7 @@ > if (fLogs.isEmpty()) { > fLogs.add(new LogSession()); > } >- LogReader.addEntry(entry, ((LogSession)fLogs.get(fLogs.size() - 1)).getEntries(), fMemento, true); >+ LogReader.addEntry(entry, ((LogSession)fLogs.get(fLogs.size() - 1)), fMemento, true); > asyncRefresh(); > } > >@@ -1017,8 +1017,8 @@ > } > } > >- private int getNumberOfParents(LogEntry entry){ >- LogEntry parent = (LogEntry)entry.getParent(entry); >+ private int getNumberOfParents(AbstractEntry entry){ >+ AbstractEntry parent = (AbstractEntry)entry.getParent(entry); > if (parent ==null) > return 0; > return 1 + getNumberOfParents(parent); >Index: src/org/eclipse/ui/internal/views/log/LogEntry.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/LogEntry.java,v >retrieving revision 1.2 >diff -u -r1.2 LogEntry.java >--- src/org/eclipse/ui/internal/views/log/LogEntry.java 1 Oct 2007 20:47:08 -0000 1.2 >+++ src/org/eclipse/ui/internal/views/log/LogEntry.java 15 Nov 2007 16:42:14 -0000 >@@ -13,24 +13,20 @@ > import java.io.PrintWriter; > import java.io.StringWriter; > import java.text.ParseException; >-import java.util.ArrayList; > import java.util.Date; > import java.util.StringTokenizer; > > import org.eclipse.core.runtime.IStatus; >-import org.eclipse.core.runtime.PlatformObject; > import org.eclipse.jface.resource.ImageDescriptor; > import org.eclipse.ui.model.IWorkbenchAdapter; > > import com.ibm.icu.text.SimpleDateFormat; > >-public class LogEntry extends PlatformObject implements IWorkbenchAdapter { >+public class LogEntry extends AbstractEntry { > > public static final String F_DATE_FORMAT = "yyyy-MM-dd HH:mm:ss.SSS"; //$NON-NLS-1$ > private static final SimpleDateFormat F_SDF = new SimpleDateFormat(F_DATE_FORMAT); > >- private ArrayList children; >- private LogEntry parent; > private String pluginId; > private int severity; > private int code; >@@ -85,21 +81,11 @@ > public String getSeverityText() { > return getSeverityText(severity); > } >- public boolean hasChildren() { >- return children != null && children.size() > 0; >- } >+ > public String toString() { > return getSeverityText(); > } >- /** >- * @see IWorkbenchAdapter#getChildren(Object) >- */ >- public Object[] getChildren(Object parent) { >- if (children == null) >- return new Object[0]; >- return children.toArray(); >- } >- >+ > /** > * @see IWorkbenchAdapter#getImageDescriptor(Object) > */ >@@ -114,17 +100,6 @@ > return getSeverityText(); > } > >- /** >- * @see IWorkbenchAdapter#getParent(Object) >- */ >- public Object getParent(Object obj) { >- return parent; >- } >- >- void setParent(LogEntry parent) { >- this.parent = parent; >- } >- > private String getSeverityText(int severity) { > switch (severity) { > case IStatus.ERROR : >@@ -279,19 +254,13 @@ > } > IStatus[] schildren = status.getChildren(); > if (schildren.length > 0) { >- children = new ArrayList(); > for (int i = 0; i < schildren.length; i++) { > LogEntry child = new LogEntry(schildren[i]); > addChild(child); > } > } > } >- void addChild(LogEntry child) { >- if (children == null) >- children = new ArrayList(); >- children.add(child); >- child.setParent(this); >- } >+ > public void write(PrintWriter writer) { > if (session != null) > writer.println(session.getSessionData()); >Index: src/org/eclipse/ui/internal/views/log/EventDetailsDialogAction.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/EventDetailsDialogAction.java,v >retrieving revision 1.2 >diff -u -r1.2 EventDetailsDialogAction.java >--- src/org/eclipse/ui/internal/views/log/EventDetailsDialogAction.java 22 Oct 2007 15:18:42 -0000 1.2 >+++ src/org/eclipse/ui/internal/views/log/EventDetailsDialogAction.java 15 Nov 2007 16:42:14 -0000 >@@ -81,7 +81,7 @@ > > //get initial selection > IAdaptable element = (IAdaptable) getStructuredSelection().getFirstElement(); >- if ((element == null) || (element instanceof LogSession)) >+ if ((element == null) || (! (element instanceof AbstractEntry))) > return; > > propertyDialog = new EventDetailsDialog(shell, element, provider, comparator); >Index: src/org/eclipse/ui/internal/views/log/EventDetailsDialog.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/EventDetailsDialog.java,v >retrieving revision 1.5 >diff -u -r1.5 EventDetailsDialog.java >--- src/org/eclipse/ui/internal/views/log/EventDetailsDialog.java 25 Oct 2007 15:54:49 -0000 1.5 >+++ src/org/eclipse/ui/internal/views/log/EventDetailsDialog.java 15 Nov 2007 16:42:14 -0000 >@@ -15,8 +15,8 @@ > import java.io.PrintWriter; > import java.io.StringWriter; > import java.text.Collator; >+import java.util.ArrayList; > import java.util.Arrays; >-import java.util.Collections; > import java.util.Comparator; > import java.util.Date; > import java.util.List; >@@ -29,6 +29,7 @@ > import org.eclipse.jface.viewers.ISelection; > import org.eclipse.jface.viewers.ISelectionProvider; > import org.eclipse.jface.viewers.IStructuredSelection; >+import org.eclipse.jface.viewers.ITreeContentProvider; > import org.eclipse.jface.viewers.StructuredSelection; > import org.eclipse.jface.viewers.TreeViewer; > import org.eclipse.swt.SWT; >@@ -49,12 +50,18 @@ > import org.eclipse.ui.PlatformUI; > > public class EventDetailsDialog extends TrayDialog { >- private LogEntry entry, parentEntry; >+ private AbstractEntry entry; >+ private AbstractEntry parentEntry; // parent of the entry >+ private AbstractEntry[] entryChildren; // children of the entry >+ > private LogViewLabelProvider labelProvider; >- private static int COPY_ID = 22; > private TreeViewer provider; >- private int elementNum, totalElementCount; >- private LogEntry[] entryChildren; >+ >+ private static int COPY_ID = 22; >+ >+ private int elementNum; // number of selected element >+ private int totalElementCount; // number of all elements >+ > private int childIndex = 0; > private boolean isOpen; > private boolean isLastChild; >@@ -93,7 +100,7 @@ > this.provider = (TreeViewer) provider; > labelProvider = (LogViewLabelProvider)this.provider.getLabelProvider(); > labelProvider.connect(this); >- this.entry = (LogEntry)selection; >+ this.entry = (AbstractEntry)selection; > this.comparator = comparator; > setShellStyle(SWT.MODELESS | SWT.MIN | SWT.MAX | SWT.RESIZE | SWT.CLOSE | SWT.BORDER | SWT.TITLE); > clipboard = new Clipboard(parentShell.getDisplay()); >@@ -107,7 +114,7 @@ > private void initialize() { > elementNum = getParentElementNum(); > resetTotalElementCount(); >- parentEntry = (LogEntry) entry.getParent(entry); >+ parentEntry = (AbstractEntry) entry.getParent(entry); > if (isChild(entry)){ > setEntryChildren(parentEntry); > resetChildIndex(); >@@ -117,16 +124,30 @@ > } > > private void resetChildIndex() { >+ if (! (entry instanceof AbstractEntry)) { >+ return; >+ } >+ >+ if (entryChildren == null) >+ return; >+ >+ LogEntry thisEntry = (LogEntry) entry; >+ > for (int i = 0; i < entryChildren.length; i++) { >- if (equal(entryChildren[i].getMessage(), entry.getMessage()) >- && equal(entryChildren[i].getDate(), entry.getDate()) >- && equal(entryChildren[i].getPluginId(), entry >- .getPluginId()) >- && entryChildren[i].getSeverity() == entry.getSeverity() >- && equal(entryChildren[i].getSeverityText(), entry >- .getSeverityText())) { >- childIndex = i; >- break; >+ if (entryChildren[i] instanceof LogEntry) { >+ >+ LogEntry logEntry = (LogEntry) entryChildren[i]; >+ >+ if (equal(logEntry.getMessage(), thisEntry.getMessage()) >+ && equal(logEntry.getDate(), thisEntry.getDate()) >+ && equal(logEntry.getPluginId(), thisEntry >+ .getPluginId()) >+ && logEntry.getSeverity() == thisEntry.getSeverity() >+ && equal(logEntry.getSeverityText(), thisEntry >+ .getSeverityText())) { >+ childIndex = i; >+ break; >+ } > } > } > } >@@ -144,7 +165,7 @@ > return d1.equals(d2); > } > >- private boolean isChild(LogEntry entry) { >+ private boolean isChild(AbstractEntry entry) { > return entry.getParent(entry) != null; > } > >@@ -306,8 +327,8 @@ > updateProperties(); > return; > } >- if (selectedEntry instanceof LogEntry) { >- entry = (LogEntry)selectedEntry; >+ if (selectedEntry instanceof AbstractEntry) { >+ entry = (AbstractEntry)selectedEntry; > initialize(); > updateProperties(); > } >@@ -325,7 +346,7 @@ > > public void updateProperties() { > if (isChild(entry)){ >- parentEntry = (LogEntry) entry.getParent(entry); >+ parentEntry = (AbstractEntry) entry.getParent(entry); > setEntryChildren(parentEntry); > resetChildIndex(); > if (childIndex == entryChildren.length - 1) >@@ -334,21 +355,37 @@ > > resetTotalElementCount(); > >- String strDate = entry.getFormattedDate(); >- dateLabel.setText(strDate); >- severityImageLabel.setImage(labelProvider.getColumnImage(entry, 0)); >- severityLabel.setText(entry.getSeverityText()); >- msgText.setText(entry.getMessage() != null ? entry.getMessage() : ""); //$NON-NLS-1$ >- String stack = entry.getStack(); >- if (stack != null) { >- stackTraceText.setText(stack); >- } else { >- stackTraceText.setText(Messages.EventDetailsDialog_noStack); >+ LogSession session = null; >+ >+ if (entry instanceof LogEntry) { >+ LogEntry logEntry = (LogEntry) entry; >+ >+ String strDate = logEntry.getFormattedDate(); >+ dateLabel.setText(strDate); >+ severityImageLabel.setImage(labelProvider.getColumnImage(entry, 0)); >+ severityLabel.setText(logEntry.getSeverityText()); >+ msgText.setText(logEntry.getMessage() != null ? logEntry.getMessage() : ""); //$NON-NLS-1$ >+ String stack = logEntry.getStack(); >+ if (stack != null) { >+ stackTraceText.setText(stack); >+ } else { >+ stackTraceText.setText(Messages.EventDetailsDialog_noStack); >+ } >+ session = logEntry.getSession(); >+ >+ } else if (entry instanceof LogSession) { >+ session = (LogSession) entry; >+ >+ dateLabel.setText(""); //$NON-NLS-1$ >+ severityImageLabel.setImage(null); >+ severityLabel.setText(""); //$NON-NLS-1$ >+ msgText.setText(""); //$NON-NLS-1$ >+ stackTraceText.setText(""); //$NON-NLS-1$ > } >- LogSession session = entry.getSession(); >+ > if (session != null && session.getSessionData() != null) > sessionDataText.setText(session.getSessionData()); >- >+ > updateButtons(); > } > >@@ -363,15 +400,15 @@ > } > } > >- private void findNextSelectedChild(LogEntry originalEntry){ >+ private void findNextSelectedChild(AbstractEntry originalEntry){ > if (isChild (parentEntry)){ > // we're at the end of the child list; find next parent > // to select. If the parent is a child at the end of the child > // list, find its next parent entry to select, etc. > > entry = parentEntry; >- setEntryChildren((LogEntry)parentEntry.getParent(parentEntry)); >- parentEntry = (LogEntry)parentEntry.getParent(parentEntry); >+ setEntryChildren((AbstractEntry)parentEntry.getParent(parentEntry)); >+ parentEntry = (AbstractEntry)parentEntry.getParent(parentEntry); > resetChildIndex(); > isLastChild = childIndex == entryChildren.length-1; > if (isLastChild){ >@@ -386,15 +423,15 @@ > } > } > >- private boolean nextChildExists(LogEntry originalEntry, LogEntry originalParent, LogEntry[] originalEntries){ >+ private boolean nextChildExists(AbstractEntry originalEntry, AbstractEntry originalParent, AbstractEntry[] originalEntries){ > if (isChild (parentEntry)){ > // we're at the end of the child list; find next parent > // to select. If the parent is a child at the end of the child > // list, find its next parent entry to select, etc. > > entry = parentEntry; >- setEntryChildren((LogEntry)parentEntry.getParent(parentEntry)); >- parentEntry = (LogEntry)parentEntry.getParent(parentEntry); >+ setEntryChildren((AbstractEntry)parentEntry.getParent(parentEntry)); >+ parentEntry = (AbstractEntry)parentEntry.getParent(parentEntry); > resetChildIndex(); > if (childIndex == entryChildren.length-1){ > nextChildExists(originalEntry, originalParent, originalEntries); >@@ -413,39 +450,67 @@ > return false; > > } >+ >+ /** >+ * Sets entry children (Prev-Next navigable) to top-level elements >+ */ > private void setEntryChildren(){ >- Object[] children = ((LogViewContentProvider)provider.getContentProvider()).getElements(null); >+ AbstractEntry[] children = getElements(); > > if (comparator != null) > Arrays.sort(children, comparator); >- entryChildren = new LogEntry[children.length]; >+ entryChildren = new AbstractEntry[children.length]; > > System.arraycopy(children,0,entryChildren,0,children.length); > } > > private void resetTotalElementCount(){ >- totalElementCount = entry.getSession().getEntries().size(); >+ AbstractEntry parent = ((AbstractEntry)entry.getParent(entry)); >+ if (parent == null) { >+ totalElementCount = getElements().length; >+ } else { >+ totalElementCount = parent.getChildren(parent).length; >+ } > } > >- private void setEntryChildren(LogEntry entry){ >- LogSession session = entry.getSession(); >- if (session == null) >- return; >+ /** >+ * Sets entry children (Prev-Next navigable) to children of given entry >+ */ >+ private void setEntryChildren(AbstractEntry entry){ >+ Object[] children = entry.getChildren(entry); > >- List children = session.getEntries(); > if (comparator != null) >- Collections.sort(children, comparator); >- entryChildren = (LogEntry[])children.toArray(new LogEntry[children.size()]); >+ Arrays.sort(children, comparator); >+ >+ List result = new ArrayList(); >+ for (int i = 0; i < children.length; i++) { >+ if (children[i] instanceof AbstractEntry) { >+ result.add(children[i]); >+ } >+ } >+ >+ entryChildren = (AbstractEntry[])result.toArray(new AbstractEntry[result.size()]); > } >- >+ >+ /** >+ * Returns number of children of current parent node. >+ * @return >+ */ > private int getParentElementNum(){ >- LogEntry itemEntry = (LogEntry)((IStructuredSelection)provider.getSelection()).getFirstElement(); >- itemEntry = getRootEntry(itemEntry); >+ AbstractEntry itemEntry = (AbstractEntry)((IStructuredSelection)provider.getSelection()).getFirstElement(); >+ >+ //itemEntry = getRootEntry(itemEntry); >+ >+ AbstractEntry itemParent = (AbstractEntry) itemEntry.getParent(itemEntry); >+ if (itemParent != null) { >+ setEntryChildren(itemEntry); >+ } else { >+ setEntryChildren(); // if at top level, the children are top-level >+ } > >- setEntryChildren(itemEntry); > for (int i = 0; i<entryChildren.length; i++){ > try { >- LogEntry littleEntry = entryChildren[i]; >+ AbstractEntry littleEntry = entryChildren[i]; > if (itemEntry.equals(littleEntry)){ > return i; > } >@@ -456,12 +521,6 @@ > return 0; > } > >- private LogEntry getRootEntry(LogEntry entry){ >- if (!isChild(entry)) >- return entry; >- return getRootEntry((LogEntry)entry.getParent(entry)); >- } >- > public SashForm getSashForm(){ > return sashForm; > } >@@ -696,4 +755,12 @@ > s.put("sashWidth1", sashWeights[0]); //$NON-NLS-1$ > s.put("sashWidth2", sashWeights[1]); //$NON-NLS-1$ > } >+ >+ /** >+ * Utility method to get all top level elements of the Log View >+ * @return top level elements of the Log View >+ */ >+ private AbstractEntry[] getElements() { >+ return (AbstractEntry[])((ITreeContentProvider)provider.getContentProvider()).getElements(null); >+ } > } >Index: src/org/eclipse/ui/internal/views/log/LogViewContentProvider.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/LogViewContentProvider.java,v >retrieving revision 1.2 >diff -u -r1.2 LogViewContentProvider.java >--- src/org/eclipse/ui/internal/views/log/LogViewContentProvider.java 22 Oct 2007 15:18:42 -0000 1.2 >+++ src/org/eclipse/ui/internal/views/log/LogViewContentProvider.java 15 Nov 2007 16:42:14 -0000 >@@ -11,8 +11,6 @@ > *******************************************************************************/ > package org.eclipse.ui.internal.views.log; > >-import java.util.List; >- > import org.eclipse.jface.viewers.ITreeContentProvider; > import org.eclipse.jface.viewers.Viewer; > >@@ -25,11 +23,7 @@ > public void dispose() { > } > public Object[] getChildren(Object element) { >- if (element instanceof LogSession) { >- List entries = ((LogSession) element).getEntries(); >- return entries.toArray(new LogEntry[entries.size()]); >- } >- return ((LogEntry) element).getChildren(element); >+ return ((AbstractEntry) element).getChildren(element); > } > public Object[] getElements(Object element) { > return logView.getLogs(); >@@ -41,10 +35,7 @@ > return ((LogEntry) element).getParent(element); > } > public boolean hasChildren(Object element) { >- if (element instanceof LogSession) { >- return ((LogSession) element).getEntries().size() > 0; >- } >- return ((LogEntry) element).hasChildren(); >+ return ((AbstractEntry) element).getChildren(element).length > 0; > } > public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { > } >Index: src/org/eclipse/ui/internal/views/log/LogReader.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/LogReader.java,v >retrieving revision 1.4 >diff -u -r1.4 LogReader.java >--- src/org/eclipse/ui/internal/views/log/LogReader.java 24 Oct 2007 20:02:28 -0000 1.4 >+++ src/org/eclipse/ui/internal/views/log/LogReader.java 15 Nov 2007 16:42:14 -0000 >@@ -21,7 +21,6 @@ > import java.io.StringWriter; > import java.util.ArrayList; > import java.util.Date; >-import java.util.List; > > import org.eclipse.core.runtime.IStatus; > import org.eclipse.ui.IMemento; >@@ -124,7 +123,7 @@ > entry.processEntry(line); > setNewParent(parents, entry, 0); > current = entry; >- addEntry(current, currentSession.getEntries(), memento, false); >+ addEntry(current, currentSession, memento, false); > } else if (state == SUBENTRY_STATE) { > if (parents.size() > 0) { > LogEntry entry = new LogEntry(); >@@ -182,7 +181,7 @@ > currentSession = session; > } > >- public synchronized static void addEntry(LogEntry current, List entries, IMemento memento, boolean useCurrentSession) { >+ public synchronized static void addEntry(LogEntry current, LogSession entries, IMemento memento, boolean useCurrentSession) { > int severity = current.getSeverity(); > boolean doAdd = true; > switch(severity) { >@@ -199,11 +198,14 @@ > if (doAdd) { > if (useCurrentSession) > current.setSession(currentSession); >- entries.add(0, current); > >- if (memento.getString(LogView.P_USE_LIMIT).equals("true") //$NON-NLS-1$ >- && entries.size() > memento.getInteger(LogView.P_LOG_LIMIT).intValue()) >- entries.remove(entries.size() - 1); >+ >+ if (memento.getString(LogView.P_USE_LIMIT).equals("true")) {//$NON-NLS-1$ >+ int limit = memento.getInteger(LogView.P_LOG_LIMIT).intValue(); >+ entries.addChild(current, limit); >+ } else { >+ entries.addChild(current); >+ } > } > } > >Index: src/org/eclipse/ui/internal/views/log/AbstractEntry.java >=================================================================== >RCS file: src/org/eclipse/ui/internal/views/log/AbstractEntry.java >diff -N src/org/eclipse/ui/internal/views/log/AbstractEntry.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ src/org/eclipse/ui/internal/views/log/AbstractEntry.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,74 @@ >+package org.eclipse.ui.internal.views.log; >+ >+import java.io.PrintWriter; >+import java.util.ArrayList; >+import java.util.List; >+ >+import org.eclipse.core.runtime.PlatformObject; >+import org.eclipse.jface.resource.ImageDescriptor; >+import org.eclipse.ui.model.IWorkbenchAdapter; >+ >+/** >+ * >+ * >+ */ >+public abstract class AbstractEntry extends PlatformObject implements IWorkbenchAdapter { >+ >+ private List children; >+ private Object parent; >+ >+ public void addChild(AbstractEntry child) { >+ if (children == null) { >+ children = new ArrayList(); >+ } >+ children.add(0, child); >+ child.setParent(this); >+ } >+ >+ public void addChild(AbstractEntry child, int limit) { >+ addChild(child); >+ if (children.size() > limit) { >+ children.remove(children.size() - 1); >+ } >+ } >+ >+ /** >+ * @see IWorkbenchAdapter#getChildren(Object) >+ */ >+ public Object[] getChildren(Object parent) { >+ if (children == null) >+ return new Object[0]; >+ return children.toArray(); >+ } >+ >+ public boolean hasChildren() { >+ return children != null && children.size() > 0; >+ } >+ >+ /** >+ * @see IWorkbenchAdapter#getImageDescriptor(Object) >+ */ >+ public ImageDescriptor getImageDescriptor(Object object) { >+ return null; >+ } >+ >+ /** >+ * @see IWorkbenchAdapter#getLabel(Object) >+ */ >+ public String getLabel(Object o) { >+ return null; >+ } >+ >+ /** >+ * @see IWorkbenchAdapter#getParent(Object) >+ */ >+ public Object getParent(Object o) { >+ return parent; >+ } >+ >+ public void setParent(AbstractEntry parent) { >+ this.parent = parent; >+ } >+ >+ public abstract void write(PrintWriter writer); >+}
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 Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 207344
:
82406
|
82979
|
83056
|
83136
|
84099
|
84161
|
84162
|
84261
|
84273