Added person provider.
diff --git a/plugins/org.eclipse.tigerstripe.annotation.core.test/META-INF/MANIFEST.MF b/plugins/org.eclipse.tigerstripe.annotation.core.test/META-INF/MANIFEST.MF
index 761b7b3..781e465 100644
--- a/plugins/org.eclipse.tigerstripe.annotation.core.test/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.tigerstripe.annotation.core.test/META-INF/MANIFEST.MF
@@ -17,6 +17,6 @@
  org.eclipse.jdt.core,
  org.eclipse.tigerstripe.annotation.core,
  org.eclipse.emf.ecore.change,
- org.eclipse.jdt.ui
+ org.eclipse.ui.workbench
 Eclipse-LazyStart: true
 Bundle-Activator: org.eclipse.tigerstripe.annotation.core.test.Activator
diff --git a/plugins/org.eclipse.tigerstripe.annotation.core.test/icons/author.gif b/plugins/org.eclipse.tigerstripe.annotation.core.test/icons/author.gif
index cca815c..6b24fe8 100644
--- a/plugins/org.eclipse.tigerstripe.annotation.core.test/icons/author.gif
+++ b/plugins/org.eclipse.tigerstripe.annotation.core.test/icons/author.gif
Binary files differ
diff --git a/plugins/org.eclipse.tigerstripe.annotation.core.test/plugin.xml b/plugins/org.eclipse.tigerstripe.annotation.core.test/plugin.xml
index 2999f87..9c4c730 100644
--- a/plugins/org.eclipse.tigerstripe.annotation.core.test/plugin.xml
+++ b/plugins/org.eclipse.tigerstripe.annotation.core.test/plugin.xml
@@ -5,7 +5,7 @@
  <copyright>
  </copyright>
 
- $Id: plugin.xml,v 1.1.2.2 2008/05/23 05:25:01 ystrot Exp $
+ $Id: plugin.xml,v 1.1.2.3 2008/05/27 07:43:24 ystrot Exp $
 -->
 
 <plugin>
@@ -20,7 +20,7 @@
   <extension point="org.eclipse.tigerstripe.annotation.core.annotationType">
      <definition
            id="org.eclipse.tigerstripe.annotation.core.test.author"
-           name="Author Annotation"
+           name="Author"
            epackage-uri="http:///org/eclipse/tigerstripe/annotation/core/test/model.ecore"
            description="Author Annotation"
            eclass="Author">
@@ -30,7 +30,7 @@
   <extension point="org.eclipse.tigerstripe.annotation.core.annotationType">
      <definition
            id="org.eclipse.tigerstripe.annotation.core.test.hibernate"
-           name="Hibernate Annotation"
+           name="Hibernate"
            epackage-uri="http:///org/eclipse/tigerstripe/annotation/core/test/model.ecore"
            description="Hibernate Annotation"
            eclass="Hibernate">
@@ -42,7 +42,7 @@
   <extension point="org.eclipse.tigerstripe.annotation.core.annotationType">
      <definition
            id="org.eclipse.tigerstripe.annotation.core.test.mimetype"
-           name="MIME Type Annotation"
+           name="MIME Type"
            epackage-uri="http:///org/eclipse/tigerstripe/annotation/core/test/model.ecore"
            description="MIME Type Annotation"
            eclass="MimeType">
diff --git a/plugins/org.eclipse.tigerstripe.annotation.core.test/src/org/eclipse/tigerstripe/annotation/core/test/Activator.java b/plugins/org.eclipse.tigerstripe.annotation.core.test/src/org/eclipse/tigerstripe/annotation/core/test/Activator.java
index 06cc1f9..70fca78 100644
--- a/plugins/org.eclipse.tigerstripe.annotation.core.test/src/org/eclipse/tigerstripe/annotation/core/test/Activator.java
+++ b/plugins/org.eclipse.tigerstripe.annotation.core.test/src/org/eclipse/tigerstripe/annotation/core/test/Activator.java
@@ -1,18 +1,13 @@
 package org.eclipse.tigerstripe.annotation.core.test;
 
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Plugin;
 import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
 import org.osgi.framework.BundleContext;
 
 /**
  * The activator class controls the plug-in life cycle
  */
