zookeeper-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ph...@apache.org
Subject svn commit: r1214571 [1/2] - in /zookeeper/trunk: ./ src/contrib/zooinspector/ src/contrib/zooinspector/config/ src/contrib/zooinspector/icons/ src/contrib/zooinspector/lib/ src/contrib/zooinspector/licences/ src/contrib/zooinspector/src/java/com/ src/...
Date Thu, 15 Dec 2011 00:05:18 GMT
Author: phunt
Date: Thu Dec 15 00:05:15 2011
New Revision: 1214571

URL: http://svn.apache.org/viewvc?rev=1214571&view=rev
Log:
ZOOKEEPER-756. some cleanup and improvements for zooinspector (Colin Goodheart-Smithe & Thomas Koch via phunt)

Added:
    zookeeper/trunk/src/contrib/zooinspector/TODO
    zookeeper/trunk/src/contrib/zooinspector/config/defaultNodeViewers.cfg
    zookeeper/trunk/src/contrib/zooinspector/src/java/com/
    zookeeper/trunk/src/contrib/zooinspector/src/java/com/nitido/
    zookeeper/trunk/src/contrib/zooinspector/src/java/com/nitido/utils/
    zookeeper/trunk/src/contrib/zooinspector/src/java/com/nitido/utils/toaster/
    zookeeper/trunk/src/contrib/zooinspector/src/java/com/nitido/utils/toaster/Toaster.java
    zookeeper/trunk/src/contrib/zooinspector/src/java/org/apache/zookeeper/inspector/gui/IconResource.java
    zookeeper/trunk/src/contrib/zooinspector/src/java/org/apache/zookeeper/inspector/gui/Toolbar.java
    zookeeper/trunk/src/contrib/zooinspector/src/main/
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/actions/
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/actions/add.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/actions/document-new.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/actions/document-save.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/actions/down.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/actions/media-playback-start.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/actions/media-playback-stop.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/actions/remove.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/actions/up.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/actions/view-refresh.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/mimetypes/
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/mimetypes/text-x-generic.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/places/
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/places/folder.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/places/user-trash.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/status/
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/status/info.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/actions/
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/actions/add.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/actions/document-new.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/actions/document-save.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/actions/down.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/actions/media-playback-start.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/actions/media-playback-stop.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/actions/remove.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/actions/up.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/actions/view-refresh.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/mimetypes/
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/mimetypes/text-x-generic.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/places/
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/places/folder.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/places/user-trash.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/status/
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/status/info.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/24x24/
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/24x24/actions/
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/24x24/actions/add.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/24x24/actions/document-new.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/24x24/actions/document-save.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/24x24/actions/down.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/24x24/actions/media-playback-start.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/24x24/actions/media-playback-stop.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/24x24/actions/remove.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/24x24/actions/up.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/24x24/actions/view-refresh.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/24x24/mimetypes/
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/24x24/mimetypes/text-x-generic.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/24x24/places/
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/24x24/places/folder.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/24x24/places/user-trash.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/24x24/status/
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/24x24/status/info.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/32x32/
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/32x32/actions/
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/32x32/actions/add.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/32x32/actions/document-new.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/32x32/actions/document-save.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/32x32/actions/down.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/32x32/actions/media-playback-start.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/32x32/actions/media-playback-stop.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/32x32/actions/remove.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/32x32/actions/up.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/32x32/actions/view-refresh.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/32x32/mimetypes/
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/32x32/mimetypes/text-x-generic.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/32x32/places/
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/32x32/places/folder.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/32x32/places/user-trash.png   (with props)
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/32x32/status/
    zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/32x32/status/info.png   (with props)
Removed:
    zookeeper/trunk/src/contrib/zooinspector/config/defaultNodeVeiwers.cfg
    zookeeper/trunk/src/contrib/zooinspector/icons/
    zookeeper/trunk/src/contrib/zooinspector/lib/jtoaster-1.0.4.jar
    zookeeper/trunk/src/contrib/zooinspector/licences/epl-v10.html
    zookeeper/trunk/src/contrib/zooinspector/src/java/org/apache/zookeeper/inspector/gui/ZooInspectorIconResources.java
Modified:
    zookeeper/trunk/CHANGES.txt
    zookeeper/trunk/src/contrib/zooinspector/NOTICE.txt
    zookeeper/trunk/src/contrib/zooinspector/build.xml
    zookeeper/trunk/src/contrib/zooinspector/config/defaultConnectionSettings.cfg
    zookeeper/trunk/src/contrib/zooinspector/lib/log4j.properties
    zookeeper/trunk/src/contrib/zooinspector/src/java/org/apache/zookeeper/inspector/ZooInspector.java
    zookeeper/trunk/src/contrib/zooinspector/src/java/org/apache/zookeeper/inspector/gui/ZooInspectorAboutDialog.java
    zookeeper/trunk/src/contrib/zooinspector/src/java/org/apache/zookeeper/inspector/gui/ZooInspectorNodeViewersDialog.java
    zookeeper/trunk/src/contrib/zooinspector/src/java/org/apache/zookeeper/inspector/gui/ZooInspectorPanel.java
    zookeeper/trunk/src/contrib/zooinspector/src/java/org/apache/zookeeper/inspector/gui/ZooInspectorTreeViewer.java
    zookeeper/trunk/src/contrib/zooinspector/src/java/org/apache/zookeeper/inspector/gui/nodeviewer/NodeViewerData.java
    zookeeper/trunk/src/contrib/zooinspector/zooInspector-dev.sh
    zookeeper/trunk/src/contrib/zooinspector/zooInspector.cmd
    zookeeper/trunk/src/contrib/zooinspector/zooInspector.sh

Modified: zookeeper/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/zookeeper/trunk/CHANGES.txt?rev=1214571&r1=1214570&r2=1214571&view=diff
==============================================================================
--- zookeeper/trunk/CHANGES.txt (original)
+++ zookeeper/trunk/CHANGES.txt Thu Dec 15 00:05:15 2011
@@ -144,6 +144,9 @@ IMPROVEMENTS:
   ZOOKEEPER-1253. return value of DataTree.createNode is never used
   (Thomas Koch via phunt)
 
+  ZOOKEEPER-756. some cleanup and improvements for zooinspector
+  (Colin Goodheart-Smithe & Thomas Koch via phunt)
+
 Release 3.4.0 - 
 
 Non-backward compatible changes:

Modified: zookeeper/trunk/src/contrib/zooinspector/NOTICE.txt
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zooinspector/NOTICE.txt?rev=1214571&r1=1214570&r2=1214571&view=diff
==============================================================================
--- zookeeper/trunk/src/contrib/zooinspector/NOTICE.txt (original)
+++ zookeeper/trunk/src/contrib/zooinspector/NOTICE.txt Thu Dec 15 00:05:15 2011
@@ -1,3 +1,9 @@
-This contrib module includes icons available under the Eclipse Public Licence Version 1.0
-. from the Eclipse Java Devlopment Platform. 
-The lib sub-directory includes a binary only jar library developed at http://sourceforge.net/projects/jtoaster/
\ No newline at end of file
+src/java/com/nitido/utils/toaster/Toaster.java:
+This java file is copyright by Daniele Piras ("danielepiras80", no email known) released under the Apache Software License 2.0
+It has been downloaded in december 2009 from the CVS web interface of the sourceforge project http://sourceforge.net/projects/jtoaster/ . The web interface to CVS is not available anymore on sourceforge.
+
+The icons in src/main/resources/icons are taken from the Tango project
+downloaded from http://tango.freedesktop.org/releases on 2011-09-06.
+The Tango project is public domain.
+
+Distribution packagers should not include the icons in the package but rather depend on tango-icon-theme (Debian package name). ZooInspector will then try to get the icons from /usr/share/icons/Tango rather then from its jar file.

Added: zookeeper/trunk/src/contrib/zooinspector/TODO
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zooinspector/TODO?rev=1214571&view=auto
==============================================================================
--- zookeeper/trunk/src/contrib/zooinspector/TODO (added)
+++ zookeeper/trunk/src/contrib/zooinspector/TODO Thu Dec 15 00:05:15 2011
@@ -0,0 +1,19 @@
+- replace JToaster with standard notifications, see:
+  http://www.galago-project.org/specs/notification/
+  http://stackoverflow.com/questions/857154/freedesktop-org-notifications-in-java
+  DBus and Java:
+  http://bolta-gecko.blogspot.com/2009/06/using-d-bus-in-java.html
+  http://dbus.freedesktop.org/doc/dbus-java/ (packaged in Debian)
+
+- properly respect
+  http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html
+  http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
+  http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html
+
+- Rename classes to avoid redundand "ZooInspector" prefix.
+
+- Ant build file has hard coded log4j dependency. (ZK will move to maven anyways...)
+
+- make directory for config files configurable via commandline parameter
+
+- Clean up the code! :-)

