[jboss-cvs] jbosside/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/views/server/providers ...
Robert Stryker
rawblem at gmail.com
Tue Nov 28 12:33:35 EST 2006
User: rawb
Date: 06/11/28 12:33:35
Modified: as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/views/server/providers
EventLogViewProvider.java
Log:
Event Log can sort by type
Revision Changes Path
1.3 +40 -4 jbosside/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/views/server/providers/EventLogViewProvider.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: EventLogViewProvider.java
===================================================================
RCS file: /cvsroot/jboss/jbosside/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/views/server/providers/EventLogViewProvider.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- EventLogViewProvider.java 16 Nov 2006 19:52:23 -0000 1.2
+++ EventLogViewProvider.java 28 Nov 2006 17:33:35 -0000 1.3
@@ -21,6 +21,7 @@
*/
package org.jboss.ide.eclipse.as.ui.views.server.providers;
+import java.util.ArrayList;
import java.util.Properties;
import org.eclipse.core.runtime.CoreException;
@@ -37,8 +38,10 @@
import org.eclipse.ui.views.properties.IPropertySheetPage;
import org.eclipse.wst.server.core.IServer;
import org.jboss.ide.eclipse.as.core.model.EventLogModel;
+import org.jboss.ide.eclipse.as.core.model.EventLogModel.EventLogRoot;
import org.jboss.ide.eclipse.as.core.model.EventLogModel.EventLogTreeItem;
import org.jboss.ide.eclipse.as.core.model.EventLogModel.IEventLogListener;
+import org.jboss.ide.eclipse.as.core.util.SimpleTreeItem;
import org.jboss.ide.eclipse.as.ui.JBossServerUIPlugin;
import org.jboss.ide.eclipse.as.ui.views.server.extensions.IEventLogLabelProvider;
import org.jboss.ide.eclipse.as.ui.views.server.extensions.JBossServerViewExtension;
@@ -82,14 +85,47 @@
public class EventLogContentProvider implements ITreeContentProvider {
public Object[] getChildren(Object parentElement) {
if( parentElement instanceof ServerViewProvider && input != null ) {
+ boolean categorize = true; // TODO: get from preferences
+ if( categorize )
+ return getRootCategories();
return EventLogModel.getModel(input).getRoot().getChildren();
}
+
+ if( parentElement instanceof String ) {
+ // get children only of this type
+ SimpleTreeItem[] children = EventLogModel.getModel(input).getRoot().getChildren();
+ ArrayList items = new ArrayList();
+ for( int i = 0; i < children.length; i++ ) {
+ if( children[i] instanceof EventLogTreeItem ) {
+ String type = ((EventLogTreeItem)children[i]).getEventClass();
+ if( type.equals(parentElement))
+ items.add(children[i]);
+ }
+ }
+ return (Object[]) items.toArray(new Object[items.size()]);
+ }
+
+ // just return the object's kids
if( parentElement instanceof EventLogTreeItem ) {
return ((EventLogTreeItem)parentElement).getChildren();
}
return new Object[0];
}
+ protected Object[] getRootCategories() {
+ EventLogRoot root = EventLogModel.getModel(input).getRoot();
+ ArrayList majorTypes = new ArrayList();
+ SimpleTreeItem[] children = root.getChildren();
+ for( int i = 0; i < children.length; i++ ) {
+ if( children[i] instanceof EventLogTreeItem ) {
+ String type = ((EventLogTreeItem)children[i]).getEventClass();
+ if( !majorTypes.contains(type))
+ majorTypes.add(type);
+ }
+ }
+ return (String[]) majorTypes.toArray(new String[majorTypes.size()]);
+ }
+
public Object getParent(Object element) {
return null;
}
@@ -126,7 +162,7 @@
for( int i = 0; i < labelProviderDelegates.length; i++ ) {
if( labelProviderDelegates[i] != null
- && labelProviderDelegates[i].supports(item.getType())) {
+ && labelProviderDelegates[i].supports(item.getSpecificType())) {
Image image = labelProviderDelegates[i].getImage((EventLogTreeItem)element);
if( image != null ) return image;
}
@@ -148,7 +184,7 @@
for( int i = 0; i < labelProviderDelegates.length; i++ ) {
if( labelProviderDelegates[i] != null
- && labelProviderDelegates[i].supports(item.getType())) {
+ && labelProviderDelegates[i].supports(item.getSpecificType())) {
String text = labelProviderDelegates[i].getText((EventLogTreeItem)element);
if( text != null ) return text;
}
@@ -190,7 +226,7 @@
public void eventModelChanged(String serverId, EventLogTreeItem changed) {
if( input != null && serverId.equals(input.getId())) {
- if(changed.getType().equals(EventLogModel.JBOSS_EVENT_ROOT_TYPE))
+ if(changed.getSpecificType().equals(EventLogModel.JBOSS_EVENT_ROOT_TYPE))
refreshViewer();
else
refreshViewer(changed);
@@ -203,7 +239,7 @@
for( int i = 0; i < labelProviderDelegates.length; i++ ) {
if( labelProviderDelegates[i] != null
- && labelProviderDelegates[i].supports(item.getType())) {
+ && labelProviderDelegates[i].supports(item.getSpecificType())) {
Properties props = labelProviderDelegates[i].getProperties((EventLogTreeItem)selected);
if( props != null ) return props;
}
More information about the jboss-cvs-commits
mailing list