-public class Activator extends Plugin {
+public class Activator extends AbstractUIPlugin {
 
 	// The plug-in ID
 	public static final String PLUGIN_ID = "org.eclipse.tigerstripe.annotation.core.test";
@@ -54,19 +49,7 @@
 	}
 	
 	public static ImageDescriptor createImage(String imageFilePath) {
-        URL fullPathString = FileLocator.find(getDefault().getBundle(), new Path(imageFilePath), null);
-        if (fullPathString == null) {
-            try {
-                fullPathString = new URL(imageFilePath);
-            } catch (MalformedURLException e) {
-                return null;
-            }
-        }
-
-        if (fullPathString == null) {
-			return null;
-		}
-        return ImageDescriptor.createFromURL(fullPathString);
+		return imageDescriptorFromPlugin(PLUGIN_ID, imageFilePath);
 	}
 
 }
diff --git a/plugins/org.eclipse.tigerstripe.annotation.example.person/META-INF/MANIFEST.MF b/plugins/org.eclipse.tigerstripe.annotation.example.person/META-INF/MANIFEST.MF
index 5768de1..3e0b9ff 100644
--- a/plugins/org.eclipse.tigerstripe.annotation.example.person/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.tigerstripe.annotation.example.person/META-INF/MANIFEST.MF
@@ -9,9 +9,12 @@
 Export-Package: org.eclipse.tigerstripe.annotation.example.person,
  org.eclipse.tigerstripe.annotation.example.person.impl,
  org.eclipse.tigerstripe.annotation.example.person.util
+Bundle-Activator: org.eclipse.tigerstripe.annotation.example.person.PersonExamplePlugin
 Require-Bundle: org.eclipse.core.runtime,
  org.eclipse.emf.ecore;visibility:=reexport,
  org.eclipse.tigerstripe.espace.resources,
  org.eclipse.core.resources,
- org.eclipse.tigerstripe.annotation.core
+ org.eclipse.tigerstripe.annotation.core,
+ org.eclipse.ui.workbench,
+ org.eclipse.jface
 Eclipse-LazyStart: true
diff --git a/plugins/org.eclipse.tigerstripe.annotation.example.person/plugin.xml b/plugins/org.eclipse.tigerstripe.annotation.example.person/plugin.xml
index 3c0c95c..15d164a 100644
--- a/plugins/org.eclipse.tigerstripe.annotation.example.person/plugin.xml
+++ b/plugins/org.eclipse.tigerstripe.annotation.example.person/plugin.xml
@@ -5,7 +5,7 @@
  <copyright>
  </copyright>
 
- $Id: plugin.xml,v 1.2.2.4 2008/05/27 06:47:34 ystrot Exp $
+ $Id: plugin.xml,v 1.2.2.5 2008/05/27 07:43:27 ystrot Exp $
 -->
 
 <plugin>
@@ -28,5 +28,12 @@
              type="org.eclipse.core.resources.IResource"/>
      </definition>
   </extension>
+  
+  <extension
+        point="org.eclipse.tigerstripe.annotation.ui.annotationLabelProvider">
+     <provider
+           class="org.eclipse.tigerstripe.annotation.example.person.PersonLabelProvider"
+           typeID="org.eclipse.tigerstripe.annotation.example.person"/>
+  </extension>
 
 </plugin>