Modified: zookeeper/trunk/src/contrib/zooinspector/build.xml
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zooinspector/build.xml?rev=1214571&r1=1214570&r2=1214571&view=diff
==============================================================================
--- zookeeper/trunk/src/contrib/zooinspector/build.xml (original)
+++ zookeeper/trunk/src/contrib/zooinspector/build.xml Thu Dec 15 00:05:15 2011
@@ -30,18 +30,17 @@
 		</copy>
 		<mkdir dir="${build.dir}/icons" />
 		<copy todir="${build.dir}/icons">
-			<fileset dir="${basedir}/icons" />
+			<fileset dir="${basedir}/src/main/resources/icons" />
 		</copy>
 		<mkdir dir="${build.dir}/config" />
 		<copy todir="${build.dir}/config">
 			<fileset dir="${basedir}/config" />
 		</copy>
 		<copy todir="${build.dir}/lib">
-			<fileset file="${basedir}/lib/jtoaster-1.0.4.jar" />
 			<fileset file="${basedir}/lib/log4j.properties" />
 		</copy>
 		<copy todir="${build.dir}/lib">
-			<fileset file="../../../build/zookeeper-3.3.0.jar" />
+			<fileset file="../../../build/zookeeper-${version}.jar" />
 		</copy>
 		<copy todir="${build.dir}">
 			<fileset dir="${basedir}" includes="*.*" excludes="build.xml,ivy.xml" />
@@ -55,7 +54,7 @@
 		<jar jarfile="${jarname}">
 			<manifest>
 				<attribute name="Main-Class" value="org.apache.zookeeper.inspector.ZooInspector" />
-				<attribute name="Class-Path" value="lib/log4j-1.2.15.jar lib/TableLayout-20050920.jar lib/zookeeper-3.3.0.jar lib/jToaster-1.0.4.jar lib" />
+				<attribute name="Class-Path" value="lib/log4j-1.2.15.jar lib/zookeeper-${version}.jar lib" />
 				<attribute name="Built-By" value="${user.name}" />
 				<attribute name="Built-At" value="${build.time}" />
 				<attribute name="Built-On" value="${host.name}" />
@@ -65,6 +64,7 @@
 			</manifest>
 			<fileset file="${zk.root}/LICENSE.txt" />
 			<fileset dir="${build.classes}" />
+			<fileset dir="${basedir}/src/main/resources" />
 			<fileset dir="${basedir}/src/java" excludes="**/*.jar, **/*.java"/>
 		</jar>
 	</target>
@@ -132,21 +132,9 @@
 		<copy todir="${dist.dir}/contrib/${name}/licences">
 			<fileset dir="${basedir}/licences" />
 		</copy>
-		<mkdir dir="${dist.dir}/contrib/${name}/icons" />
-		<copy todir="${dist.dir}/contrib/${name}/icons">
-			<fileset dir="${basedir}/icons" />
-		</copy>
 		<mkdir dir="${dist.dir}/contrib/${name}/config" />
 		<copy todir="${dist.dir}/contrib/${name}/config">
 			<fileset dir="${basedir}/config" />
 		</copy>
-		<copy todir="${dist.dir}/contrib/${name}/lib">
-			<fileset file="${basedir}/lib/jtoaster-1.0.4.jar" />
-		</copy>
-		<copy todir="${dist.dir}/contrib/${name}/lib">
-			<fileset file="../../../build/zookeeper-3.3.0.jar" />
-		</copy>
 	</target>
-
 </project>
-

Modified: zookeeper/trunk/src/contrib/zooinspector/config/defaultConnectionSettings.cfg
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zooinspector/config/defaultConnectionSettings.cfg?rev=1214571&r1=1214570&r2=1214571&view=diff
==============================================================================
--- zookeeper/trunk/src/contrib/zooinspector/config/defaultConnectionSettings.cfg (original)
+++ zookeeper/trunk/src/contrib/zooinspector/config/defaultConnectionSettings.cfg Thu Dec 15 00:05:15 2011
@@ -1,20 +1,4 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
 #Default connection for ZooInspector
-#Sun Feb 28 14:46:55 GMT 2010
 hosts=localhost\:2181
 encryptionManager=org.apache.zookeeper.inspector.encryption.BasicDataEncryptionManager
 timeout=5000

Added: zookeeper/trunk/src/contrib/zooinspector/config/defaultNodeViewers.cfg
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zooinspector/config/defaultNodeViewers.cfg?rev=1214571&view=auto
==============================================================================
--- zookeeper/trunk/src/contrib/zooinspector/config/defaultNodeViewers.cfg (added)
+++ zookeeper/trunk/src/contrib/zooinspector/config/defaultNodeViewers.cfg Thu Dec 15 00:05:15 2011
@@ -0,0 +1,3 @@
+org.apache.zookeeper.inspector.gui.nodeviewer.NodeViewerData
+org.apache.zookeeper.inspector.gui.nodeviewer.NodeViewerMetaData
+org.apache.zookeeper.inspector.gui.nodeviewer.NodeViewerACL

Modified: zookeeper/trunk/src/contrib/zooinspector/lib/log4j.properties
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zooinspector/lib/log4j.properties?rev=1214571&r1=1214570&r2=1214571&view=diff
==============================================================================
--- zookeeper/trunk/src/contrib/zooinspector/lib/log4j.properties (original)
+++ zookeeper/trunk/src/contrib/zooinspector/lib/log4j.properties Thu Dec 15 00:05:15 2011
@@ -1,5 +1,5 @@
 # ***** Set root logger level to INFO and it appender to stdout.
-log4j.rootLogger=info, stdout
+log4j.rootLogger=INFO,stdout
 
 # ***** stdout is set to be a ConsoleAppender.
 log4j.appender.stdout=org.apache.log4j.ConsoleAppender

