[jboss-cvs] jbosside/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/views/server/providers/events ...
Robert Stryker
rawblem at gmail.com
Fri Dec 22 18:26:35 EST 2006
User: rawb
Date: 06/12/22 18:26:35
Added: as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/views/server/providers/events
PollingLabelProvider.java
ComplexEventLogLabelProvider.java
PublishLabelProvider.java
PackageBuildLabelProvider.java
Log:
Added deploy-only server (cannot start or stop)
Other associated changes.
Revision Changes Path
1.1 date: 2006/12/22 23:26:35; author: rawb; state: Exp;jbosside/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/views/server/providers/events/PollingLabelProvider.java
Index: PollingLabelProvider.java
===================================================================
/**
* JBoss, a Division of Red Hat
* Copyright 2006, Red Hat Middleware, LLC, and individual contributors as indicated
* by the @authors tag. See the copyright.txt in the distribution for a
* full listing of individual contributors.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
package org.jboss.ide.eclipse.as.ui.views.server.providers.events;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Properties;
import org.eclipse.debug.core.ILaunchManager;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.swt.graphics.Image;
import org.eclipse.ui.ISharedImages;
import org.eclipse.ui.PlatformUI;
import org.eclipse.wst.server.core.IServer;
import org.eclipse.wst.server.ui.internal.provisional.UIDecoratorManager;
import org.jboss.ide.eclipse.as.core.model.EventLogModel.EventLogTreeItem;
import org.jboss.ide.eclipse.as.core.runtime.server.IServerStatePoller;
import org.jboss.ide.eclipse.as.core.runtime.server.polling.PollThread;
import org.jboss.ide.eclipse.as.core.runtime.server.polling.TwiddlePoller;
import org.jboss.ide.eclipse.as.core.runtime.server.polling.PollThread.PollThreadEvent;
import org.jboss.ide.eclipse.as.core.server.JBossServerBehavior;
import org.jboss.ide.eclipse.as.ui.views.server.extensions.IEventLogLabelProvider;
/**
*
* @author rob.stryker at jboss.com
*/
public class PollingLabelProvider extends ComplexEventLogLabelProvider implements IEventLogLabelProvider {
protected void addSupportedTypes() {
supported = new ArrayList();
supported.add(PollThread.SERVER_STARTING);
supported.add(PollThread.SERVER_STOPPING);
supported.add(PollThread.FAILURE);
supported.add(PollThread.SUCCESS);
supported.add(PollThread.POLL_THREAD_ABORTED);
supported.add(PollThread.POLL_THREAD_TIMEOUT);
supported.add(TwiddlePoller.TYPE_TERMINATED);
supported.add(TwiddlePoller.TYPE_RESULT);
supported.add(JBossServerBehavior.FORCE_SHUTDOWN_EVENT_KEY);
}
public boolean supports(String type) {
return supported.contains(type);
}
public Image getImage(EventLogTreeItem element) {
if( element.getSpecificType().equals(PollThread.SERVER_STARTING)) return getStartingImage();
if( element.getSpecificType().equals(PollThread.SERVER_STOPPING)) return getStoppingImage();
if( element instanceof PollThreadEvent ) {
boolean expected = ((PollThreadEvent)element).getExpectedState();
//String expectedString = expected == IServerStatePoller.SERVER_UP ? "startup" : "shutdown";
if( element.getSpecificType().equals(PollThread.POLL_THREAD_ABORTED)) return getErrorImage();
if( element.getSpecificType().equals(PollThread.POLL_THREAD_TIMEOUT)) return getErrorImage();
if( element.getSpecificType().equals(PollThread.SUCCESS)) {
if( expected == IServerStatePoller.SERVER_UP)
return getStartedImage();
return getStoppedImage();
}
if( element.getSpecificType().equals(PollThread.FAILURE))
return getErrorImage();
}
if( element.getSpecificType().equals(TwiddlePoller.TYPE_TERMINATED)) return getErrorImage();
if( element.getSpecificType().equals(TwiddlePoller.TYPE_RESULT)) {
int state = ((Integer)element.getProperty(TwiddlePoller.STATUS)).intValue();
boolean expectedState = ((Boolean)element.getProperty(PollThread.EXPECTED_STATE)).booleanValue();
if( state == TwiddlePoller.STATE_STOPPED)
return getStoppedImage();
if( state == TwiddlePoller.STATE_STARTED)
return getStartedImage();
if( state == TwiddlePoller.STATE_TRANSITION) {
if( expectedState == IServerStatePoller.SERVER_UP )
return getStartingImage();
return getStoppingImage();
}
}
if( element.getSpecificType().equals(JBossServerBehavior.FORCE_SHUTDOWN_EVENT_KEY))
return getErrorImage();
return null;
}
public String getText(EventLogTreeItem element) {
if( element.getSpecificType().equals(PollThread.SERVER_STARTING)) return "Starting the Server";
if( element.getSpecificType().equals(PollThread.SERVER_STOPPING)) return "Stopping the Server";
if( element instanceof PollThreadEvent ) {
boolean expected = ((PollThreadEvent)element).getExpectedState();
String expectedString = expected == IServerStatePoller.SERVER_UP ? "startup" : "shutdown";
if( element.getSpecificType().equals(PollThread.POLL_THREAD_ABORTED)) return expectedString + " aborted";
if( element.getSpecificType().equals(PollThread.POLL_THREAD_TIMEOUT)) return expectedString + " timed out";
if( element.getSpecificType().equals(PollThread.SUCCESS)) return expectedString + " succeeded";
if( element.getSpecificType().equals(PollThread.FAILURE)) return expectedString + " failed";
}
if( element.getSpecificType().equals(TwiddlePoller.TYPE_TERMINATED)) return "All processes have been terminated";
if( element.getSpecificType().equals(TwiddlePoller.TYPE_RESULT)) {
int state = ((Integer)element.getProperty(TwiddlePoller.STATUS)).intValue();
boolean expectedState = ((Boolean)element.getProperty(PollThread.EXPECTED_STATE)).booleanValue();
if( state == TwiddlePoller.STATE_STOPPED)
return "The server is down.";
if( state == TwiddlePoller.STATE_STARTED)
return "The server is up.";
if( state == TwiddlePoller.STATE_TRANSITION) {
if( expectedState == IServerStatePoller.SERVER_UP )
return "The server is still starting";
return "The server is still stopping.";
}
}
if( element.getSpecificType().equals(JBossServerBehavior.FORCE_SHUTDOWN_EVENT_KEY))
return "The server was shutdown forcefully. All processes terminated.";
return null;
}
protected Image getStateImage(int state) {
return UIDecoratorManager.getUIDecorator(null).getStateImage(state, ILaunchManager.RUN_MODE, 0);
}
protected Image getErrorImage() {
return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJS_WARN_TSK);
}
public Image getStartedImage() {
return getStateImage(IServer.STATE_STARTED);
}
public Image getStartingImage() {
return getStateImage(IServer.STATE_STARTING);
}
public Image getStoppingImage() {
return getStateImage(IServer.STATE_STOPPING);
}
public Image getStoppedImage() {
return getStateImage(IServer.STATE_STOPPED);
}
/*
* Property Stuff
*/
protected void loadPropertyMap() {
// property names and their readable forms
propertyToMessageMap = new HashMap();
propertyToMessageMap.put(EventLogTreeItem.DATE, "Time");
propertyToMessageMap.put(TwiddlePoller.STATUS, "Status");
propertyToMessageMap.put(PollThread.EXPECTED_STATE, "Expected State");
// now values and their readable forms
propertyToMessageMap.put(TwiddlePoller.STATUS + "::" + 0, "Server is Down");
propertyToMessageMap.put(TwiddlePoller.STATUS + "::" + 1, "Server is Up");
propertyToMessageMap.put(TwiddlePoller.STATUS + "::" + -1, "Server is in transition");
propertyToMessageMap.put(PollThread.EXPECTED_STATE + "::" + "true", "Up");
propertyToMessageMap.put(PollThread.EXPECTED_STATE + "::" + "false", "Down");
}
}
1.1 date: 2006/12/22 23:26:35; author: rawb; state: Exp;jbosside/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/views/server/providers/events/ComplexEventLogLabelProvider.java
Index: ComplexEventLogLabelProvider.java
===================================================================
/**
* JBoss, a Division of Red Hat
* Copyright 2006, Red Hat Middleware, LLC, and individual contributors as indicated
* by the @authors tag. See the copyright.txt in the distribution for a
* full listing of individual contributors.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
package org.jboss.ide.eclipse.as.ui.views.server.providers.events;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Properties;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.swt.graphics.Image;
import org.jboss.ide.eclipse.as.core.model.EventLogModel.EventLogTreeItem;
import org.jboss.ide.eclipse.as.ui.views.server.extensions.IEventLogLabelProvider;
/**
*
* @author rob.stryker at jboss.com
*/
public abstract class ComplexEventLogLabelProvider
extends LabelProvider implements IEventLogLabelProvider {
protected ArrayList supported;
protected HashMap propertyToMessageMap;
public ComplexEventLogLabelProvider() {
addSupportedTypes();
loadPropertyMap();
}
protected abstract void addSupportedTypes();
protected abstract void loadPropertyMap();
public Properties getProperties(EventLogTreeItem item) {
Properties p = new Properties();
HashMap map = item.getProperties();
Object key = null;
String keyString, valueStringKey, valueString;
for( Iterator i = map.keySet().iterator(); i.hasNext();) {
try {
key = i.next();
if( key.equals(EventLogTreeItem.DATE)) {
keyString = propertyToMessageMap.get(key) == null ? (String)key : propertyToMessageMap.get(key).toString();
valueString = getDateAsString(((Long)map.get(key)).longValue());
p.put(keyString, valueString);
} else {
keyString = propertyToMessageMap.get(key) == null ? (String)key : propertyToMessageMap.get(key).toString();
valueStringKey = key + "::" + toString2(map.get(key));
valueString = propertyToMessageMap.get(valueStringKey) == null ? toString2(map.get(key)) : toString2(propertyToMessageMap.get(valueStringKey));
p.put(keyString, valueString);
}
} catch( Exception e ) { e.printStackTrace(); }
}
return p;
}
protected String getDateAsString(long date) {
long now = new Date().getTime();
long seconds = (now - date) / 1000;
long minutes = seconds / 60;
long hours = minutes / 60;
minutes -= (hours * 60);
String minString = minutes + "m ago";
if( hours == 0 )
return minString;
return hours + "h " + minString;
}
private String toString2(Object o) {
return o == null ? "null" : o.toString();
}
}
1.1 date: 2006/12/22 23:26:35; author: rawb; state: Exp;jbosside/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/views/server/providers/events/PublishLabelProvider.java
Index: PublishLabelProvider.java
===================================================================
package org.jboss.ide.eclipse.as.ui.views.server.providers.events;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Properties;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.swt.graphics.Image;
import org.jboss.ide.eclipse.as.core.model.EventLogModel.EventLogTreeItem;
import org.jboss.ide.eclipse.as.core.publishers.IJBossServerPublisher;
import org.jboss.ide.eclipse.as.core.publishers.PackagesPublisher;
import org.jboss.ide.eclipse.as.core.publishers.PackagesPublisher.PackagesPublisherBuildEvent;
import org.jboss.ide.eclipse.as.ui.views.server.extensions.IEventLogLabelProvider;
public class PublishLabelProvider extends ComplexEventLogLabelProvider implements
IEventLogLabelProvider {
protected void addSupportedTypes() {
supported = new ArrayList();
supported.add(PackagesPublisher.REMOVE_TOP_EVENT);
supported.add(PackagesPublisher.REMOVE_PACKAGE_SUCCESS);
supported.add(PackagesPublisher.REMOVE_PACKAGE_SKIPPED);
supported.add(PackagesPublisher.REMOVE_PACKAGE_FAIL);
supported.add(PackagesPublisher.PUBLISH_TOP_EVENT);
supported.add(PackagesPublisher.PROJECT_BUILD_EVENT);
supported.add(PackagesPublisher.MOVE_PACKAGE_SUCCESS);
supported.add(PackagesPublisher.MOVE_PACKAGE_FAIL);
supported.add(PackagesPublisher.MOVE_PACKAGE_SKIP);
}
protected void loadPropertyMap() {
propertyToMessageMap = new HashMap();
propertyToMessageMap.put(IJBossServerPublisher.MODULE_NAME, "Module Name");
propertyToMessageMap.put(PackagesPublisher.PackagesPublisherRemoveEvent.PACKAGE_NAME, "Package Name");
propertyToMessageMap.put(PackagesPublisher.PackagesPublisherRemoveEvent.DESTINATION, "Package File");
propertyToMessageMap.put(PackagesPublisher.PackagesPublisherRemoveEvent.EXCEPTION_MESSAGE, "Exception Message");
}
public boolean supports(String type) {
return supported.contains(type);
}
public Image getImage(EventLogTreeItem item) {
return null;
}
public String getText(EventLogTreeItem item) {
String type = item.getSpecificType();
if( type.equals(PackagesPublisher.REMOVE_TOP_EVENT))
return "Removing Module: " + item.getProperty(IJBossServerPublisher.MODULE_NAME);
else if( type.equals(PackagesPublisher.REMOVE_PACKAGE_SUCCESS))
return "Deleted Package: " + item.getProperty(PackagesPublisher.PackagesPublisherRemoveEvent.PACKAGE_NAME);
else if( type.equals(PackagesPublisher.REMOVE_PACKAGE_FAIL))
return "Failed to Delete Package: " + item.getProperty(PackagesPublisher.PackagesPublisherRemoveEvent.PACKAGE_NAME);
else if( type.equals(PackagesPublisher.REMOVE_PACKAGE_SKIPPED))
return "Deletion Skipped: " + item.getProperty(PackagesPublisher.PackagesPublisherRemoveEvent.PACKAGE_NAME);
else if( type.equals(PackagesPublisher.PUBLISH_TOP_EVENT))
return "Publishing Module: " + item.getProperty(IJBossServerPublisher.MODULE_NAME);
else if( type.equals(PackagesPublisher.PROJECT_BUILD_EVENT))
return "Building Project: " + item.getProperty(PackagesPublisher.PackagesPublisherRemoveEvent.PACKAGE_NAME);
else if( type.equals(PackagesPublisher.MOVE_PACKAGE_SUCCESS))
return "Coppied File: " + item.getProperty(PackagesPublisher.PackagesPublisherMoveEvent.PACKAGE_NAME);
else if( type.equals(PackagesPublisher.MOVE_PACKAGE_FAIL))
return "File Copy Failed: " + item.getProperty(PackagesPublisher.PackagesPublisherMoveEvent.PACKAGE_NAME);
else if( type.equals(PackagesPublisher.MOVE_PACKAGE_SKIP))
return "File Copy Skipped: " + item.getProperty(PackagesPublisher.PackagesPublisherMoveEvent.PACKAGE_NAME);
return item.toString();
}
}
1.1 date: 2006/12/22 23:26:35; author: rawb; state: Exp;jbosside/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/views/server/providers/events/PackageBuildLabelProvider.java
Index: PackageBuildLabelProvider.java
===================================================================
/**
* JBoss, a Division of Red Hat
* Copyright 2006, Red Hat Middleware, LLC, and individual contributors as indicated
* by the @authors tag. See the copyright.txt in the distribution for a
* full listing of individual contributors.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
package org.jboss.ide.eclipse.as.ui.views.server.providers.events;
import java.util.ArrayList;
import java.util.Properties;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.swt.graphics.Image;
import org.jboss.ide.eclipse.as.core.model.PackagesBuildListener;
import org.jboss.ide.eclipse.as.core.model.EventLogModel.EventLogTreeItem;
import org.jboss.ide.eclipse.as.ui.views.server.extensions.IEventLogLabelProvider;
/**
*
* @author rob.stryker at jboss.com
*/
public class PackageBuildLabelProvider extends LabelProvider implements IEventLogLabelProvider {
public Image getImage(EventLogTreeItem item) {
return null;
}
public Properties getProperties(EventLogTreeItem item) {
return null;
}
public String getText(EventLogTreeItem item) {
if( item.getSpecificType().equals(PackagesBuildListener.PROJECT_BUILD_STARTED)) return "Build Started: " + item.getProperty("project.name");
if( item.getSpecificType().equals(PackagesBuildListener.PROJECT_BUILD_FINISHED)) return "Build Finished: " + item.getProperty("project.name");
if( item.getSpecificType().equals(PackagesBuildListener.PACKAGE_BUILD_STARTED)) return "Package Build Started: " + item.getProperty("package.name");
if( item.getSpecificType().equals(PackagesBuildListener.PACKAGE_BUILD_FINISHED)) return "Package Build Finished: " + item.getProperty("package.name");
if( item.getSpecificType().equals(PackagesBuildListener.PACKAGE_BUILD_FINISHED)) return "Package Build Failed: " + item.getProperty("package.name");
return "";
}
public boolean supports(String type) {
ArrayList list = new ArrayList();
list.add(PackagesBuildListener.PROJECT_BUILD_STARTED);
list.add(PackagesBuildListener.PROJECT_BUILD_FINISHED);
list.add(PackagesBuildListener.PACKAGE_BUILD_STARTED);
list.add(PackagesBuildListener.PACKAGE_BUILD_FINISHED);
list.add(PackagesBuildListener.PACKAGE_BUILD_FAILED);
return list.contains(type);
}
}
More information about the jboss-cvs-commits
mailing list