diff --git a/plugins/org.eclipse.tigerstripe.annotation.example.person/src/org/eclipse/tigerstripe/annotation/example/person/PersonExamplePlugin.java b/plugins/org.eclipse.tigerstripe.annotation.example.person/src/org/eclipse/tigerstripe/annotation/example/person/PersonExamplePlugin.java
new file mode 100644
index 0000000..936b3ef
--- /dev/null
+++ b/plugins/org.eclipse.tigerstripe.annotation.example.person/src/org/eclipse/tigerstripe/annotation/example/person/PersonExamplePlugin.java
@@ -0,0 +1,55 @@
+package org.eclipse.tigerstripe.annotation.example.person;
+
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class PersonExamplePlugin extends AbstractUIPlugin {
+
+	// The plug-in ID
+	public static final String PLUGIN_ID = "org.eclipse.tigerstripe.annotation.example.person";
+
+	// The shared instance
+	private static PersonExamplePlugin plugin;
+	
+	/**
+	 * The constructor
+	 */
+	public PersonExamplePlugin() {
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+	 */
+	public void start(BundleContext context) throws Exception {
+		super.start(context);
+		plugin = this;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+	 */
+	public void stop(BundleContext context) throws Exception {
+		plugin = null;
+		super.stop(context);
+	}
+
+	/**
+	 * Returns the shared instance
+	 *
+	 * @return the shared instance
+	 */
+	public static PersonExamplePlugin getDefault() {
+		return plugin;
+	}
+	
+	public static ImageDescriptor createImage(String path) {
+		return imageDescriptorFromPlugin(PLUGIN_ID, path);
+	}
+
+}
diff --git a/plugins/org.eclipse.tigerstripe.annotation.example.person/src/org/eclipse/tigerstripe/annotation/example/person/PersonLabelProvider.java b/plugins/org.eclipse.tigerstripe.annotation.example.person/src/org/eclipse/tigerstripe/annotation/example/person/PersonLabelProvider.java
new file mode 100644
index 0000000..43c9204
--- /dev/null
+++ b/plugins/org.eclipse.tigerstripe.annotation.example.person/src/org/eclipse/tigerstripe/annotation/example/person/PersonLabelProvider.java
@@ -0,0 +1,55 @@
+/******************************************************************************* 
+ * Copyright (c) 2008 xored software, Inc.  
+ * 
+ * All rights reserved. This program and the accompanying materials 
+ * are made available under the terms of the Eclipse Public License v1.0 
+ * which accompanies this distribution, and is available at 
+ * http://www.eclipse.org/legal/epl-v10.html  
+ * 
+ * Contributors: 
+ *     xored software, Inc. - initial API and Implementation (Yuri Strot) 
+ *******************************************************************************/
+package org.eclipse.tigerstripe.annotation.example.person;
+
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.swt.graphics.Image;
+
+/**
+ * @author Yuri Strot
+ *
+ */
+public class PersonLabelProvider extends LabelProvider {
+	
+	/* (non-Javadoc)
+	 * @see org.eclipse.jface.viewers.LabelProvider#getText(java.lang.Object)
+	 */
+	@Override
+	public String getText(Object element) {
+		Person person = (Person)element;
+		StringBuffer buffer = new StringBuffer("Person");
+		Name name = person.getName();
+		if (name != null) {
+			buffer.append(" (");
+			if (name.getFirstName() != null && name.getFirstName().length() > 0)
+				buffer.append(name.getFirstName());
+			if (name.getLastName() != null && name.getLastName().length() > 0) {
+				if (buffer.length() > 8)
+					buffer.append(" ");
+				buffer.append(name.getLastName());
+			}
+			buffer.append(")");
+		}
+		return buffer.toString();
+	}
+	
+	/* (non-Javadoc)
+	 * @see org.eclipse.jface.viewers.LabelProvider#getImage(java.lang.Object)
+	 */
+	@Override
+	public Image getImage(Object element) {
+		ImageDescriptor des = PersonExamplePlugin.createImage("icons/person.gif");
+		return des == null ? null : des.createImage();
+	}
+
+}
diff --git a/plugins/org.eclipse.tigerstripe.annotation.ui/src/org/eclipse/tigerstripe/annotation/ui/internal/actions/CreateSpecificTypeAnnotationAction.java b/plugins/org.eclipse.tigerstripe.annotation.ui/src/org/eclipse/tigerstripe/annotation/ui/internal/actions/CreateSpecificTypeAnnotationAction.java
index 29ca81e..06baee6 100644
--- a/plugins/org.eclipse.tigerstripe.annotation.ui/src/org/eclipse/tigerstripe/annotation/ui/internal/actions/CreateSpecificTypeAnnotationAction.java
+++ b/plugins/org.eclipse.tigerstripe.annotation.ui/src/org/eclipse/tigerstripe/annotation/ui/internal/actions/CreateSpecificTypeAnnotationAction.java
@@ -39,7 +39,7 @@
 		super(type.getName());
 		ILabelProvider provider = AnnotationUIPlugin.getManager().getLabelProvider(type);
 		if (provider != null) {
-			Image image = provider.getImage(object);
+			Image image = provider.getImage(type.createInstance());
 			if (image != null)
 				setImageDescriptor(ImageDescriptor.createFromImage(image));
 		}