Added: zookeeper/trunk/src/contrib/zooinspector/src/java/com/nitido/utils/toaster/Toaster.java
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zooinspector/src/java/com/nitido/utils/toaster/Toaster.java?rev=1214571&view=auto
==============================================================================
--- zookeeper/trunk/src/contrib/zooinspector/src/java/com/nitido/utils/toaster/Toaster.java (added)
+++ zookeeper/trunk/src/contrib/zooinspector/src/java/com/nitido/utils/toaster/Toaster.java Thu Dec 15 00:05:15 2011
@@ -0,0 +1,533 @@
+/**
+ * This java file is copyright by Daniele Piras ("danielepiras80", no email known) released under the
+ * Apache Software License 2.0. It has been downloaded in december 2009 from the CVS web interface
+ * of the sourceforge project http://sourceforge.net/projects/jtoaster/ . The web interface to CVS
+ * is not available anymore on sourceforge.
+ *
+ */
+
+/**
+ * Java Toaster is a java utility class for your swing applications
+ * that show an animate box coming from the bottom of your screen
+ * with a notification message and/or an associated image
+ * (like msn online/offline notifications).
+ *
+ * Toaster panel in windows system follow the taskbar; So if
+ * the taskbar is into the bottom the panel coming from the bottom
+ * and if the taskbar is on the top then the panel coming from the top.
+ *
+ * This is a simple example of utilization:
+ *
+ * import com.nitido.utils.toaster.*;
+ * import javax.swing.*;
+ *
+ * public class ToasterTest
+ * {
+ *
+ *  public static void main(String[] args)
+ *  {
+ *   // Initialize toaster manager...
+ *   Toaster toasterManager = new Toaster();
+ *
+ *   // Show a simple toaster
+ *   toasterManager.showToaster( new ImageIcon( "mylogo.gif" ), "A simple toaster with an image" );
+ *  }
+ * }
+ */
+package com.nitido.utils.toaster;
+
+import java.awt.*;
+
+import javax.swing.*;
+import javax.swing.border.*;
+
+/**
+ * Class to show tosters in multiplatform
+ *
+ * @author daniele piras
+ *
+ */
+public class Toaster
+{
+	// Width of the toster
+	private int toasterWidth = 300;
+
+	// Height of the toster
+	private int toasterHeight = 80;
+
+	// Step for the toaster
+	private int step = 20;
+
+	// Step time
+	private int stepTime = 20;
+
+	// Show time
+	private int displayTime = 3000;
+
+	// Current number of toaster...
+	private int currentNumberOfToaster = 0;
+
+	// Last opened toaster
+	private int maxToaster = 0;
+
+	// Max number of toasters for the sceen
+	private int maxToasterInSceen;
+
+	// Font used to display message
+	private Font font;
+
+  // Color for border
+	private Color borderColor;
+
+  // Color for toaster
+	private Color toasterColor;
+
+  // Set message color
+	private Color messageColor;
+
+	// Set the margin
+	int margin;
+
+	// Flag that indicate if use alwaysOnTop or not.
+	// method always on top start only SINCE JDK 5 !
+	boolean useAlwaysOnTop = true;
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * Constructor to initialized toaster component...
+	 *
+	 * @author daniele piras
+	 *
+	 */
+	public Toaster()
+	{
+		// Set default font...
+		font = new Font("Arial", Font.BOLD, 12);
+		// Border color
+		borderColor = new Color(245, 153, 15);
+		toasterColor = Color.WHITE;
+		messageColor = Color.BLACK;
+		useAlwaysOnTop = true;
+		// Verify AlwaysOnTop Flag...
+		try
+		{
+		  JWindow.class.getMethod( "setAlwaysOnTop", new Class[] { Boolean.class } );
+		}
+		catch( Exception e )
+		{
+			useAlwaysOnTop = false;
+		}
+
+	}
+
+	/**
+	 * Class that rappresent a single toaster
+	 *
+	 * @author daniele piras
+	 *
+	 */
+	class SingleToaster extends javax.swing.JWindow
+	{
+		private static final long serialVersionUID = 1L;
+
+		// Label to store Icon
+		private JLabel iconLabel = new JLabel();
+
+		// Text area for the message
+		private JTextArea message = new JTextArea();
+
+
+
+
+		/***
+		 * Simple costructor that initialized components...
+		 */
+		public SingleToaster()
+		{
+			initComponents();
+		}
+
+		/***
+		 * Function to initialized components
+		 */
+		private void initComponents()
+		{
+
+			setSize(toasterWidth, toasterHeight);
+			message.setFont( getToasterMessageFont() );
+			JPanel externalPanel = new JPanel(new BorderLayout(1, 1));
+			externalPanel.setBackground( getBorderColor() );
+			JPanel innerPanel = new JPanel(new BorderLayout( getMargin(), getMargin() ));
+			innerPanel.setBackground( getToasterColor() );
+			message.setBackground( getToasterColor() );
+			message.setMargin( new Insets( 2,2,2,2 ) );
+			message.setLineWrap( true );
+			message.setWrapStyleWord( true );
+
+			EtchedBorder etchedBorder = (EtchedBorder) BorderFactory
+					.createEtchedBorder();
+			externalPanel.setBorder(etchedBorder);
+
+			externalPanel.add(innerPanel);
+      message.setForeground( getMessageColor() );
+			innerPanel.add(iconLabel, BorderLayout.WEST);
+			innerPanel.add(message, BorderLayout.CENTER);
+			getContentPane().add(externalPanel);
+		}
+
+
+		/***
+		 * Start toaster animation...
+		 */
+		public void animate()
+		{
+			( new Animation( this ) ).start();
+		}
+
+	}
+
+	/***
+	 * Class that manage the animation
+	 */
+	class Animation extends Thread
+	{
+		SingleToaster toaster;
+
+		public Animation( SingleToaster toaster )
+		{
+			this.toaster = toaster;
+		}
+
+
+		/**
+		 * Animate vertically the toaster. The toaster could be moved from bottom
+		 * to upper or to upper to bottom
+		 * @param posx
+		 * @param fromy
+		 * @param toy
+		 * @throws InterruptedException
+		 */
+		protected void animateVertically( int posx, int fromY, int toY ) throws InterruptedException
+		{
+
+			toaster.setLocation( posx, fromY );
+			if ( toY < fromY )
+			{
+				for (int i = fromY; i > toY; i -= step)
+				{
+					toaster.setLocation(posx, i);
+					Thread.sleep(stepTime);
+				}
+			}
+			else
+			{
+				for (int i = fromY; i < toY; i += step)
+				{
+					toaster.setLocation(posx, i);
+					Thread.sleep(stepTime);
+				}
+			}
+			toaster.setLocation( posx, toY );
+		}
+
+		public void run()
+		{
+			try
+			{
+				boolean animateFromBottom = true;
+				GraphicsEnvironment ge = GraphicsEnvironment
+						.getLocalGraphicsEnvironment();
+				Rectangle screenRect = ge.getMaximumWindowBounds();
+
+				int screenHeight = (int) screenRect.height;
+
+				int startYPosition;
+				int stopYPosition;
+
+				if ( screenRect.y > 0 )
+				{
+				  animateFromBottom = false; // Animate from top!
+				}
+
+				maxToasterInSceen = screenHeight / toasterHeight;
+
+
+				int posx = (int) screenRect.width - toasterWidth - 1;
+
+				toaster.setLocation(posx, screenHeight);
+				toaster.setVisible(true);
+				if ( useAlwaysOnTop )
+				{
+				  toaster.setAlwaysOnTop(true);
+				}
+
+				if ( animateFromBottom )
+				{
+					startYPosition = screenHeight;
+					stopYPosition = startYPosition - toasterHeight - 1;
+					if ( currentNumberOfToaster > 0 )
+					{
+						stopYPosition = stopYPosition - ( maxToaster % maxToasterInSceen * toasterHeight );
+					}
+					else
+					{
+						maxToaster = 0;
+					}
+				}
+				else
+				{
+					startYPosition = screenRect.y - toasterHeight;
+					stopYPosition = screenRect.y;
+
+					if ( currentNumberOfToaster > 0 )
+					{
+						stopYPosition = stopYPosition + ( maxToaster % maxToasterInSceen * toasterHeight );
+					}
+					else
+					{
+						maxToaster = 0;
+					}
+				}
+
+				currentNumberOfToaster++;
+				maxToaster++;
+
+
+				animateVertically( posx, startYPosition, stopYPosition );
+				Thread.sleep(displayTime);
+				animateVertically( posx, stopYPosition, startYPosition );
+
+				currentNumberOfToaster--;
+				toaster.setVisible(false);
+				toaster.dispose();
+			} catch (Exception e)
+			{
+				e.printStackTrace();
+			}
+		}
+	}
+
+
+
+	/**
+	 * Show a toaster with the specified message and the associated icon.
+	 */
+	public void showToaster(Icon icon, String msg)
+	{
+    SingleToaster singleToaster = new SingleToaster();
+    if ( icon != null )
+    {
+      singleToaster.iconLabel.setIcon( icon );
+    }
+    singleToaster.message.setText( msg );
+		singleToaster.animate();
+	}
+
+	/**
+	 * Show a toaster with the specified message.
+	 */
+	public void showToaster( String msg )
+	{
+		showToaster( null, msg );
+	}
+
+	/**
+	 * @return Returns the font
+	 */
+	public Font getToasterMessageFont()
+	{
+		// TODO Auto-generated method stub
+		return font;
+	}
+
+	/**
+	 * Set the font for the message
+	 */
+	public void setToasterMessageFont( Font f)
+	{
+    font = f;
+	}
+
+
+	/**
+	 * @return Returns the borderColor.
+	 */
+	public Color getBorderColor()
+	{
+		return borderColor;
+	}
+
+
+
+	/**
+	 * @param borderColor The borderColor to set.
+	 */
+	public void setBorderColor(Color borderColor)
+	{
+		this.borderColor = borderColor;
+	}
+
+
+
+	/**
+	 * @return Returns the displayTime.
+	 */
+	public int getDisplayTime()
+	{
+		return displayTime;
+	}
+
+
+
+	/**
+	 * @param displayTime The displayTime to set.
+	 */
+	public void setDisplayTime(int displayTime)
+	{
+		this.displayTime = displayTime;
+	}
+
+
+
+	/**
+	 * @return Returns the margin.
+	 */
+	public int getMargin()
+	{
+		return margin;
+	}
+
+
+
+	/**
+	 * @param margin The margin to set.
+	 */
+	public void setMargin(int margin)
+	{
+		this.margin = margin;
+	}
+
+
+
+	/**
+	 * @return Returns the messageColor.
+	 */
+	public Color getMessageColor()
+	{
+		return messageColor;
+	}
+
+
+
+	/**
+	 * @param messageColor The messageColor to set.
+	 */
+	public void setMessageColor(Color messageColor)
+	{
+		this.messageColor = messageColor;
+	}
+
+
+
+	/**
+	 * @return Returns the step.
+	 */
+	public int getStep()
+	{
+		return step;
+	}
+
+
+
+	/**
+	 * @param step The step to set.
+	 */
+	public void setStep(int step)
+	{
+		this.step = step;
+	}
+
+
+
+	/**
+	 * @return Returns the stepTime.
+	 */
+	public int getStepTime()
+	{
+		return stepTime;
+	}
+
+
+
+	/**
+	 * @param stepTime The stepTime to set.
+	 */
+	public void setStepTime(int stepTime)
+	{
+		this.stepTime = stepTime;
+	}
+
+
+
+	/**
+	 * @return Returns the toasterColor.
+	 */
+	public Color getToasterColor()
+	{
+		return toasterColor;
+	}
+
+
+
+	/**
+	 * @param toasterColor The toasterColor to set.
+	 */
+	public void setToasterColor(Color toasterColor)
+	{
+		this.toasterColor = toasterColor;
+	}
+
+
+
+	/**
+	 * @return Returns the toasterHeight.
+	 */
+	public int getToasterHeight()
+	{
+		return toasterHeight;
+	}
+
+
+
+	/**
+	 * @param toasterHeight The toasterHeight to set.
+	 */
+	public void setToasterHeight(int toasterHeight)
+	{
+		this.toasterHeight = toasterHeight;
+	}
+
+
+
+	/**
+	 * @return Returns the toasterWidth.
+	 */
+	public int getToasterWidth()
+	{
+		return toasterWidth;
+	}
+
+
+
+	/**
+	 * @param toasterWidth The toasterWidth to set.
+	 */
+	public void setToasterWidth(int toasterWidth)
+	{
+		this.toasterWidth = toasterWidth;
+	}
+
+
+
+}

Modified: zookeeper/trunk/src/contrib/zooinspector/src/java/org/apache/zookeeper/inspector/ZooInspector.java
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zooinspector/src/java/org/apache/zookeeper/inspector/ZooInspector.java?rev=1214571&r1=1214570&r2=1214571&view=diff
==============================================================================
--- zookeeper/trunk/src/contrib/zooinspector/src/java/org/apache/zookeeper/inspector/ZooInspector.java (original)
+++ zookeeper/trunk/src/contrib/zooinspector/src/java/org/apache/zookeeper/inspector/ZooInspector.java Thu Dec 15 00:05:15 2011
@@ -24,6 +24,7 @@ import javax.swing.JFrame;
 import javax.swing.JOptionPane;
 import javax.swing.UIManager;
 
+import org.apache.zookeeper.inspector.gui.IconResource;
 import org.apache.zookeeper.inspector.gui.ZooInspectorPanel;
 import org.apache.zookeeper.inspector.logger.LoggerFactory;
 import org.apache.zookeeper.inspector.manager.ZooInspectorManagerImpl;
@@ -43,7 +44,7 @@ public class ZooInspector {
             JFrame frame = new JFrame("ZooInspector");
             frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
             final ZooInspectorPanel zooInspectorPanel = new ZooInspectorPanel(
-                    new ZooInspectorManagerImpl());
+                    new ZooInspectorManagerImpl(), new IconResource());
             frame.addWindowListener(new WindowAdapter() {
                 @Override
                 public void windowClosed(WindowEvent e) {

Added: zookeeper/trunk/src/contrib/zooinspector/src/java/org/apache/zookeeper/inspector/gui/IconResource.java
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zooinspector/src/java/org/apache/zookeeper/inspector/gui/IconResource.java?rev=1214571&view=auto
==============================================================================
--- zookeeper/trunk/src/contrib/zooinspector/src/java/org/apache/zookeeper/inspector/gui/IconResource.java (added)
+++ zookeeper/trunk/src/contrib/zooinspector/src/java/org/apache/zookeeper/inspector/gui/IconResource.java Thu Dec 15 00:05:15 2011
@@ -0,0 +1,88 @@
+package org.apache.zookeeper.inspector.gui;
+
+import java.io.File;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import javax.swing.ImageIcon;
+
+import org.apache.zookeeper.inspector.logger.LoggerFactory;
+
+/**
+ * @see http://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html
+ * I tried to take icons that are available in the Tango icon set
+ */
+public class IconResource {
+
+    public static final String ICON_ChangeNodeViewers = "";
+    public static final String ICON_TREE_LEAF = "mimetypes/text-x-generic";
+    public static final String ICON_TREE_OPEN = "places/folder";
+    public static final String ICON_TREE_CLOSE = "places/folder";
+    public static final String ICON_INFORMATION = "status/info";
+    public static final String ICON_SAVE = "actions/document-save";
+    public static final String ICON_UP = "actions/up";
+    public static final String ICON_DOWN = "actions/down";
+    public static final String ICON_ADD = "actions/add";
+    public static final String ICON_REMOVE = "actions/remove";
+    public static final String ICON_START = "actions/media-playback-start";
+    public static final String ICON_STOP = "actions/media-playback-stop";
+    public static final String ICON_DOCUMENT_ADD = "actions/document-new";
+    public static final String ICON_REFRESH = "actions/view-refresh";
+    public static final String ICON_TRASH = "places/user-trash";
+    // better: actions/help-about, but not in tango
+    public static final String ICON_HELP_ABOUT = "status/info";
+
+    private static final String DEFAULT_THEME = "Tango";
+    private static final String DEFAULT_SIZE = "16x16";
+    private static final String FALLBACK_ICON = "face-surprise";
+
+    // compare http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
+    private static final String[] DEFAULT_XDG_DATA_DIRS = new String[]{
+        "/usr/local/share",
+        "/usr/share"
+    };
+
+    private String theme = DEFAULT_THEME;
+    private String size = DEFAULT_SIZE;
+
+    public URL find(String name) {
+        String iconPath = buildIconPath(name);
+        URL iconUrl = findInPaths(iconPath);
+        if(null != iconUrl) return iconUrl;
+
+        iconUrl = getClass().getResource(iconPath);
+        if(null != iconUrl) return iconUrl;
+
+        if(!name.equals(FALLBACK_ICON)) return find(FALLBACK_ICON);
+        return null;
+    }
+
+    public ImageIcon get(String name, String description) {
+        URL iconUrl = find(name);
+        if(null==iconUrl) {
+            ImageIcon icon = new ImageIcon();
+            icon.setDescription(description);
+            return icon;
+        } else {
+            return new ImageIcon(iconUrl, description);
+        }
+    }
+
+    private URL findInPaths(String iconPath) {
+        for(String dataDir : DEFAULT_XDG_DATA_DIRS) {
+            File file = new File(dataDir + iconPath);
+            if(file.exists()) {
+                try {
+                    return file.toURI().toURL();
+                } catch (MalformedURLException e) {
+                    LoggerFactory.getLogger().warn(e.toString());
+                }
+            }
+        }
+        return null;
+    }
+
+    private String buildIconPath(String name) {
+        return "/icons/" + theme + "/" + size + "/" + name + ".png";
+    }
+}

Added: zookeeper/trunk/src/contrib/zooinspector/src/java/org/apache/zookeeper/inspector/gui/Toolbar.java
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zooinspector/src/java/org/apache/zookeeper/inspector/gui/Toolbar.java?rev=1214571&view=auto
==============================================================================
--- zookeeper/trunk/src/contrib/zooinspector/src/java/org/apache/zookeeper/inspector/gui/Toolbar.java (added)
+++ zookeeper/trunk/src/contrib/zooinspector/src/java/org/apache/zookeeper/inspector/gui/Toolbar.java Thu Dec 15 00:05:15 2011
@@ -0,0 +1,74 @@
+package org.apache.zookeeper.inspector.gui;
+
+import java.awt.event.ActionListener;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.swing.JButton;
+import javax.swing.JToolBar;
+
+public class Toolbar {
+
+    private final IconResource iconResource;
+    private final JToolBar toolbar = new JToolBar();
+    private final Map<Button, JButton> buttons = new HashMap<Button, JButton>();
+
+    private static final Button[] buttonsToToggle = new Button[] {
+        Button.connect, Button.disconnect, Button.refresh, Button.addNode, Button.deleteNode
+    };
+
+    public Toolbar(IconResource iconResource) {
+        this.iconResource = iconResource;
+        init();
+    }
+
+    public void addActionListener(Button button, ActionListener actionListener) {
+        buttons.get(button).addActionListener(actionListener);
+    }
+
+    public JToolBar getJToolBar() {
+        return toolbar;
+    }
+
+    public void toggleButtons(boolean connected) {
+        for(Button button : buttonsToToggle) {
+            buttons.get(button).setEnabled(connected != button.enabled);
+        }
+    }
+
+    private void init() {
+        toolbar.setFloatable(false);
+        for(Button button : Button.values()) {
+            JButton jbutton = button.createJButton(iconResource);
+            buttons.put(button, jbutton);
+            toolbar.add(jbutton);
+        }
+    }
+
+    public static enum Button {
+        connect("Connect",IconResource.ICON_START,true),
+        disconnect("Disconnect",IconResource.ICON_STOP,false),
+        refresh("Refresh",IconResource.ICON_REFRESH,false),
+        addNode("Add Node",IconResource.ICON_DOCUMENT_ADD,false),
+        deleteNode("Delete Node",IconResource.ICON_TRASH,false),
+        nodeViewers("Change Node Viewers",IconResource.ICON_ChangeNodeViewers,true),
+        about("About ZooInspector",IconResource.ICON_HELP_ABOUT,true);
+
+        private String toolTip;
+        private String icon;
+        private boolean enabled;
+
+        Button(String toolTip, String icon, boolean enabled) {
+            this.toolTip = toolTip;
+            this.icon = icon;
+            this.enabled = enabled;
+        }
+
+        public JButton createJButton(IconResource iconResource) {
+            JButton jbutton = new JButton(iconResource.get(icon, toolTip));
+            jbutton.setEnabled(enabled);
+            jbutton.setToolTipText(toolTip);
+            return jbutton;
+        }
+    }
+}

Modified: zookeeper/trunk/src/contrib/zooinspector/src/java/org/apache/zookeeper/inspector/gui/ZooInspectorAboutDialog.java
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zooinspector/src/java/org/apache/zookeeper/inspector/gui/ZooInspectorAboutDialog.java?rev=1214571&r1=1214570&r2=1214571&view=diff
==============================================================================
--- zookeeper/trunk/src/contrib/zooinspector/src/java/org/apache/zookeeper/inspector/gui/ZooInspectorAboutDialog.java (original)
+++ zookeeper/trunk/src/contrib/zooinspector/src/java/org/apache/zookeeper/inspector/gui/ZooInspectorAboutDialog.java Thu Dec 15 00:05:15 2011
@@ -40,11 +40,10 @@ public class ZooInspectorAboutDialog ext
      * @param frame
      *            - the Frame from which the dialog is displayed
      */
-    public ZooInspectorAboutDialog(Frame frame) {
+    public ZooInspectorAboutDialog(Frame frame, IconResource iconResource) {
         super(frame);
         this.setLayout(new BorderLayout());
-        this.setIconImage(ZooInspectorIconResources.getInformationIcon()
-                .getImage());
+        this.setIconImage(iconResource.get(IconResource.ICON_INFORMATION, "About ZooInspector").getImage());
         this.setTitle("About ZooInspector");
         this.setModal(true);
         this.setAlwaysOnTop(true);

Modified: zookeeper/trunk/src/contrib/zooinspector/src/java/org/apache/zookeeper/inspector/gui/ZooInspectorNodeViewersDialog.java
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zooinspector/src/java/org/apache/zookeeper/inspector/gui/ZooInspectorNodeViewersDialog.java?rev=1214571&r1=1214570&r2=1214571&view=diff
==============================================================================
--- zookeeper/trunk/src/contrib/zooinspector/src/java/org/apache/zookeeper/inspector/gui/ZooInspectorNodeViewersDialog.java (original)
+++ zookeeper/trunk/src/contrib/zooinspector/src/java/org/apache/zookeeper/inspector/gui/ZooInspectorNodeViewersDialog.java Thu Dec 15 00:05:15 2011
@@ -31,11 +31,14 @@ import java.io.File;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 import javax.swing.DefaultListCellRenderer;
 import javax.swing.DefaultListModel;
 import javax.swing.DropMode;
+import javax.swing.ImageIcon;
 import javax.swing.JButton;
 import javax.swing.JComponent;
 import javax.swing.JDialog;
@@ -51,6 +54,7 @@ import javax.swing.TransferHandler;
 import javax.swing.event.ListSelectionEvent;
 import javax.swing.event.ListSelectionListener;
 
+import org.apache.zookeeper.inspector.gui.Toolbar.Button;
 import org.apache.zookeeper.inspector.gui.nodeviewer.ZooInspectorNodeViewer;
 import org.apache.zookeeper.inspector.logger.LoggerFactory;
 import org.apache.zookeeper.inspector.manager.ZooInspectorManager;
@@ -62,16 +66,9 @@ import org.apache.zookeeper.inspector.ma
 public class ZooInspectorNodeViewersDialog extends JDialog implements
         ListSelectionListener {
 
-    private final JButton upButton;
-    private final JButton downButton;
-    private final JButton removeButton;
-    private final JButton addButton;
     private final JList viewersList;
-    private final JButton saveFileButton;
-    private final JButton loadFileButton;
-    private final JButton setDefaultsButton;
     private final JFileChooser fileChooser = new JFileChooser(new File("."));
-
+    private final Map<Button, JButton> buttons = new HashMap<Button, JButton>();
     /**
      * @param frame
      *            - the Frame from which the dialog is displayed
@@ -87,12 +84,13 @@ public class ZooInspectorNodeViewersDial
     public ZooInspectorNodeViewersDialog(Frame frame,
             final List<ZooInspectorNodeViewer> currentViewers,
             final Collection<NodeViewersChangeListener> listeners,
-            final ZooInspectorManager manager) {
+            final ZooInspectorManager manager,
+            final IconResource iconResource) {
         super(frame);
         final List<ZooInspectorNodeViewer> newViewers = new ArrayList<ZooInspectorNodeViewer>(
                 currentViewers);
         this.setLayout(new BorderLayout());
-        this.setIconImage(ZooInspectorIconResources.getChangeNodeViewersIcon()
+        this.setIconImage(iconResource.get(IconResource.ICON_ChangeNodeViewers,"")
                 .getImage());
         this.setTitle("About ZooInspector");
         this.setModal(true);
@@ -205,20 +203,13 @@ public class ZooInspectorNodeViewersDial
         c1.ipadx = 0;
         c1.ipady = 0;
         panel.add(scroller, c1);
-        upButton = new JButton(ZooInspectorIconResources.getUpIcon());
-        downButton = new JButton(ZooInspectorIconResources.getDownIcon());
-        removeButton = new JButton(ZooInspectorIconResources
-                .getDeleteNodeIcon());
-        addButton = new JButton(ZooInspectorIconResources.getAddNodeIcon());
-        upButton.setEnabled(false);
-        downButton.setEnabled(false);
-        removeButton.setEnabled(false);
-        addButton.setEnabled(true);
-        upButton.setToolTipText("Move currently selected node viewer up");
-        downButton.setToolTipText("Move currently selected node viewer down");
-        removeButton.setToolTipText("Remove currently selected node viewer");
-        addButton.setToolTipText("Add node viewer");
+
         final JTextField newViewerTextField = new JTextField();
+
+        for(Button button : Button.values()) {
+            JButton jbutton = button.createJButton(iconResource);
+            buttons.put(button, jbutton);
+        }
         GridBagConstraints c2 = new GridBagConstraints();
         c2.gridx = 3;
         c2.gridy = 0;
@@ -231,7 +222,7 @@ public class ZooInspectorNodeViewersDial
         c2.insets = new Insets(5, 5, 5, 5);
         c2.ipadx = 0;
         c2.ipady = 0;
-        panel.add(upButton, c2);
+        panel.add(buttons.get(Button.up), c2);
         GridBagConstraints c3 = new GridBagConstraints();
         c3.gridx = 3;
         c3.gridy = 2;
@@ -244,7 +235,7 @@ public class ZooInspectorNodeViewersDial
         c3.insets = new Insets(5, 5, 5, 5);
         c3.ipadx = 0;
         c3.ipady = 0;
-        panel.add(downButton, c3);
+        panel.add(buttons.get(Button.down), c3);
         GridBagConstraints c4 = new GridBagConstraints();
         c4.gridx = 3;
         c4.gridy = 1;
@@ -257,7 +248,7 @@ public class ZooInspectorNodeViewersDial
         c4.insets = new Insets(5, 5, 5, 5);
         c4.ipadx = 0;
         c4.ipady = 0;
-        panel.add(removeButton, c4);
+        panel.add(buttons.get(Button.remove), c4);
         GridBagConstraints c5 = new GridBagConstraints();
         c5.gridx = 0;
         c5.gridy = 3;
@@ -283,8 +274,8 @@ public class ZooInspectorNodeViewersDial
         c6.insets = new Insets(5, 5, 5, 5);
         c6.ipadx = 0;
         c6.ipady = 0;
-        panel.add(addButton, c6);
-        upButton.addActionListener(new ActionListener() {
+        panel.add(buttons.get(Button.add), c6);
+        buttons.get(Button.up).addActionListener(new ActionListener() {
 
             public void actionPerformed(ActionEvent e) {
                 DefaultListModel listModel = (DefaultListModel) viewersList
@@ -299,7 +290,7 @@ public class ZooInspectorNodeViewersDial
                 }
             }
         });
-        downButton.addActionListener(new ActionListener() {
+        buttons.get(Button.down).addActionListener(new ActionListener() {
 
             public void actionPerformed(ActionEvent e) {
                 DefaultListModel listModel = (DefaultListModel) viewersList
@@ -314,7 +305,7 @@ public class ZooInspectorNodeViewersDial
                 }
             }
         });
-        removeButton.addActionListener(new ActionListener() {
+        buttons.get(Button.remove).addActionListener(new ActionListener() {
 
             public void actionPerformed(ActionEvent e) {
                 DefaultListModel listModel = (DefaultListModel) viewersList
@@ -330,7 +321,7 @@ public class ZooInspectorNodeViewersDial
                 }
             }
         });
-        addButton.addActionListener(new ActionListener() {
+        buttons.get(Button.add).addActionListener(new ActionListener() {
 
             public void actionPerformed(ActionEvent e) {
                 String className = newViewerTextField.getText();
@@ -371,15 +362,7 @@ public class ZooInspectorNodeViewersDial
                 }
             }
         });
-        saveFileButton = new JButton("Save");
-        loadFileButton = new JButton("Load");
-        setDefaultsButton = new JButton("Set As Defaults");
-        saveFileButton
-                .setToolTipText("Save current node viewer configuration to file");
-        loadFileButton
-                .setToolTipText("Load node viewer configuration frm file");
-        setDefaultsButton
-                .setToolTipText("Set current configuration asd defaults");
+
         GridBagConstraints c7 = new GridBagConstraints();
         c7.gridx = 0;
         c7.gridy = 4;
@@ -392,7 +375,7 @@ public class ZooInspectorNodeViewersDial
         c7.insets = new Insets(5, 5, 5, 5);
         c7.ipadx = 0;
         c7.ipady = 0;
-        panel.add(saveFileButton, c7);
+        panel.add(buttons.get(Button.save), c7);
         GridBagConstraints c8 = new GridBagConstraints();
         c8.gridx = 1;
         c8.gridy = 4;
@@ -405,7 +388,7 @@ public class ZooInspectorNodeViewersDial
         c8.insets = new Insets(5, 5, 5, 5);
         c8.ipadx = 0;
         c8.ipady = 0;
-        panel.add(loadFileButton, c8);
+        panel.add(buttons.get(Button.load), c8);
         GridBagConstraints c9 = new GridBagConstraints();
         c9.gridx = 2;
         c9.gridy = 4;
@@ -418,8 +401,8 @@ public class ZooInspectorNodeViewersDial
         c9.insets = new Insets(5, 5, 5, 5);
         c9.ipadx = 0;
         c9.ipady = 0;
-        panel.add(setDefaultsButton, c9);
-        saveFileButton.addActionListener(new ActionListener() {
+        panel.add(buttons.get(Button.setDefaults), c9);
+        buttons.get(Button.save).addActionListener(new ActionListener() {
 
             public void actionPerformed(ActionEvent e) {
                 int result = fileChooser
@@ -453,11 +436,11 @@ public class ZooInspectorNodeViewersDial
                             LoggerFactory
                                     .getLogger()
                                     .error(
-                                            "Error saving node veiwer configuration from file.",
+                                            "Error saving node viewer configuration from file.",
                                             ex);
                             JOptionPane.showMessageDialog(
                                     ZooInspectorNodeViewersDialog.this,
-                                    "Error saving node veiwer configuration from file: "
+                                    "Error saving node viewer configuration from file: "
                                             + ex.getMessage(), "Error",
                                     JOptionPane.ERROR_MESSAGE);
                         }
@@ -465,7 +448,7 @@ public class ZooInspectorNodeViewersDial
                 }
             }
         });
-        loadFileButton.addActionListener(new ActionListener() {
+        buttons.get(Button.load).addActionListener(new ActionListener() {
 
             public void actionPerformed(ActionEvent e) {
                 int result = fileChooser
@@ -493,18 +476,18 @@ public class ZooInspectorNodeViewersDial
                         LoggerFactory
                                 .getLogger()
                                 .error(
-                                        "Error loading node veiwer configuration from file.",
+                                        "Error loading node viewer configuration from file.",
                                         ex);
                         JOptionPane.showMessageDialog(
                                 ZooInspectorNodeViewersDialog.this,
-                                "Error loading node veiwer configuration from file: "
+                                "Error loading node viewer configuration from file: "
                                         + ex.getMessage(), "Error",
                                 JOptionPane.ERROR_MESSAGE);
                     }
                 }
             }
         });
-        setDefaultsButton.addActionListener(new ActionListener() {
+        buttons.get(Button.setDefaults).addActionListener(new ActionListener() {
 
             public void actionPerformed(ActionEvent e) {
                 int answer = JOptionPane
@@ -530,11 +513,11 @@ public class ZooInspectorNodeViewersDial
                         LoggerFactory
                                 .getLogger()
                                 .error(
-                                        "Error setting default node veiwer configuration.",
+                                        "Error setting default node viewer configuration.",
                                         ex);
                         JOptionPane.showMessageDialog(
                                 ZooInspectorNodeViewersDialog.this,
-                                "Error setting default node veiwer configuration: "
+                                "Error setting default node viewer configuration: "
                                         + ex.getMessage(), "Error",
                                 JOptionPane.ERROR_MESSAGE);
                     }
@@ -583,7 +566,11 @@ public class ZooInspectorNodeViewersDial
      * .ListSelectionEvent)
      */
     public void valueChanged(ListSelectionEvent e) {
+        JButton removeButton = buttons.get(Button.remove);
+        JButton upButton = buttons.get(Button.up);
+        JButton downButton = buttons.get(Button.down);
         int index = viewersList.getSelectedIndex();
+
         if (index == -1) {
             removeButton.setEnabled(false);
             upButton.setEnabled(false);
@@ -602,4 +589,43 @@ public class ZooInspectorNodeViewersDial
             }
         }
     }
+
+    public static enum Button {
+        up("Move currently selected node viewer up",IconResource.ICON_UP,false),
+        down("Move currently selected node viewer down",IconResource.ICON_DOWN,false),
+        add("Add node viewer",IconResource.ICON_ADD,true),
+        remove("Remove currently selected node viewer",IconResource.ICON_REMOVE,false),
+        save("Save current node viewer configuration to file","Save"),
+        load("Load node viewer configuration from file","Load"),
+        setDefaults("Set current configuration asd defaults","Set as defaults");
+
+        private String toolTip;
+        private String icon;
+        private boolean enabled;
+
+        Button(String toolTip, String icon, boolean enabled) {
+            this.toolTip = toolTip;
+            this.icon = icon;
+            this.enabled = enabled;
+        }
+
+        Button(String toolTip, String icon) {
+            this(toolTip, icon, true);
+        }
+
+        public JButton createJButton(IconResource iconResource) {
+            ImageIcon imageIcon = iconResource.get(icon, toolTip);
+            JButton jbutton;
+
+            if(imageIcon == null) {
+                jbutton = new JButton(icon);
+            } else {
+                jbutton = new JButton(imageIcon);
+            }
+
+            jbutton.setEnabled(enabled);
+            jbutton.setToolTipText(toolTip);
+            return jbutton;
+        }
+    }
 }

Modified: zookeeper/trunk/src/contrib/zooinspector/src/java/org/apache/zookeeper/inspector/gui/ZooInspectorPanel.java
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zooinspector/src/java/org/apache/zookeeper/inspector/gui/ZooInspectorPanel.java?rev=1214571&r1=1214570&r2=1214571&view=diff
==============================================================================
--- zookeeper/trunk/src/contrib/zooinspector/src/java/org/apache/zookeeper/inspector/gui/ZooInspectorPanel.java (original)
+++ zookeeper/trunk/src/contrib/zooinspector/src/java/org/apache/zookeeper/inspector/gui/ZooInspectorPanel.java Thu Dec 15 00:05:15 2011
@@ -43,16 +43,12 @@ import org.apache.zookeeper.inspector.ma
  */
 public class ZooInspectorPanel extends JPanel implements
         NodeViewersChangeListener {
-    private final JButton refreshButton;
-    private final JButton disconnectButton;
-    private final JButton connectButton;
+    private final IconResource iconResource;
+    private final Toolbar toolbar;
     private final ZooInspectorNodeViewersPanel nodeViewersPanel;
     private final ZooInspectorTreeViewer treeViewer;
     private final ZooInspectorManager zooInspectorManager;
-    private final JButton addNodeButton;
-    private final JButton deleteNodeButton;
-    private final JButton nodeViewersButton;
-    private final JButton aboutButton;
+
     private final List<NodeViewersChangeListener> listeners = new ArrayList<NodeViewersChangeListener>();
     {
         listeners.add(this);
@@ -62,8 +58,10 @@ public class ZooInspectorPanel extends J
      * @param zooInspectorManager
      *            - the {@link ZooInspectorManager} for the application
      */
-    public ZooInspectorPanel(final ZooInspectorManager zooInspectorManager) {
+    public ZooInspectorPanel(final ZooInspectorManager zooInspectorManager, final IconResource iconResource) {
         this.zooInspectorManager = zooInspectorManager;
+        this.iconResource = iconResource;
+        toolbar = new Toolbar(iconResource);
         final ArrayList<ZooInspectorNodeViewer> nodeViewers = new ArrayList<ZooInspectorNodeViewer>();
         try {
             List<String> defaultNodeViewersClassNames = this.zooInspectorManager
@@ -82,43 +80,10 @@ public class ZooInspectorPanel extends J
         nodeViewersPanel = new ZooInspectorNodeViewersPanel(
                 zooInspectorManager, nodeViewers);
         treeViewer = new ZooInspectorTreeViewer(zooInspectorManager,
-                nodeViewersPanel);
+                nodeViewersPanel, iconResource);
         this.setLayout(new BorderLayout());
-        JToolBar toolbar = new JToolBar();
-        toolbar.setFloatable(false);
-        connectButton = new JButton(ZooInspectorIconResources.getConnectIcon());
-        disconnectButton = new JButton(ZooInspectorIconResources
-                .getDisconnectIcon());
-        refreshButton = new JButton(ZooInspectorIconResources.getRefreshIcon());
-        addNodeButton = new JButton(ZooInspectorIconResources.getAddNodeIcon());
-        deleteNodeButton = new JButton(ZooInspectorIconResources
-                .getDeleteNodeIcon());
-        nodeViewersButton = new JButton(ZooInspectorIconResources
-                .getChangeNodeViewersIcon());
-        aboutButton = new JButton(ZooInspectorIconResources
-                .getInformationIcon());
-        toolbar.add(connectButton);
-        toolbar.add(disconnectButton);
-        toolbar.add(refreshButton);
-        toolbar.add(addNodeButton);
-        toolbar.add(deleteNodeButton);
-        toolbar.add(nodeViewersButton);
-        toolbar.add(aboutButton);
-        aboutButton.setEnabled(true);
-        connectButton.setEnabled(true);
-        disconnectButton.setEnabled(false);
-        refreshButton.setEnabled(false);
-        addNodeButton.setEnabled(false);
-        deleteNodeButton.setEnabled(false);
-        nodeViewersButton.setEnabled(true);
-        nodeViewersButton.setToolTipText("Change Node Viewers");
-        aboutButton.setToolTipText("About ZooInspector");
-        connectButton.setToolTipText("Connect");
-        disconnectButton.setToolTipText("Disconnect");
-        refreshButton.setToolTipText("Refresh");
-        addNodeButton.setToolTipText("Add Node");
-        deleteNodeButton.setToolTipText("Delete Node");
-        connectButton.addActionListener(new ActionListener() {
+        
+        toolbar.addActionListener(Toolbar.Button.connect, new ActionListener() {
             public void actionPerformed(ActionEvent e) {
                 ZooInspectorConnectionPropertiesDialog zicpd = new ZooInspectorConnectionPropertiesDialog(
                         zooInspectorManager.getLastConnectionProps(),
@@ -127,17 +92,17 @@ public class ZooInspectorPanel extends J
                 zicpd.setVisible(true);
             }
         });
-        disconnectButton.addActionListener(new ActionListener() {
+        toolbar.addActionListener(Toolbar.Button.disconnect, new ActionListener() {
             public void actionPerformed(ActionEvent e) {
                 disconnect();
             }
         });
-        refreshButton.addActionListener(new ActionListener() {
+        toolbar.addActionListener(Toolbar.Button.refresh, new ActionListener() {
             public void actionPerformed(ActionEvent e) {
                 treeViewer.refreshView();
             }
         });
-        addNodeButton.addActionListener(new ActionListener() {
+        toolbar.addActionListener(Toolbar.Button.addNode, new ActionListener() {
             public void actionPerformed(ActionEvent e) {
                 final List<String> selectedNodes = treeViewer
                         .getSelectedNodes();
@@ -169,7 +134,7 @@ public class ZooInspectorPanel extends J
                 }
             }
         });
-        deleteNodeButton.addActionListener(new ActionListener() {
+        toolbar.addActionListener(Toolbar.Button.deleteNode, new ActionListener() {
             public void actionPerformed(ActionEvent e) {
                 final List<String> selectedNodes = treeViewer
                         .getSelectedNodes();
@@ -205,19 +170,19 @@ public class ZooInspectorPanel extends J
                 }
             }
         });
-        nodeViewersButton.addActionListener(new ActionListener() {
+        toolbar.addActionListener(Toolbar.Button.nodeViewers, new ActionListener() {
 
             public void actionPerformed(ActionEvent e) {
                 ZooInspectorNodeViewersDialog nvd = new ZooInspectorNodeViewersDialog(
                         JOptionPane.getRootFrame(), nodeViewers, listeners,
-                        zooInspectorManager);
+                        zooInspectorManager, iconResource);
                 nvd.setVisible(true);
             }
         });
-        aboutButton.addActionListener(new ActionListener() {
+        toolbar.addActionListener(Toolbar.Button.about, new ActionListener() {
             public void actionPerformed(ActionEvent e) {
                 ZooInspectorAboutDialog zicpd = new ZooInspectorAboutDialog(
-                        JOptionPane.getRootFrame());
+                        JOptionPane.getRootFrame(), iconResource);
                 zicpd.setVisible(true);
             }
         });
@@ -226,7 +191,7 @@ public class ZooInspectorPanel extends J
                 treeScroller, nodeViewersPanel);
         splitPane.setResizeWeight(0.25);
         this.add(splitPane, BorderLayout.CENTER);
-        this.add(toolbar, BorderLayout.NORTH);
+        this.add(toolbar.getJToolBar(), BorderLayout.NORTH);
     }
 
     /**
@@ -248,11 +213,7 @@ public class ZooInspectorPanel extends J
                 try {
                     if (get()) {
                         treeViewer.refreshView();
-                        connectButton.setEnabled(false);
-                        disconnectButton.setEnabled(true);
-                        refreshButton.setEnabled(true);
-                        addNodeButton.setEnabled(true);
-                        deleteNodeButton.setEnabled(true);
+                        toolbar.toggleButtons(true);
                     } else {
                         JOptionPane.showMessageDialog(ZooInspectorPanel.this,
                                 "Unable to connect to zookeeper", "Error",
@@ -302,11 +263,7 @@ public class ZooInspectorPanel extends J
                 try {
                     if (get()) {
                         treeViewer.clearView();
-                        connectButton.setEnabled(true);
-                        disconnectButton.setEnabled(false);
-                        refreshButton.setEnabled(false);
-                        addNodeButton.setEnabled(false);
-                        deleteNodeButton.setEnabled(false);
+                        toolbar.toggleButtons(false);
                     }
                 } catch (InterruptedException e) {
                     LoggerFactory

Modified: zookeeper/trunk/src/contrib/zooinspector/src/java/org/apache/zookeeper/inspector/gui/ZooInspectorTreeViewer.java
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zooinspector/src/java/org/apache/zookeeper/inspector/gui/ZooInspectorTreeViewer.java?rev=1214571&r1=1214570&r2=1214571&view=diff
==============================================================================
--- zookeeper/trunk/src/contrib/zooinspector/src/java/org/apache/zookeeper/inspector/gui/ZooInspectorTreeViewer.java (original)
+++ zookeeper/trunk/src/contrib/zooinspector/src/java/org/apache/zookeeper/inspector/gui/ZooInspectorTreeViewer.java Thu Dec 15 00:05:15 2011
@@ -31,6 +31,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
+import javax.swing.ImageIcon;
 import javax.swing.JMenuItem;
 import javax.swing.JPanel;
 import javax.swing.JPopupMenu;
@@ -56,6 +57,7 @@ public class ZooInspectorTreeViewer exte
     private final ZooInspectorManager zooInspectorManager;
     private final JTree tree;
     private final Toaster toasterManager;
+    private final ImageIcon toasterIcon;
 
     /**
      * @param zooInspectorManager
@@ -66,7 +68,7 @@ public class ZooInspectorTreeViewer exte
      */
     public ZooInspectorTreeViewer(
             final ZooInspectorManager zooInspectorManager,
-            TreeSelectionListener listener) {
+            TreeSelectionListener listener, IconResource iconResource) {
         this.zooInspectorManager = zooInspectorManager;
         this.setLayout(new BorderLayout());
         final JPopupMenu popupMenu = new JPopupMenu();
@@ -75,6 +77,7 @@ public class ZooInspectorTreeViewer exte
         this.toasterManager.setBorderColor(Color.BLACK);
         this.toasterManager.setMessageColor(Color.BLACK);
         this.toasterManager.setToasterColor(Color.WHITE);
+        toasterIcon = iconResource.get(IconResource.ICON_INFORMATION,"");
         addNotify.addActionListener(new ActionListener() {
             public void actionPerformed(ActionEvent e) {
                 List<String> selectedNodes = getSelectedNodes();
@@ -91,7 +94,7 @@ public class ZooInspectorTreeViewer exte
             }
         });
         tree = new JTree(new DefaultMutableTreeNode());
-        tree.setCellRenderer(new ZooInspectorTreeCellRenderer());
+        tree.setCellRenderer(new ZooInspectorTreeCellRenderer(iconResource));
         tree.setEditable(false);
         tree.getSelectionModel().addTreeSelectionListener(listener);
         tree.addMouseListener(new MouseAdapter() {
@@ -152,23 +155,15 @@ public class ZooInspectorTreeViewer exte
         tree.setModel(new DefaultTreeModel(new DefaultMutableTreeNode()));
     }
 
-    /**
-     * @author Colin
-     * 
-     */
     private static class ZooInspectorTreeCellRenderer extends
             DefaultTreeCellRenderer {
-        public ZooInspectorTreeCellRenderer() {
-            setLeafIcon(ZooInspectorIconResources.getTreeLeafIcon());
-            setOpenIcon(ZooInspectorIconResources.getTreeOpenIcon());
-            setClosedIcon(ZooInspectorIconResources.getTreeClosedIcon());
+        public ZooInspectorTreeCellRenderer(IconResource iconResource) {
+            setLeafIcon(iconResource.get(IconResource.ICON_TREE_LEAF,""));
+            setOpenIcon(iconResource.get(IconResource.ICON_TREE_OPEN,""));
+            setClosedIcon(iconResource.get(IconResource.ICON_TREE_CLOSE,""));
         }
     }
 
-    /**
-     * @author Colin
-     * 
-     */
     private class ZooInspectorTreeNode implements TreeNode {
         private final String nodePath;
         private final String nodeName;
@@ -356,7 +351,6 @@ public class ZooInspectorTreeViewer exte
                 sb.append(entry.getValue());
             }
         }
-        this.toasterManager.showToaster(ZooInspectorIconResources
-                .getInformationIcon(), sb.toString());
+        this.toasterManager.showToaster(toasterIcon, sb.toString());
     }
 }

Modified: zookeeper/trunk/src/contrib/zooinspector/src/java/org/apache/zookeeper/inspector/gui/nodeviewer/NodeViewerData.java
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zooinspector/src/java/org/apache/zookeeper/inspector/gui/nodeviewer/NodeViewerData.java?rev=1214571&r1=1214570&r2=1214571&view=diff
==============================================================================
--- zookeeper/trunk/src/contrib/zooinspector/src/java/org/apache/zookeeper/inspector/gui/nodeviewer/NodeViewerData.java (original)
+++ zookeeper/trunk/src/contrib/zooinspector/src/java/org/apache/zookeeper/inspector/gui/nodeviewer/NodeViewerData.java Thu Dec 15 00:05:15 2011
@@ -30,7 +30,7 @@ import javax.swing.JTextPane;
 import javax.swing.JToolBar;
 import javax.swing.SwingWorker;
 
-import org.apache.zookeeper.inspector.gui.ZooInspectorIconResources;
+import org.apache.zookeeper.inspector.gui.IconResource;
 import org.apache.zookeeper.inspector.logger.LoggerFactory;
 import org.apache.zookeeper.inspector.manager.ZooInspectorNodeManager;
 
@@ -43,10 +43,7 @@ public class NodeViewerData extends ZooI
     private final JToolBar toolbar;
     private String selectedNode;
 
-    /**
-	 * 
-	 */
-    public NodeViewerData() {
+    public NodeViewerData(IconResource iconResource) {
         this.setLayout(new BorderLayout());
         this.dataArea = new JTextPane();
         this.toolbar = new JToolBar();
@@ -56,8 +53,7 @@ public class NodeViewerData extends ZooI
                 .setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
         this.add(scroller, BorderLayout.CENTER);
         this.add(this.toolbar, BorderLayout.NORTH);
-        JButton saveButton = new JButton(ZooInspectorIconResources
-                .getSaveIcon());
+        JButton saveButton = new JButton(iconResource.get(IconResource.ICON_SAVE,""));
         saveButton.addActionListener(new ActionListener() {
 
             public void actionPerformed(ActionEvent e) {

Added: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/actions/add.png
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/actions/add.png?rev=1214571&view=auto
==============================================================================
Binary file - no diff available.

Propchange: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/actions/add.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/actions/document-new.png
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/actions/document-new.png?rev=1214571&view=auto
==============================================================================
Binary file - no diff available.

Propchange: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/actions/document-new.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/actions/document-save.png
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/actions/document-save.png?rev=1214571&view=auto
==============================================================================
Binary file - no diff available.

Propchange: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/actions/document-save.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/actions/down.png
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/actions/down.png?rev=1214571&view=auto
==============================================================================
Binary file - no diff available.

Propchange: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/actions/down.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/actions/media-playback-start.png
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/actions/media-playback-start.png?rev=1214571&view=auto
==============================================================================
Binary file - no diff available.

Propchange: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/actions/media-playback-start.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/actions/media-playback-stop.png
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/actions/media-playback-stop.png?rev=1214571&view=auto
==============================================================================
Binary file - no diff available.

Propchange: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/actions/media-playback-stop.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/actions/remove.png
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/actions/remove.png?rev=1214571&view=auto
==============================================================================
Binary file - no diff available.

Propchange: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/actions/remove.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/actions/up.png
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/actions/up.png?rev=1214571&view=auto
==============================================================================
Binary file - no diff available.

Propchange: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/actions/up.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/actions/view-refresh.png
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/actions/view-refresh.png?rev=1214571&view=auto
==============================================================================
Binary file - no diff available.

Propchange: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/actions/view-refresh.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/mimetypes/text-x-generic.png
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/mimetypes/text-x-generic.png?rev=1214571&view=auto
==============================================================================
Binary file - no diff available.

Propchange: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/mimetypes/text-x-generic.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/places/folder.png
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/places/folder.png?rev=1214571&view=auto
==============================================================================
Binary file - no diff available.

Propchange: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/places/folder.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/places/user-trash.png
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/places/user-trash.png?rev=1214571&view=auto
==============================================================================
Binary file - no diff available.

Propchange: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/places/user-trash.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/status/info.png
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/status/info.png?rev=1214571&view=auto
==============================================================================
Binary file - no diff available.

Propchange: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/16x16/status/info.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/actions/add.png
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/actions/add.png?rev=1214571&view=auto
==============================================================================
Binary file - no diff available.

Propchange: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/actions/add.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/actions/document-new.png
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/actions/document-new.png?rev=1214571&view=auto
==============================================================================
Binary file - no diff available.

Propchange: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/actions/document-new.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/actions/document-save.png
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/actions/document-save.png?rev=1214571&view=auto
==============================================================================
Binary file - no diff available.

Propchange: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/actions/document-save.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/actions/down.png
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/actions/down.png?rev=1214571&view=auto
==============================================================================
Binary file - no diff available.

Propchange: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/actions/down.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/actions/media-playback-start.png
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/actions/media-playback-start.png?rev=1214571&view=auto
==============================================================================
Binary file - no diff available.

Propchange: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/actions/media-playback-start.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/actions/media-playback-stop.png
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/actions/media-playback-stop.png?rev=1214571&view=auto
==============================================================================
Binary file - no diff available.

Propchange: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/actions/media-playback-stop.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/actions/remove.png
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/actions/remove.png?rev=1214571&view=auto
==============================================================================
Binary file - no diff available.

Propchange: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/actions/remove.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/actions/up.png
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/actions/up.png?rev=1214571&view=auto
==============================================================================
Binary file - no diff available.

Propchange: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/actions/up.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/actions/view-refresh.png
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/actions/view-refresh.png?rev=1214571&view=auto
==============================================================================
Binary file - no diff available.

Propchange: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/actions/view-refresh.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/mimetypes/text-x-generic.png
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/mimetypes/text-x-generic.png?rev=1214571&view=auto
==============================================================================
Binary file - no diff available.

Propchange: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/mimetypes/text-x-generic.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/places/folder.png
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/places/folder.png?rev=1214571&view=auto
==============================================================================
Binary file - no diff available.

Propchange: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/places/folder.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/places/user-trash.png
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/places/user-trash.png?rev=1214571&view=auto
==============================================================================
Binary file - no diff available.

Propchange: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/places/user-trash.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/status/info.png
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/status/info.png?rev=1214571&view=auto
==============================================================================
Binary file - no diff available.

Propchange: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/22x22/status/info.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/24x24/actions/add.png
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/24x24/actions/add.png?rev=1214571&view=auto
==============================================================================
Binary file - no diff available.

Propchange: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/24x24/actions/add.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/24x24/actions/document-new.png
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/24x24/actions/document-new.png?rev=1214571&view=auto
==============================================================================
Binary file - no diff available.

Propchange: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/24x24/actions/document-new.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/24x24/actions/document-save.png
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/24x24/actions/document-save.png?rev=1214571&view=auto
==============================================================================
Binary file - no diff available.

Propchange: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/24x24/actions/document-save.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/24x24/actions/down.png
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/24x24/actions/down.png?rev=1214571&view=auto
==============================================================================
Binary file - no diff available.

Propchange: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/24x24/actions/down.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/24x24/actions/media-playback-start.png
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/24x24/actions/media-playback-start.png?rev=1214571&view=auto
==============================================================================
Binary file - no diff available.

Propchange: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/24x24/actions/media-playback-start.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/24x24/actions/media-playback-stop.png
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zooinspector/src/main/resources/icons/Tango/24x24/actions/media-playback-stop.png?rev=1214571&view=auto
==============================================================================
Binary file - no diff available.



Mime
View raw message