This commit was manufactured by cvs2svn to create tag 'v20060503'.
diff --git a/assembly/plugins/org.eclipse.jsf.branding/.classpath b/assembly/plugins/org.eclipse.jsf.branding/.classpath
deleted file mode 100644
index 751c8f2..0000000
--- a/assembly/plugins/org.eclipse.jsf.branding/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/assembly/plugins/org.eclipse.jsf.branding/.cvsignore b/assembly/plugins/org.eclipse.jsf.branding/.cvsignore
deleted file mode 100644
index 3bc67e4..0000000
--- a/assembly/plugins/org.eclipse.jsf.branding/.cvsignore
+++ /dev/null
@@ -1,3 +0,0 @@
-@dot*
-temp.folder
-build.xml
diff --git a/assembly/plugins/org.eclipse.jsf.branding/.project b/assembly/plugins/org.eclipse.jsf.branding/.project
deleted file mode 100644
index bd50004..0000000
--- a/assembly/plugins/org.eclipse.jsf.branding/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jsf.branding</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/assembly/plugins/org.eclipse.jsf.branding/META-INF/MANIFEST.MF b/assembly/plugins/org.eclipse.jsf.branding/META-INF/MANIFEST.MF
deleted file mode 100644
index b24d7e8..0000000
--- a/assembly/plugins/org.eclipse.jsf.branding/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %plugin.Name
-Bundle-SymbolicName: org.eclipse.jsf
-Bundle-Version: 0.5.0.qualifier
-Bundle-Activator: org.eclipse.jsf.main.MainPlugin
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime
-Eclipse-AutoStart: true
-Bundle-Vendor: %plugin.Provider
diff --git a/assembly/plugins/org.eclipse.jsf.branding/about.html b/assembly/plugins/org.eclipse.jsf.branding/about.html
deleted file mode 100644
index 6f6b96c..0000000
--- a/assembly/plugins/org.eclipse.jsf.branding/about.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>February 24, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/assembly/plugins/org.eclipse.jsf.branding/about.ini b/assembly/plugins/org.eclipse.jsf.branding/about.ini
deleted file mode 100644
index a21a3ec..0000000
--- a/assembly/plugins/org.eclipse.jsf.branding/about.ini
+++ /dev/null
@@ -1,29 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=eclipse32.gif
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-
diff --git a/assembly/plugins/org.eclipse.jsf.branding/about.mappings b/assembly/plugins/org.eclipse.jsf.branding/about.mappings
deleted file mode 100644
index bddaab4..0000000
--- a/assembly/plugins/org.eclipse.jsf.branding/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
\ No newline at end of file
diff --git a/assembly/plugins/org.eclipse.jsf.branding/about.properties b/assembly/plugins/org.eclipse.jsf.branding/about.properties
deleted file mode 100644
index c62b076..0000000
--- a/assembly/plugins/org.eclipse.jsf.branding/about.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-###############################################################################
-# Copyright (c) 2005 Oracle Corporation and others.
-# 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:
-#     Oracle Corporation - initial API and implementation
-###############################################################################
-
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-
-blurb=JavaServer Faces Tools\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others 2005.  All rights reserved.\n\
-Visit http://www.eclipse.org/webtools
diff --git a/assembly/plugins/org.eclipse.jsf.branding/build.properties b/assembly/plugins/org.eclipse.jsf.branding/build.properties
deleted file mode 100644
index bbae244..0000000
--- a/assembly/plugins/org.eclipse.jsf.branding/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               eclipse32.png,\
-               eclipse32.gif,\
-               about.properties,\
-               about.mappings,\
-               about.ini,\
-               about.html,\
-               plugin.properties,\
-               bin/
-src.includes = src/,\
-               eclipse32.png,\
-               eclipse32.gif,\
-               build.properties,\
-               about.properties,\
-               about.mappings,\
-               about.ini,\
-               about.html,\
-               META-INF/,\
-               plugin.properties
diff --git a/assembly/plugins/org.eclipse.jsf.branding/eclipse32.gif b/assembly/plugins/org.eclipse.jsf.branding/eclipse32.gif
deleted file mode 100644
index e6ad7cc..0000000
--- a/assembly/plugins/org.eclipse.jsf.branding/eclipse32.gif
+++ /dev/null
Binary files differ
diff --git a/assembly/plugins/org.eclipse.jsf.branding/eclipse32.png b/assembly/plugins/org.eclipse.jsf.branding/eclipse32.png
deleted file mode 100644
index 568fac1..0000000
--- a/assembly/plugins/org.eclipse.jsf.branding/eclipse32.png
+++ /dev/null
Binary files differ
diff --git a/assembly/plugins/org.eclipse.jsf.branding/plugin.properties b/assembly/plugins/org.eclipse.jsf.branding/plugin.properties
deleted file mode 100644
index fe471d2..0000000
--- a/assembly/plugins/org.eclipse.jsf.branding/plugin.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-plugin.Name=JavaServer Faces Tools
-plugin.Provider=Eclipse.org
\ No newline at end of file
diff --git a/assembly/plugins/org.eclipse.jsf.branding/src/org/eclipse/jsf/main/MainPlugin.java b/assembly/plugins/org.eclipse.jsf.branding/src/org/eclipse/jsf/main/MainPlugin.java
deleted file mode 100644
index a8b13fe..0000000
--- a/assembly/plugins/org.eclipse.jsf.branding/src/org/eclipse/jsf/main/MainPlugin.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.eclipse.jsf.main;
-
-import org.eclipse.ui.plugin.*;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.osgi.framework.BundleContext;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class MainPlugin extends AbstractUIPlugin {
-
-	//The shared instance.
-	private static MainPlugin plugin;
-	
-	/**
-	 * The constructor.
-	 */
-	public MainPlugin() {
-		plugin = this;
-	}
-
-	/**
-	 * This method is called upon plug-in activation
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-	}
-
-	/**
-	 * This method is called when the plug-in is stopped
-	 */
-	public void stop(BundleContext context) throws Exception {
-		super.stop(context);
-		plugin = null;
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static MainPlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns an image descriptor for the image file at the given
-	 * plug-in relative path.
-	 *
-	 * @param path the path
-	 * @return the image descriptor
-	 */
-	public static ImageDescriptor getImageDescriptor(String path) {
-		return AbstractUIPlugin.imageDescriptorFromPlugin("org.eclipse.jsf.main", path);
-	}
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/.classpath b/jsf/plugins/org.eclipse.jst.jsf.core/.classpath
deleted file mode 100644
index 751c8f2..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/.cvsignore b/jsf/plugins/org.eclipse.jst.jsf.core/.cvsignore
deleted file mode 100644
index 7033a79..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-bin
-@dot*
-temp.folder
-build.xml
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/.project b/jsf/plugins/org.eclipse.jst.jsf.core/.project
deleted file mode 100644
index 0cd3e27..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.jsf.core</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/META-INF/MANIFEST.MF b/jsf/plugins/org.eclipse.jst.jsf.core/META-INF/MANIFEST.MF
deleted file mode 100644
index d955aa8..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,37 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %plugin.name
-Bundle-SymbolicName: org.eclipse.jst.jsf.core; singleton:=true
-Bundle-Version: 0.5.0.qualifier
-Bundle-Activator: org.eclipse.jst.jsf.core.internal.JSFCorePlugin
-Bundle-Vendor: %plugin.provider
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.wst.common.project.facet.core,
- org.eclipse.jst.j2ee.web,
- org.eclipse.jst.server.core,
- org.eclipse.wst.server.core,
- org.eclipse.wst.common.frameworks,
- org.eclipse.jst.common.frameworks,
- org.eclipse.jdt.core,
- org.eclipse.core.resources,
- org.eclipse.jst.j2ee,
- org.eclipse.emf.common,
- org.eclipse.emf.ecore,
- org.eclipse.emf.ecore.xmi,
- org.eclipse.jst.j2ee.core,
- org.eclipse.jem.util,
- org.eclipse.wst.xml.core,
- org.eclipse.jst.jsf.facesconfig,
- org.eclipse.wst.common.emf
-Eclipse-AutoStart: true
-Export-Package: org.eclipse.jst.jsf.core.internal;x-friends:="org.eclipse.jst.jsf.core.tests,org.eclipse.jst.jsf.ui,org.eclipse.jst.jsf.ui.tests",
- org.eclipse.jst.jsf.core.internal.contentmodel.annotation,
- org.eclipse.jst.jsf.core.internal.jsflibraryregistry;x-friends:="org.eclipse.jst.jsf.core.tests,org.eclipse.jst.jsf.ui,org.eclipse.jst.jsf.ui.tests",
- org.eclipse.jst.jsf.core.internal.jsflibraryregistry.adapter;x-friends:="org.eclipse.jst.jsf.core.tests,org.eclipse.jst.jsf.ui,org.eclipse.jst.jsf.ui.tests",
- org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl;x-friends:="org.eclipse.jst.jsf.core.tests,org.eclipse.jst.jsf.ui,org.eclipse.jst.jsf.ui.tests",
- org.eclipse.jst.jsf.core.internal.jsflibraryregistry.util;x-friends:="org.eclipse.jst.jsf.core.tests,org.eclipse.jst.jsf.ui,org.eclipse.jst.jsf.ui.tests",
- org.eclipse.jst.jsf.core.internal.project.facet;x-friends:="org.eclipse.jst.jsf.core.tests,org.eclipse.jst.jsf.ui,org.eclipse.jst.jsf.ui.tests",
- org.eclipse.jst.jsf.core.internal.provisional.contentmodel.annotation,
- org.eclipse.jst.jsf.core.internal.provisional.jsfappconfig,
- org.eclipse.jst.jsf.core.jsflibraryregistry
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/build.properties b/jsf/plugins/org.eclipse.jst.jsf.core/build.properties
deleted file mode 100644
index 6f6a25d..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/build.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2005 Oracle Corporation.
-# 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:
-#    Gerry Kessler - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml,\
-               plugin.properties
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/model/jsflibraryregistry.ecore b/jsf/plugins/org.eclipse.jst.jsf.core/model/jsflibraryregistry.ecore
deleted file mode 100644
index c4ed268..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/model/jsflibraryregistry.ecore
+++ /dev/null
@@ -1,86 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ecore:EPackage xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="jsflibraryregistry"
-    nsURI="http://www.eclipse.org/webtools/jsf/schema/jsflibraryregistry.xsd" nsPrefix="jsflibreg">
-  <eClassifiers xsi:type="ecore:EClass" name="JSFLibraryRegistry">
-    <eOperations name="getJSFLibraryByID" lowerBound="1" eType="#//JSFLibrary">
-      <eParameters name="ID" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    </eOperations>
-    <eOperations name="getJSFLibrariesByName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">
-      <eParameters name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    </eOperations>
-    <eOperations name="getImplJSFLibraries" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList"/>
-    <eOperations name="getNonImplJSFLibraries" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList"/>
-    <eOperations name="getAllJSFLibraries" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList"/>
-    <eOperations name="addJSFLibrary" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="library" lowerBound="1" eType="#//JSFLibrary"/>
-    </eOperations>
-    <eOperations name="removeJSFLibrary" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="library" lowerBound="1" eType="#//JSFLibrary"/>
-    </eOperations>
-    <eOperations name="getDefaultImplementation" lowerBound="1" eType="#//JSFLibrary"/>
-    <eOperations name="setDefaultImplementation" lowerBound="1">
-      <eParameters name="implementation" lowerBound="1" eType="#//JSFLibrary"/>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="DefaultImplementationID"
-        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" defaultValueLiteral=""/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="JSFLibraries" upperBound="-1"
-        eType="#//JSFLibrary" containment="true"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="PluginProvidedJSFLibraries"
-        upperBound="-1" eType="#//PluginProvidedJSFLibrary" transient="true" containment="true"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="JSFLibrary">
-    <eOperations name="containsArchiveFile" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="fullPath" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    </eOperations>
-    <eOperations name="getWorkingCopy" lowerBound="1" eType="#//JSFLibrary"/>
-    <eOperations name="updateValues" lowerBound="1">
-      <eParameters name="otherLibrary" lowerBound="1" eType="#//JSFLibrary"/>
-    </eOperations>
-    <eOperations name="copyTo" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="baseDestLocation" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="ID" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
-        defaultValueLiteral="" iD="true"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="Name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="JSFVersion" lowerBound="1"
-        eType="#//JSFVersion" defaultValueLiteral="UNKNOWN"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="Deployed" lowerBound="1"
-        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="true"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="Implementation" lowerBound="1"
-        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="ArchiveFiles" upperBound="-1"
-        eType="#//ArchiveFile" containment="true" eOpposite="#//ArchiveFile/JSFLibrary"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="PluginProvidedJSFLibrary" eSuperTypes="#//JSFLibrary">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="pluginID" lowerBound="1"
-        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="ArchiveFile">
-    <eOperations name="getName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    <eOperations name="getPath" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    <eOperations name="exists" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-    <eOperations name="equals" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="object" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-    </eOperations>
-    <eOperations name="hashCode" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eOperations name="copyTo" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="baseDestLocation" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    </eOperations>
-    <eOperations name="getResolvedSourceLocation" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="RelativeToWorkspace" lowerBound="1"
-        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="true"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="SourceLocation" lowerBound="1"
-        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="RelativeDestLocation" lowerBound="1"
-        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="JSFLibrary" lowerBound="1"
-        eType="#//JSFLibrary" eOpposite="#//JSFLibrary/ArchiveFiles"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EEnum" name="JSFVersion">
-    <eLiterals name="UNKNOWN" value="-1"/>
-    <eLiterals name="v1_1" value="1"/>
-    <eLiterals name="v1_2" value="2"/>
-  </eClassifiers>
-</ecore:EPackage>
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/model/jsflibraryregistry.genmodel b/jsf/plugins/org.eclipse.jst.jsf.core/model/jsflibraryregistry.genmodel
deleted file mode 100644
index 0bde041..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/model/jsflibraryregistry.genmodel
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<genmodel:GenModel xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
-    xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="Copyright (c) 2005 Oracle Corporation"
-    modelDirectory="/org.eclipse.jst.jsf.core/src" editDirectory="/org.eclipse.jst.jsf.core.edit/src"
-    editorDirectory="/org.eclipse.jst.jsf.core.editor/src" modelPluginID="org.eclipse.jst.jsf.core"
-    templateDirectory="templates" dynamicTemplates="true" modelName="JSFLibraryRegistry"
-    importerID="org.eclipse.emf.importer.ecore">
-  <foreignModel>jsflibraryregistry.ecore</foreignModel>
-  <genPackages prefix="JSFLibraryRegistry" basePackage="org.eclipse.jst.jsf.core.internal"
-      resource="XML" disposableProviderFactory="true" ecorePackage="jsflibraryregistry.ecore#/">
-    <genEnums ecoreEnum="jsflibraryregistry.ecore#//JSFVersion">
-      <genEnumLiterals ecoreEnumLiteral="jsflibraryregistry.ecore#//JSFVersion/v1_1"/>
-      <genEnumLiterals ecoreEnumLiteral="jsflibraryregistry.ecore#//JSFVersion/v1_2"/>
-      <genEnumLiterals ecoreEnumLiteral="jsflibraryregistry.ecore#//JSFVersion/UNKNOWN"/>
-    </genEnums>
-    <genClasses ecoreClass="jsflibraryregistry.ecore#//JSFLibraryRegistry">
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference jsflibraryregistry.ecore#//JSFLibraryRegistry/JSFLibraries"/>
-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference jsflibraryregistry.ecore#//JSFLibraryRegistry/DefaultImplementation"/>
-      <genOperations ecoreOperation="jsflibraryregistry.ecore#//JSFLibraryRegistry/getJSFLibrary">
-        <genParameters ecoreParameter="jsflibraryregistry.ecore#//JSFLibraryRegistry/getJSFLibrary/name"/>
-      </genOperations>
-      <genOperations ecoreOperation="jsflibraryregistry.ecore#//JSFLibraryRegistry/getImplJSFLibraries"/>
-      <genOperations ecoreOperation="jsflibraryregistry.ecore#//JSFLibraryRegistry/getNonImplJSFLibraries"/>
-    </genClasses>
-    <genClasses ecoreClass="jsflibraryregistry.ecore#//JSFLibrary">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute jsflibraryregistry.ecore#//JSFLibrary/Name"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute jsflibraryregistry.ecore#//JSFLibrary/JSFVersion"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute jsflibraryregistry.ecore#//JSFLibrary/Deployed"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute jsflibraryregistry.ecore#//JSFLibrary/Implementation"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference jsflibraryregistry.ecore#//JSFLibrary/ArchiveFiles"/>
-      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference jsflibraryregistry.ecore#//JSFLibrary/JSFLibraryRegistry"/>
-      <genOperations ecoreOperation="jsflibraryregistry.ecore#//JSFLibrary/equals">
-        <genParameters ecoreParameter="jsflibraryregistry.ecore#//JSFLibrary/equals/object"/>
-      </genOperations>
-      <genOperations ecoreOperation="jsflibraryregistry.ecore#//JSFLibrary/hashCode"/>
-    </genClasses>
-    <genClasses ecoreClass="jsflibraryregistry.ecore#//ArchiveFile">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute jsflibraryregistry.ecore#//ArchiveFile/FullPath"/>
-      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference jsflibraryregistry.ecore#//ArchiveFile/JSFLibrary"/>
-      <genOperations ecoreOperation="jsflibraryregistry.ecore#//ArchiveFile/getName"/>
-      <genOperations ecoreOperation="jsflibraryregistry.ecore#//ArchiveFile/getPath"/>
-      <genOperations ecoreOperation="jsflibraryregistry.ecore#//ArchiveFile/exists"/>
-      <genOperations ecoreOperation="jsflibraryregistry.ecore#//ArchiveFile/equals">
-        <genParameters ecoreParameter="jsflibraryregistry.ecore#//ArchiveFile/equals/object"/>
-      </genOperations>
-      <genOperations ecoreOperation="jsflibraryregistry.ecore#//ArchiveFile/hashCode"/>
-    </genClasses>
-  </genPackages>
-</genmodel:GenModel>
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/model/templates/Header.javajetinc b/jsf/plugins/org.eclipse.jst.jsf.core/model/templates/Header.javajetinc
deleted file mode 100644
index aadfb40..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/model/templates/Header.javajetinc
+++ /dev/null
@@ -1,10 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2005 Oracle Corporation.

- * 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:

- *    Ian Trimble - initial API and implementation

- *******************************************************************************/ 

diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/plugin.properties b/jsf/plugins/org.eclipse.jst.jsf.core/plugin.properties
deleted file mode 100644
index a3166c6..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/plugin.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2005 Oracle Corporation.
-# 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:
-#    Gerry Kessler - initial API and implementation
-###############################################################################
-plugin.name=JavaServer Faces Core Plug-in
-plugin.provider=Eclipse.org
-plugin.facet.description=Enables the project to be deployed with JSF capabilities.
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/plugin.xml b/jsf/plugins/org.eclipse.jst.jsf.core/plugin.xml
deleted file mode 100644
index 2a81b95..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/plugin.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-   <extension-point id="jsfLibraries" name="jsfLibraries" schema="schema/jsfLibraries.exsd"/>
-   <extension-point id="annotationFiles" name="annotationFiles" schema="schema/annotationFiles.exsd"/>
-  <!-- JSF Project Facets -->
-	<extension
-       id="org.eclipse.jst.jsf.project.facet"
-       name="%plugin.facet.extension.name"
-       point="org.eclipse.wst.common.project.facet.core.facets">
-
-    <project-facet id="jst.jsf">
-      <label>JavaServer Faces</label>
-      <description>%plugin.facet.description</description>
-    </project-facet>
-
-    <project-facet-version facet="jst.jsf" version="1.1">
-       <constraint>
-        <and>
-          <requires facet="jst.web" version="[2.3"/>
-        </and>
-      </constraint>
-    </project-facet-version> 
-    
-    <project-facet-version facet="jst.jsf" version="1.2">
-     <constraint>
-        <and>
-          <requires facet="jst.web" version="[2.4"/>
-        </and>
-      </constraint>
-    </project-facet-version>    
-
-   	<action type="install" facet="jst.jsf" version="1.1,1.2">
-		<delegate
-        class="org.eclipse.jst.jsf.core.internal.project.facet.JSFFacetInstallDelegate"/>
-		<config-factory class="org.eclipse.jst.jsf.core.internal.project.facet.JSFFacetInstallDataModelProvider"/>
-	</action>
-    
-	<action type="uninstall" facet="jst.jsf" version="1.1,1.2">
-	 	<delegate
-         class="org.eclipse.jst.jsf.core.internal.project.facet.JSFFacetUninstallDelegate"/>
- 	</action>
- 	
-	<preset id="preset.jst.jsf.v1_1">
-	    <label>JavaServer Faces v1.1 Project</label>
-	    <facet id="jst.java" version="1.4" />
-	    <facet id="jst.web" version="2.3"/>
-	    <facet id="jst.jsf" version="1.1" />
-	</preset>    
- 	
-  </extension> 
-  
-  <extension point="org.eclipse.wst.common.project.facet.core.runtimes">
-    <supported>
-		<runtime-component any="true"/>
-       	<facet id="jst.jsf" version="1.1,1.2"/>
-    </supported>
-  </extension>
-    
-  <extension
-     name="JSF JSP File URL"
-     point="org.eclipse.jst.j2ee.web.fileURL">
-     <fileURL run="org.eclipse.jst.jsf.core.internal.launch.JSFFileURL"/>
-  </extension>
-  <extension
-        point="org.eclipse.wst.xml.core.catalogContributions">
-     <catalogContribution>
-        <system
-              systemId="http://org.eclipse.jst.jsf.core/grammarAnnotationSchema"
-              uri="schema/grammar-annotations.xsd"/>
-     </catalogContribution>
-  </extension>
-  
-</plugin>
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/schema/annotationFiles.exsd b/jsf/plugins/org.eclipse.jst.jsf.core/schema/annotationFiles.exsd
deleted file mode 100644
index 9068cc3..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/schema/annotationFiles.exsd
+++ /dev/null
@@ -1,135 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.jst.jsf.core">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.jst.jsf.core" id="annotationFiles" name="annotationFiles"/>
-      </appInfo>
-      <documentation>
-         Adds annotation meta-data to a content model.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="annotationFile" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="annotationFile">
-      <annotation>
-         <documentation>
-            File used to map annotations to a tag library content model.  The file assigns properties to a tag element or attribute.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="uri" type="string" use="required">
-            <annotation>
-               <documentation>
-                  Content model URI being annotated.  eg.  &quot;http://java.sun.com/jsf/core&quot;.   This can, of course, be any string that the consumer wishes to use as a key.  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="location" type="string" use="required">
-            <annotation>
-               <documentation>
-                  Location of the annotation file.   If no locator is provided, it will use the default &lt;code&gt;CMPluginRelativeSourceFileLocator&lt;/code&gt; which will find the file in a location relative to the plugin.
-eg. /metadata/jsf_core.xml
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="locator" type="string">
-            <annotation>
-               <documentation>
-                  Class implementing the abstract &lt;code&gt;CMAnnotationSourceFileLocator&lt;/code&gt; class.  Responsible for locating the annotation file and returning an InputStream to the parser and returning a &lt;code&gt;ResourceBundle&lt;/code&gt; if there is one.   If a locator is not supplied, the default implementation for a plugin relative file, &lt;code&gt;CMPluginRelativeSourceFileLocator&lt;/code&gt; will be used.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.jst.jsf.core.internal.provisional.contentmodel.annotation.CMAnnotationSourceFileLocator"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="parser" type="string">
-            <annotation>
-               <documentation>
-                  The name of the parser class used to fill the internal model.  If not specified the default, &lt;code&gt;CMAnnotationFileParser&lt;/code&gt;, will be used which conforms to the default schema &lt;code&gt;http://org.eclipse.jst.jsf.core/grammarAnnotationSchema&lt;/code&gt;.   If parser is provided, it must implement &lt;code&gt;ICMAnnotationFileParser&lt;/code&gt;.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.jst.jsf.core.internal.provisional.contentmodel.annotation.ICMAnnotationFileParser"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         WTP 1.5
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         The parser, if specified, must implement &lt;code&gt;ICMAnnotationFileParser&lt;/code&gt; to create &lt;code&gt;CMElementAnnotation&lt;/code&gt; and &lt;code&gt;CMAttributeAnnotations&lt;/code&gt; in the &lt;code&gt;CMAnnotationMap&lt;/code&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/schema/grammar-annotations.xsd b/jsf/plugins/org.eclipse.jst.jsf.core/schema/grammar-annotations.xsd
deleted file mode 100644
index 8b4a47e..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/schema/grammar-annotations.xsd
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsd:schema
-	targetNamespace="http://org.eclipse.jst.jsf.core/grammarAnnotationSchema" 
-	version="1.0"
-	attributeFormDefault="unqualified"
-	elementFormDefault="unqualified" 
-	xmlns="http://org.eclipse.jst.jsf.core/grammarAnnotationSchema"
-	xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-	
-	<xsd:element name="grammar-annotations"
-		type="grammar-annotationType" />
-		
-	<xsd:complexType name="grammar-annotationType">
-		<xsd:sequence>
-			<xsd:element name="cm-element"
-				type="cm-elementType" minOccurs="1" maxOccurs="unbounded" />
-		</xsd:sequence>
-		<xsd:attribute name="caseSensitive" type="xsd:boolean" use="optional" default="true"/>
-	</xsd:complexType>
-	<xsd:complexType name="cm-elementType">
-		<xsd:sequence>
-			<xsd:element name="cm-attribute" type="cm-attributeType" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="property" type="propertyType" minOccurs="0" maxOccurs="unbounded"/>
-		</xsd:sequence>
-		<xsd:attribute name="name" type="xsd:string" use="required"/>
-	</xsd:complexType>
-	<xsd:complexType name="cm-attributeType">
-		<xsd:sequence>
-			<xsd:element name="property"
-				type="propertyType" minOccurs="0" maxOccurs="unbounded"/>
-		</xsd:sequence>
-		<xsd:attribute name="name" type="xsd:string" use="required"/>
-	</xsd:complexType>
-	<xsd:complexType name="propertyType">
-		<xsd:sequence>
-			<xsd:element name="value" type="propertyValue" minOccurs="1" maxOccurs="unbounded"/>
-		</xsd:sequence>		
-		<xsd:attribute name="name" type="xsd:string" use="required"/>		
-	</xsd:complexType>
-	<xsd:complexType name="propertyValue">
-		<xsd:all></xsd:all>
-	</xsd:complexType>
-</xsd:schema>
\ No newline at end of file
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/schema/jsfLibraries.exsd b/jsf/plugins/org.eclipse.jst.jsf.core/schema/jsfLibraries.exsd
deleted file mode 100644
index 36739b4..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/schema/jsfLibraries.exsd
+++ /dev/null
@@ -1,160 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.jst.jsf.core">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.jst.jsf.core" id="jsfLibraries" name="org.eclipse.jst.jsf.core.jsfLibraries"/>
-      </appInfo>
-      <documentation>
-         This extension point allows clients to create named sets of jars for use with JavaServer Faces Applications.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="jsfLibrary" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="jsfLibrary">
-      <annotation>
-         <documentation>
-            A named collection of jars that can be copied as a unit to WEB-INF/lib.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  A unique name for the library that will be displayed to an end user.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="isImplementation" type="boolean" use="required">
-            <annotation>
-               <documentation>
-                  Flag indicating that this libary is declared to be a JSF implementation and not just a JSF component library.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="maxVersionSupported">
-            <annotation>
-               <documentation>
-                  Used to declare which JSF specification this library will support.
-               </documentation>
-            </annotation>
-            <simpleType>
-               <restriction base="string">
-                  <enumeration value="v1_1">
-                  </enumeration>
-                  <enumeration value="v1_2">
-                  </enumeration>
-                  <enumeration value="UNKNOWN">
-                  </enumeration>
-               </restriction>
-            </simpleType>
-         </attribute>
-         <attribute name="archiveFilesDelegate" type="string" use="required">
-            <annotation>
-               <documentation>
-                  class that must extend org.eclipse.jst.jsf.core.jsflibraryregistry.JSFLibraryArchiveFilesDelegate to supply a collection of ArchiveFiles for the library
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         JSF M1
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a jsfLibrary extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
-  &lt;extension point=&quot;org.eclipse.jst.jsf.core.jsfLibraries&quot;&gt;
-    &lt;jsfLibrary       
-       name=&quot;MyComponentLib1&quot;
-       isImplementation=&quot;false&quot;
-       maxVersionSupported=&quot;v1_1&quot;
-       archiveFilesDelegate=&quot;com.acme.jsf.libraries.MyComponentLibraryFiles&quot;/&gt;
-  &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         Value of the attribute class must be a fully qualified name of a Java class that extends the abstract class &lt;code&gt;org.eclipse.jst.jsf.core.jsflibraryregistry.JSFLibraryArchiveFilesDelegate&lt;/code&gt; and has a public 0-arg constructor.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         none
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2005 Oracle Corporation.
-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:
-Gerry Kessler - initial API and implementation
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/JSFCorePlugin.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/JSFCorePlugin.java
deleted file mode 100644
index bbb2755..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/JSFCorePlugin.java
+++ /dev/null
@@ -1,214 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * 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:
- *    Gerry Kessler - initial API and implementation
- *    Ian Trimble - JSFLibraryRegistry work
- *******************************************************************************/ 
-package org.eclipse.jst.jsf.core.internal;
-
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.ILog;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.InvalidRegistryObjectException;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.xmi.XMLResource;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistry;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryFactory;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.adapter.MaintainDefaultImplementationAdapter;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryRegistryPackageImpl;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.util.JSFLibraryRegistryResourceFactoryImpl;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.util.JSFLibraryRegistryResourceImpl;
-import org.eclipse.jst.jsf.core.jsflibraryregistry.PluginProvidedJSFLibraryCreationHelper;
-import org.eclipse.wst.common.frameworks.internal.WTPPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * JSF Core plugin.
- * 
- * @author Gerry Kessler - Oracle, Ian Trimble - Oracle
- */
-public class JSFCorePlugin extends WTPPlugin {
-	public static final String PLUGIN_ID = "org.eclipse.jst.jsf.core";//org.eclipse.jst.jsf.core.internal.JSFCorePlugin"; //$NON-NLS-1$
-
-	public static final String FACET_ID = "jst.jsf"; //$NON-NLS-1$
-	
-	// The shared instance.
-	private static JSFCorePlugin plugin;
-
-	// The workspace-relative part of the URL of the JSF Library Registry
-	// persistence store.
-	private static final String JSF_LIBRARY_REGISTRY_URL = ".metadata/.plugins/org.eclipse.jst.jsf.core/JSFLibraryRegistry.xml"; //$NON-NLS-1$
-
-	// The NS URI of the JSF Library Registry's Ecore package. (Must match
-	// setting on package in Ecore model.)
-	private static final String JSF_LIBRARY_REGISTRY_NSURI = "http://www.eclipse.org/webtools/jsf/schema/jsflibraryregistry.xsd"; //$NON-NLS-1$
-
-	public static final String LIB_EXT_PT = "jsfLibraries"; //$NON-NLS-1$
-
-	// The JSF Library Registry EMF resource instance.
-	private JSFLibraryRegistryResourceImpl jsfLibraryRegistryResource = null;
-
-	// The JSF Library Registry instance.
-	private JSFLibraryRegistry jsfLibraryRegistry = null;
-
-	/**
-	 * The constructor.
-	 */
-	public JSFCorePlugin() {
-		plugin = this;
-	}
-
-	/**
-	 * This method is called upon plug-in activation
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		loadJSFLibraryRegistry();
-	}
-
-	/**
-	 * This method is called when the plug-in is stopped
-	 */
-	public void stop(BundleContext context) throws Exception {
-		saveJSFLibraryRegistry();
-		super.stop(context);
-		plugin = null;
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static JSFCorePlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns the JSFLibraryRegistry EMF object.
-	 * 
-	 * @return the JSFLibraryRegistry EMF object.
-	 */
-	public JSFLibraryRegistry getJSFLibraryRegistry() {
-		return jsfLibraryRegistry;
-	}
-
-	/**
-	 * Loads the JSFLibraryRegistry EMF object from plugin-specfic workspace
-	 * settings location. (Called from start(BundleContext).)
-	 */
-	public void loadJSFLibraryRegistry() {
-		try {
-			URL jsfLibRegURL = new URL(Platform.getInstanceLocation().getURL(), JSF_LIBRARY_REGISTRY_URL);
-			URI jsfLibRegURI = URI.createURI(jsfLibRegURL.toString());
-			EPackage.Registry.INSTANCE.put(JSF_LIBRARY_REGISTRY_NSURI, JSFLibraryRegistryPackageImpl.init());
-			JSFLibraryRegistryResourceFactoryImpl resourceFactory = new JSFLibraryRegistryResourceFactoryImpl();
-			jsfLibraryRegistryResource = (JSFLibraryRegistryResourceImpl)resourceFactory.createResource(jsfLibRegURI);
-			try {
-				Map options = new HashMap();
-				//disable notifications during load to avoid changing stored default implementation
-				options.put(XMLResource.OPTION_DISABLE_NOTIFY, Boolean.TRUE);
-				jsfLibraryRegistryResource.load(options);
-				jsfLibraryRegistry = (JSFLibraryRegistry)jsfLibraryRegistryResource.getContents().get(0);
-				loadJSFLibraryExtensions();
-			} catch(IOException ioe) {
-				log(IStatus.INFO, Messages.JSFLibraryRegistry_NoLoadCreatingNew, ioe);
-				jsfLibraryRegistry = JSFLibraryRegistryFactory.eINSTANCE.createJSFLibraryRegistry();
-				jsfLibraryRegistryResource.getContents().add(jsfLibraryRegistry);
-				loadJSFLibraryExtensions();
-			}
-			//add adapter to maintain default implementation
-			if (jsfLibraryRegistry != null) {
-				jsfLibraryRegistry.eAdapters().add(MaintainDefaultImplementationAdapter.getInstance());
-			}
-		} catch(MalformedURLException mue) {
-			log(IStatus.ERROR, Messages.JSFLibraryRegistry_ErrorCreatingURL, mue);
-		}
-	}
-
-	/**
-	 * Creates library registry items from extension points.
-	 */
-	private void loadJSFLibraryExtensions() {
-		try {
-			IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint(JSFCorePlugin.PLUGIN_ID, JSFCorePlugin.LIB_EXT_PT);
-			IExtension[] extensions = point.getExtensions();
-			for (int i=0;i < extensions.length;i++){
-				IExtension ext = extensions[i];
-				for (int j=0;j < ext.getConfigurationElements().length;j++){
-					PluginProvidedJSFLibraryCreationHelper newLibCreator = new PluginProvidedJSFLibraryCreationHelper(ext.getConfigurationElements()[j]);						
-					JSFLibrary newLib = newLibCreator.create();
-					if (newLib != null)
-						jsfLibraryRegistry.addJSFLibrary(newLib);
-				}
-			}
-		} catch (InvalidRegistryObjectException e) {
-			log(IStatus.ERROR, Messages.JSFLibraryRegistry_ErrorLoadingFromExtPt, e);
-		}
-	}
-
-	/**
-	 * Saves the JSFLibraryRegistry EMF object from plugin-specfic workspace
-	 * settings location. (Called from stop(BundleContext).)
-	 */
-	public boolean saveJSFLibraryRegistry() {
-		boolean saved = false;
-		if (jsfLibraryRegistryResource != null) {
-			try {
-				jsfLibraryRegistryResource.save(Collections.EMPTY_MAP);
-				saved = true;
-			} catch(IOException ioe) {
-				log(IStatus.ERROR, Messages.JSFLibraryRegistry_ErrorSaving, ioe);
-			}
-		} else {
-			log(IStatus.ERROR, Messages.JSFLibraryRegistry_ErrorSaving);
-		}
-		return saved;
-	}
-
-	public static void log(final Exception e, final String msg) {
-		final ILog log = getDefault().getLog();
-
-		log.log(new Status(IStatus.ERROR, PLUGIN_ID, IStatus.OK, msg, e));
-	}
-
-	/**
-	 * Logs using the default ILog implementation provided by getLog().
-	 * 
-	 * @param severity Severity (IStatus constant) of log entry
-	 * @param message Human-readable message describing log entry
-	 * @param ex Throwable instance (can be null)
-	 */
-	public static void log(int severity, String message, Throwable ex) {
-		getDefault().getLog().log(new Status(severity, PLUGIN_ID, IStatus.OK, message, ex));
-	}
-
-	/**
-	 * Logs using the default ILog implementation provided by getLog().
-	 * 
-	 * @param severity Severity (IStatus constant) of log entry
-	 * @param message Human-readable message describing log entry
-	 */
-	public static void log(int severity, String message) {
-		log(severity, message, null);
-	}
-
-	public String getPluginID() {
-		return PLUGIN_ID;
-	}
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/Messages.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/Messages.java
deleted file mode 100644
index b775f99..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/Messages.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * 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:
- *    Gerry Kessler - initial API and implementation
- *    Ian Trimble - changed to work correctly with org.eclipse.osgi.util.NLS
- *******************************************************************************/ 
-package org.eclipse.jst.jsf.core.internal;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * String resource handler.
- * 
- * @author Gerry Kessler - Oracle, Ian Trimble - Oracle
- */
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.jst.jsf.core.internal.messages"; //$NON-NLS-1$
-
-	public static String JSFLibraryRegistry_ErrorCreatingURL;
-	public static String JSFLibraryRegistry_NoLoadCreatingNew;
-	public static String JSFLibraryRegistry_ErrorSaving;
-	public static String JSFLibraryRegistry_DEFAULT_IMPL_LABEL;
-	public static String JSFLibraryRegistry_ErrorLoadingFromExtPt;
-
-	public static String JSFFacetInstallDataModelProvider_ValidateServletName;
-	public static String JSFFacetInstallDataModelProvider_ValidateJSFImpl;
-	public static String JSFFacetInstallDataModelProvider_ValidateConfigFileEmpty;
-	public static String JSFFacetInstallDataModelProvider_ValidateConfigFilePath;
-	public static String JSFFacetInstallDataModelProvider_ValidateConfigFileRelative1;
-	public static String JSFFacetInstallDataModelProvider_ValidateConfigFileRelative2;
-	public static String JSFFacetInstallDataModelProvider_ValidateConfigFileXML;
-	public static String JSFFacetInstallDataModelProvider_ValidateConfigFileSlashes;
-
-	public static String ArchiveFileImpl_CannotCopyFile;
-	public static String ArchiveFileImpl_CannotCloseFile;
-	public static String ArchiveFileImpl_CannotLocatePluginRelativeFile;
-
-	public static String PluginProvidedJSFLibraryCreationHelper_ErrorCreating;
-	public static String PluginProvidedJSFLibraryCreationHelper_ErrorMultipleDefinition;
-
-	public static String JSFUtils_ErrorCreatingConfigFile;
-	public static String JSFUtils_ErrorClosingConfigFile;
-
-	public static String JSFAppConfigManager_InvalidWriteAccess;
-
-	static {
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentmodel/annotation/CMAnnotation.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentmodel/annotation/CMAnnotation.java
deleted file mode 100644
index bec4cfd..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentmodel/annotation/CMAnnotation.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright (c) 2002, 2006 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *   IBM - Initial API and implementation
- *   Jens Lukowski/Innoopract - initial renaming/restructuring
- *   Gerry Kessler/Oracle - code borrowed and repurposed for JSF subproject
- * 
- */
-package org.eclipse.jst.jsf.core.internal.contentmodel.annotation;
-
-import java.util.ArrayList;
-import java.util.Hashtable;
-import java.util.List;
-
-/**
- * Content model annotation.   A property with a set of values.
- */
-public abstract class CMAnnotation {
-	private String _name;	
-	protected Hashtable props = new Hashtable(3);
-
-	public CMAnnotation(String name) {
-		setName(name.trim());
-	}
-
-	private void setName(String name) {
-		_name = name;
-	}
-
-	public String getName() {
-		return _name;
-	}
-
-	public void setProperty(String propertyName, String propertyValue) {
-		CMAnnotationProperty prop = getAnnotationProperty(propertyName);
-		if (prop == null){
-			prop = new CMAnnotationProperty(propertyName, propertyValue);
-			props.put(propertyName, prop);
-		}
-		else {
-			prop.setValue(propertyValue);
-		}		
-	}
-
-	public CMAnnotationProperty getAnnotationProperty(String propertyName){
-		if (props.containsKey(propertyName))
-			return (CMAnnotationProperty)props.get(propertyName);
-		return null;
-	}
-	
-	class CMAnnotationProperty {
-		private String propName;
-		private List propValues = new ArrayList(2);
-		
-		public CMAnnotationProperty(String propertyName){
-			propName = propertyName;
-		}
-
-		public CMAnnotationProperty(String propertyName, String propertyValue){
-			propName = propertyName;
-			propValues.add(propertyValue);
-		}
-		
-		public void setValue(String propertyValue) {
-			propValues.add(propertyValue);
-		}
-		
-		public String getPropertyName(){
-			return propName;
-		}
-		
-		public List getPropertyValues(){
-			return propValues;
-		}
-	}
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentmodel/annotation/CMAnnotationAdvisor.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentmodel/annotation/CMAnnotationAdvisor.java
deleted file mode 100644
index 9853bc7..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentmodel/annotation/CMAnnotationAdvisor.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * 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:
- *    Gerry Kessler/Oracle - initial API and implementation
- *    
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.core.internal.contentmodel.annotation;
-
-import org.eclipse.jst.jsf.core.internal.provisional.contentmodel.annotation.ICMAnnotationSourceFileInfo;
-
-/**
- * An internal class implementing ICMAnnotationAdvisor that allows us to decouple the parser
- * from the internal data model (CMAnnotationMap).
- * 
- * @author Gerry Kessler - Oracle
- *
- */
-public final class CMAnnotationAdvisor implements ICMAnnotationAdvisor {
-
-	private CMAnnotationMap map;
-	private ICMAnnotationSourceFileInfo fileInfo;
-
-	public CMAnnotationAdvisor(CMAnnotationMap map, ICMAnnotationSourceFileInfo fileInfo) {
-		this.map = map;
-		this.fileInfo = fileInfo;
-		setCaseSensitive(true);// default to case sensitive
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.jsf.core.internal.contentmodel.annotation.ICMAnnotationAdvisor#addElementAnnotation(java.lang.String, java.lang.String, java.lang.String)
-	 */
-	public void addElementAnnotation(String elementName, String propertyName, String propertyValue) {
-
-		CMElementAnnotation elem = getElementAnnotation(getStringValueForCaseSensitivity(elementName));
-		elem.setProperty(getStringValueForCaseSensitivity(propertyName), propertyValue);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.jsf.core.internal.contentmodel.annotation.ICMAnnotationAdvisor#addAttributeAnnotation(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
-	 */
-	public void addAttributeAnnotation(String elementName, String attributeName,
-			String propertyName, String propertyValue) {
-
-		CMElementAnnotation elem = getElementAnnotation(getStringValueForCaseSensitivity(elementName));
-		CMAttributeAnnotation attr = getAttributeAnnotation(elem,
-				getStringValueForCaseSensitivity(attributeName));
-		attr.setProperty(getStringValueForCaseSensitivity(propertyName), propertyValue);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.jsf.core.internal.contentmodel.annotation.ICMAnnotationAdvisor#getFileInfo()
-	 */
-	public ICMAnnotationSourceFileInfo getFileInfo() {
-		return fileInfo;
-	}
-
-	/**
-	 * This implementation is case sensitive by default
-	 * 
-	 * @see org.eclipse.jst.jsf.core.internal.contentmodel.annotation.ICMAnnotationAdvisor#setCaseSensitive(boolean)
-	 */
-	public void setCaseSensitive(boolean val) {
-		map.setCaseSensitive(val);
-	}
-
-	private CMElementAnnotation getElementAnnotation(String elementName) {
-		CMElementAnnotation elem = map.getElementAnnotation(elementName);
-		if (elem == null) {
-			elem = new CMElementAnnotation(elementName);
-			map.addCMElementAnnotation(elem);
-		}
-		return elem;
-	}
-
-	private CMAttributeAnnotation getAttributeAnnotation(CMElementAnnotation elem,
-			String attributeName) {
-		// attrAnnotations map will always be initialized so do not need to check for null
-		CMAttributeAnnotation attr = (CMAttributeAnnotation) elem.getAttributeAnnotations().get(
-				attributeName);
-		if (attr == null) {
-			attr = new CMAttributeAnnotation(elem.getName(), attributeName);
-			elem.addCMAttributeAnnotation(attr);
-		}
-		return attr;
-	}
-
-	private String getStringValueForCaseSensitivity(String val) {
-		return map.getStringValueForCaseSensitivity(val);
-	}
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentmodel/annotation/CMAnnotationFileInfo.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentmodel/annotation/CMAnnotationFileInfo.java
deleted file mode 100644
index 32fd481..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentmodel/annotation/CMAnnotationFileInfo.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *   IBM - Initial API and implementation
- *   Jens Lukowski/Innoopract - initial renaming/restructuring
- *   Gerry Kessler/Oracle - code borrowed and repurposed for JSF subproject
- * 
- */
-package org.eclipse.jst.jsf.core.internal.contentmodel.annotation;
-
-import org.eclipse.jst.jsf.core.internal.provisional.contentmodel.annotation.ICMAnnotationSourceFileInfo;
-
-/**
- * Contains information about annotation files.  
- */
-public final class CMAnnotationFileInfo implements ICMAnnotationSourceFileInfo{
-	private String annotationFileLocation;
-	private String annotationFileLocatorClassname;
-	private String bundleId;
-	private String parserClassname;
-
-	public CMAnnotationFileInfo(String annotationFileLocation, String bundleId, String parserClassname, String annotationFileLocatorClassname) {
-		this.annotationFileLocation = annotationFileLocation.trim();
-		this.bundleId = bundleId.trim();
-		this.parserClassname = parserClassname;
-		this.annotationFileLocatorClassname = annotationFileLocatorClassname;
-	}
-
-	/**
-	 * Get the location of the annotation file as originally specified.
-	 * 
-	 * @return String
-	 */
-	public String getAnnotationFileLocation() {
-		return annotationFileLocation;
-	}
-	
-	/**
-	 * Get the annotation file locator classname that must implement ICMAnnotationSourceFileLocator.
-	 * Can return null or empty string.   Caller should provide default.
-	 * 
-	 * @return String
-	 */
-	public String getAnnotationFileLocatorClassname() {
-		return annotationFileLocatorClassname != null ? annotationFileLocatorClassname.trim() : null;
-	}
-
-	/**
-	 * Get the bundle id of the plugin where the annotation file is located.
-	 * 
-	 * @return String
-	 */
-	public String getBundleId() {
-		return bundleId;
-	}
-	
-	/**
-	 * Return classname for the annotation file parser (ICMAnnotationFileParser) to use.
-	 * Can return null or empty string.   If it does, the caller should provide a default.
-	 * 
-	 * @return String
-	 */
-	public String getParserClassName(){
-		return parserClassname != null ? parserClassname.trim() : null;
-	}
-
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentmodel/annotation/CMAnnotationFileParser.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentmodel/annotation/CMAnnotationFileParser.java
deleted file mode 100644
index b2aed03..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentmodel/annotation/CMAnnotationFileParser.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- * Copyright (c) 2002, 2006 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *   IBM - Initial API and implementation
- *   Jens Lukowski/Innoopract - initial renaming/restructuring
- * 	 Gerry Kessler/Oracle - code borrowed and repurposed for JSF subproject
- */
-package org.eclipse.jst.jsf.core.internal.contentmodel.annotation;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.SAXParserFactory;
-
-import org.eclipse.jst.jsf.core.internal.provisional.contentmodel.annotation.CMAnnotationSourceFileLocator;
-import org.eclipse.jst.jsf.core.internal.provisional.contentmodel.annotation.ICMAnnotationFileParser;
-import org.xml.sax.Attributes;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * Default implementation of ICMAnnotationFileParser that will parse xml files conforming to 
- * http://org.eclipse.jst.jsf.core/grammarAnnotationSchema.   
- * 
- * @author Gerry Kessler - Oracle
- * 
- * @see http://org.eclipse.jst.jsf.core/grammarAnnotationSchema
- */
-public class CMAnnotationFileParser implements ICMAnnotationFileParser {
-	
-	public static final String TAG_ID_ANNOTATIONS = "grammar-annotations"; //$NON-NLS-1$
-	public static final String TAG_ID_ELEMENT = "cm-element"; //$NON-NLS-1$
-	public static final String TAG_ID_ATTRIBUTE = "cm-attribute"; //$NON-NLS-1$
-	public static final String TAG_ID_PROPERTY = "property"; //$NON-NLS-1$
-	public static final String TAG_ID_PROPERTY_VALUE = "value"; //$NON-NLS-1$
-
-	/**
-	 * This method is called to parse an annotation file and store the contents
-	 * into an annotationMap via the advisor
-	 */
-	private void parse(ICMAnnotationAdvisor advisor, InputStream input) throws Exception {
-		ClassLoader prevClassLoader = Thread.currentThread().getContextClassLoader();
-		try {
-			SAXParserFactory factory = SAXParserFactory.newInstance();
-			factory.setNamespaceAware(true);
-			SAXParser parser = factory.newSAXParser();
-			parser.parse(new InputSource(input), new CMAnnotationMapContentHandler(advisor));
-		} finally {
-			Thread.currentThread().setContextClassLoader(prevClassLoader);
-			if (input != null){
-				try {
-					input.close();
-				} catch (IOException e) {
-				}
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.jsf.core.internal.provisional.contentmodel.annotation.ICMAnnotationFileParser#parse(org.eclipse.jst.jsf.core.internal.contentmodel.annotation.ICMAnnotationAdvisor, org.eclipse.jst.jsf.core.internal.provisional.contentmodel.annotation.CMAnnotationSourceFileLocator)
-	 */
-	public void parse(ICMAnnotationAdvisor advisor, CMAnnotationSourceFileLocator locator)
-			throws Exception {
-		
-		InputStream inputStream = locator.getAnnotationSourceInputStream();
-		parse(advisor, inputStream);
-	}
-
-	protected class CMAnnotationMapContentHandler extends DefaultHandler {
-		private ICMAnnotationAdvisor advisor;
-		private String elementName;
-		private String attributeName;
-		private String currentPropertyName;
-		private String currentPropertyValue;
-		private StringBuffer propertyValueBuffer;
-
-		private boolean isInCMAttribute = false;
-
-		private boolean doCaptureNodeText;
-
-		public CMAnnotationMapContentHandler(ICMAnnotationAdvisor advisor) {
-			this.advisor = advisor;
-		}
-
-		public void startElement(String uri, String localName, String qName, Attributes attributes)
-				throws SAXException {
-			if (localName.equals(TAG_ID_ANNOTATIONS)) {
-				int attributesLength = attributes.getLength();
-				for (int i = 0; i < attributesLength; i++) {
-					String attributeName = attributes.getLocalName(i);
-					String attributeValue = attributes.getValue(i);
-					if (attributeName.equals("caseSensitive")) { //$NON-NLS-1$					
-						if (attributeValue.trim().equals("false")) {//$NON-NLS-1$
-							advisor.setCaseSensitive(false);
-						}
-					}
-				}
-			} else if (localName.equals(TAG_ID_ELEMENT)) {
-				isInCMAttribute = false;
-				elementName = attributes.getValue("name"); //$NON-NLS-1$
-			} else if (localName.equals(TAG_ID_ATTRIBUTE)) {
-				isInCMAttribute = true;
-				attributeName = attributes.getValue("name"); //$NON-NLS-1$
-			} else if (localName.equals(TAG_ID_PROPERTY)) {
-				currentPropertyName = attributes.getValue("name"); //$NON-NLS-1$					
-			} else if (localName.equals(TAG_ID_PROPERTY_VALUE)) {
-				propertyValueBuffer = new StringBuffer();
-				doCaptureNodeText = true;
-			}
-		}
-
-		public void endElement(String uri, String localName, String qName) throws SAXException {
-			if (currentPropertyName != null && localName.equals(TAG_ID_PROPERTY_VALUE)) {
-				doCaptureNodeText = false;
-				currentPropertyValue = propertyValueBuffer.toString();
-				if (currentPropertyValue != null) {					
-					if (isInCMAttribute)
-						advisor.addAttributeAnnotation(elementName, attributeName,
-								currentPropertyName, currentPropertyValue);
-					else
-						advisor.addElementAnnotation(elementName, currentPropertyName,
-								currentPropertyValue);
-				}
-			}
-
-			if (localName.equals(TAG_ID_ELEMENT)) {
-				elementName = null;
-			} else if (localName.equals(TAG_ID_ATTRIBUTE)) {
-				isInCMAttribute = false;
-				attributeName = null;
-			} else if (localName.equals(TAG_ID_PROPERTY)) {
-				currentPropertyName = null;
-			} else if (localName.equals(TAG_ID_PROPERTY_VALUE)) {
-				currentPropertyValue = null;
-			}
-		}
-
-		public void characters(char[] ch, int start, int length) {
-			if (doCaptureNodeText)
-				propertyValueBuffer.append(ch, start, length);
-		}
-
-	}
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentmodel/annotation/CMAnnotationFileParserHelper.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentmodel/annotation/CMAnnotationFileParserHelper.java
deleted file mode 100644
index 2c69feb..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentmodel/annotation/CMAnnotationFileParserHelper.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * 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:
- *    Gerry Kessler/Oracle - initial API and implementation
- *    
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.core.internal.contentmodel.annotation;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.core.internal.provisional.contentmodel.annotation.CMAnnotationSourceFileLocator;
-import org.eclipse.jst.jsf.core.internal.provisional.contentmodel.annotation.ICMAnnotationFileParser;
-import org.osgi.framework.Bundle;
-
-public class CMAnnotationFileParserHelper {
-	private CMAnnotationFileInfo fileInfo;
-	private static final String DEFAULT_PARSER_NAME = "org.eclipse.jst.jsf.core.internal.contentmodel.annotation.CMAnnotationFileParser";
-	private static final String DEFAULT_LOCATOR_NAME = "org.eclipse.jst.jsf.core.internal.contentmodel.annotation.CMPluginRelativeSourceFileLocator";
-	
-	public CMAnnotationFileParserHelper(CMAnnotationFileInfo fileInfo) {
-		super();
-		this.fileInfo = fileInfo;
-	}
-	
-	public void parse(CMAnnotationMap map){
-		ICMAnnotationFileParser parser = getParser();
-		ICMAnnotationAdvisor advisor = new CMAnnotationAdvisor(map, fileInfo);
-		CMAnnotationSourceFileLocator locator = getLocator();
-		map.setLocator(locator);
-		try {
-			parser.parse(advisor, locator);
-		} catch (Exception e) {
-			JSFCorePlugin.log(e, "Unable to parse: " + fileInfo.getAnnotationFileLocation() + " with " + fileInfo.getAnnotationFileLocatorClassname());
-		}
-	}
-
-	private ICMAnnotationFileParser getParser() {
-		String parserClassName = fileInfo.getParserClassName();
-		Object obj = null;
-		if (parserClassName != null && !parserClassName.equals("")){
-			obj = getObjectForClassname(fileInfo.getBundleId(), parserClassName);
-		}
-		else {//return default			
-			obj = getObjectForClassname(JSFCorePlugin.PLUGIN_ID, DEFAULT_PARSER_NAME );
-		}
-		if (obj != null && obj instanceof ICMAnnotationFileParser)
-			return (ICMAnnotationFileParser)obj;
-		
-		return null;
-	}
-	
-	private CMAnnotationSourceFileLocator getLocator() {
-		String locatorClassName = fileInfo.getAnnotationFileLocatorClassname();
-		Object obj = null;
-		if (locatorClassName != null && !locatorClassName.equals("")){
-			obj = getObjectForClassname(fileInfo.getBundleId(), locatorClassName);
-		}
-		else {//return default			
-			obj = getObjectForClassname(JSFCorePlugin.PLUGIN_ID, DEFAULT_LOCATOR_NAME);
-		}
-		if (obj != null && obj instanceof CMAnnotationSourceFileLocator){
-			CMAnnotationSourceFileLocator locator = (CMAnnotationSourceFileLocator)obj;
-			((CMAnnotationSourceFileLocator) locator).setFileInfo(fileInfo);
-			return locator;
-		}
-		return null;
-	}
-	
-	private static Object getObjectForClassname(String bundleId, String providerClassName){
-		try {
-			Bundle bundle =Platform.getBundle(bundleId);
-			if (bundle == null){
-				JSFCorePlugin.log(IStatus.ERROR, getMsg( bundleId, providerClassName, "Unable to find bundleId: "));
-				return null;
-			}
-			Class klass = bundle.loadClass(providerClassName);
-			if (klass != null){
-				return klass.newInstance();					
-			}
-			return null;
-		} catch (ClassNotFoundException e) {
-			JSFCorePlugin.log(e, getMsg(bundleId, providerClassName, "ClassNotFoundException: "));
-		} catch (InstantiationException e) {
-			JSFCorePlugin.log(e, getMsg(bundleId, providerClassName,"InstantiationException: "));
-		} catch (IllegalAccessException e) {
-			JSFCorePlugin.log(e, getMsg(bundleId, providerClassName,"IllegalAccessException: "));
-		}
-		return null;
-	}
-
-	private static String getMsg(String bundleId, String providerClassName, String prefix) {
-		StringBuffer buf = new StringBuffer(prefix);
-		buf.append(providerClassName).append(" in ").append(bundleId);
-		return buf.toString();
-	}
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentmodel/annotation/CMAnnotationFileRegistry.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentmodel/annotation/CMAnnotationFileRegistry.java
deleted file mode 100644
index 6fb72ea..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentmodel/annotation/CMAnnotationFileRegistry.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- * Copyright (c) 2002, 2006 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *   IBM - Initial API and implementation
- *   Jens Lukowski/Innoopract - initial renaming/restructuring
- * 	 Gerry Kessler/Oracle - code borrowed and repurposed for JSF subproject
- */
-package org.eclipse.jst.jsf.core.internal.contentmodel.annotation;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.core.internal.provisional.contentmodel.annotation.ICMAnnotationSourceFileInfo;
-
-/**
- * This internal class is used to associate one or more annotation files with a grammar
- * file mapped by a key (uri).
- * 
- * Using the CMAnnotationFileRegistryReader, extenders of <code>org.eclipse.jst.jsf.core.annotationFiles</code> are loaded
- * into the annotationFilesMap keyed by uri.   There can be multiple annotationFiles mapped to the same uri.
- * 
- * This registry should only be accessed by clients using the <code>org.eclipse.jst.jsf.core.internal.provisional.contentmodel.annotation.CMAnnotationHelper</code>.
- * Only when the system attempts to access an annotation for a content model, will the file be parsed and cached.
- * 
- * When queried, CMAnnotationPropertyValue objects are returned for each named property found in each annotation file for a particular uri.
- * 
- * @see org.eclipse.jst.jsf.core.annotationFiles extension-point
- * @see CMAnnotationFileRegistryReader
- * @see CMAnnotationMap
- * @see 
- * @see org.eclipse.jst.jsf.core.internal.provisional.contentmodel.annotation.ICMAnnotationSourceFileInfo
- */
-public final class CMAnnotationFileRegistry {
-	//all annotation files registered using "org.eclipse.jst.jsf.core.annotationFiles" ext-pt. and keyed by uri.  
-	private Map annotationFilesMap 	= new HashMap(1);
-	//will return list of CMAnnotationMap (parsed annotation files) objects keyed by uri
-	private Map parsedFilesMap 		= new HashMap(1);
-
-	private static CMAnnotationFileRegistry reg;
-	
-	public static CMAnnotationFileRegistry getInstance() {
-		if (reg == null){
-			reg = new CMAnnotationFileRegistry();
-		}
-		return reg;
-	}
-	
-	//constructor reads the annotationFile registry and populates the annotationFilesMap
-	private CMAnnotationFileRegistry() {
-		new CMAnnotationFileRegistryReader(this).readRegistry();
-	}
-	
-	private synchronized List getAnnotationFilesInfos(String uri) {
-		List theList = (List) annotationFilesMap.get(uri);
-		return theList != null ? theList : new ArrayList();
-	}
-		
-	/**
-	 * For use by registry reader only
-	 * @param uri
-	 * @param CMAnnotationFileInfo
-	 */
-	public synchronized void addAnnotationFileInfo(String uri, ICMAnnotationSourceFileInfo fileInfo) {
-		List fileInfos = (List) annotationFilesMap.get(uri);
-		if (fileInfos == null) {
-			fileInfos = new ArrayList();
-			annotationFilesMap.put(uri, fileInfos);
-		}
-		fileInfos.add(fileInfo);
-	}	
-	
-	private synchronized void addParsedFileToMap(String uri, CMAnnotationMap map) {
-		List maps = (List) parsedFilesMap.get(uri);
-		if (maps == null) {
-			maps = new ArrayList();
-			parsedFilesMap.put(uri, maps);
-		}
-		maps.add(map);
-	}
-
-	/**
-	 * Return list of CMAnnotationMaps for a given uri.  
-	 * By calling this method, unparsed annotation files for the given 
-	 * uri will be parsed.
-	 * 
-	 * @param uri
-	 * @return List of CMAnnotationMaps
-	 */
-	public synchronized List getAnnotationMaps(String uri) {
-		List list = (List)parsedFilesMap.get(uri);
-		if (list == null){
-			loadAnnotationsForGrammar(uri);
-			list = (List)parsedFilesMap.get(uri);
-		}
-		return list;
-	}
-	
-
-	/**
-	 * Does this bundle define an annotationFile extension for the given uri.
-	 * 
-	 * @param bundleId
-	 * @param uri
-	 * @return boolean
-	 */
-	public boolean hasAnnotations(String bundleId, String uri) {
-		List maps = (List)annotationFilesMap.get(uri);
-		if (maps == null || maps.size() ==0)
-			return false;
-		
-		for (int i=0;i<maps.size();i++){
-			if (((ICMAnnotationSourceFileInfo)maps.get(i)).getBundleId().equals(bundleId))
-				return true;
-		}
-		return false;
-	}
-	/**
-	 * Are there any annotationFile extensions defined for the given uri.
-	 * @param uri
-	 * @return boolean
-	 */
-	public boolean hasAnnotations(String uri){
-		if (annotationFilesMap.get(uri) != null)
-			return true;
-		return false;
-	}
-
-	private boolean areAnnotationsParsed(String uri) {
-		if (hasAnnotations(uri)){
-			if (parsedFilesMap.get(uri) != null)
-				return true;
-		}
-		return false;
-	}
-	
-	private void loadAnnotationsForGrammar(String uri) {
-		if (areAnnotationsParsed(uri))
-			return;
-		
-		List annotationFiles = getAnnotationFilesInfos(uri);
-		for (Iterator i = annotationFiles.iterator(); i.hasNext();) {
-			try {					
-				CMAnnotationFileInfo annotationFileInfo = (CMAnnotationFileInfo) i.next();
-				CMAnnotationMap map = new CMAnnotationMap(annotationFileInfo);
-				CMAnnotationFileParserHelper parserHelper = new CMAnnotationFileParserHelper(annotationFileInfo);
-				parserHelper.parse(map);
-				addParsedFileToMap(uri, map);
-			}
-			catch (Exception e) {
-				JSFCorePlugin.log(e, "Error loading grammar for: " + uri);				
-			}
-		}		
-	}
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentmodel/annotation/CMAnnotationFileRegistryReader.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentmodel/annotation/CMAnnotationFileRegistryReader.java
deleted file mode 100644
index 801d15a..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentmodel/annotation/CMAnnotationFileRegistryReader.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright (c) 2002, 2006 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *   IBM - Initial API and implementation
- *   Jens Lukowski/Innoopract - initial renaming/restructuring
- *   Gerry Kessler/Oracle - code borrowed and repurposed for JSF subproject
- */
-package org.eclipse.jst.jsf.core.internal.contentmodel.annotation;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-
-
-/**
- * This class reads the plugin manifests and adds each specified grammar
- * annotation file to the CMAnnotationsRegistry.
- * 
- * @see CMAnnotationFileRegistry
- * @see org.eclipse.jst.jsf.core.annotationFiles extension-point
- */
-public class CMAnnotationFileRegistryReader {
-	protected static final String EXTENSION_POINT_ID = "annotationFiles"; //$NON-NLS-1$
-	protected static final String TAG_NAME = "annotationFile"; //$NON-NLS-1$
-	protected static final String ATT_URI = "uri"; //$NON-NLS-1$
-	protected static final String ATT_LOCATION = "location"; //$NON-NLS-1$
-	protected static final String ATT_LOCATOR = "locator"; //$NON-NLS-1$
-	protected static final String ATT_PARSER = "parser"; //$NON-NLS-1$
-
-	private CMAnnotationFileRegistry annotationFileRegistry;
-
-	public CMAnnotationFileRegistryReader(CMAnnotationFileRegistry annotationFileRegistry) {
-		this.annotationFileRegistry = annotationFileRegistry;
-	}
-
-	/**
-	 * read from plugin registry and parse it.
-	 */
-	public void readRegistry() {
-		IExtensionRegistry extensionRegistry = Platform.getExtensionRegistry();
-		String pluginId = "org.eclipse.jst.jsf.core"; //$NON-NLS-1$
-		IExtensionPoint point = extensionRegistry.getExtensionPoint(pluginId, EXTENSION_POINT_ID);
-		if (point != null) {
-			IConfigurationElement[] elements = point.getConfigurationElements();
-			for (int i = 0; i < elements.length; i++) {
-				readElement(elements[i]);
-			}
-		}
-	}
-
-	protected void readElement(IConfigurationElement element) {
-		if (element.getName().equals(TAG_NAME)) {
-			String uri = element.getAttribute(ATT_URI);
-			String location = element.getAttribute(ATT_LOCATION);
-			String locator = element.getAttribute(ATT_LOCATOR);
-			String parser = element.getAttribute(ATT_PARSER);
-			String bundleId = null;
-			if (uri != null && location != null) {
-				try {
-					bundleId = element.getNamespaceIdentifier();
-					CMAnnotationFileInfo fileInfo = new CMAnnotationFileInfo(location, bundleId, parser, locator);
-					annotationFileRegistry.addAnnotationFileInfo(uri, fileInfo);
-				}
-				catch (Exception e) {
-					JSFCorePlugin.log(e, "Problem adding annotation file: bundle = " + bundleId + ", uri = " +uri + ", location = " + location); //$NON-NLS-1$
-				}
-			}
-		}
-	}
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentmodel/annotation/CMAnnotationMap.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentmodel/annotation/CMAnnotationMap.java
deleted file mode 100644
index a332b44..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentmodel/annotation/CMAnnotationMap.java
+++ /dev/null
@@ -1,301 +0,0 @@
-/*
- * Copyright (c) 2002 2006 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *   IBM - Initial API and implementation
- *   Jens Lukowski/Innoopract - initial renaming/restructuring
- *   Oracle - code borrowed and repurposed for JSF subproject
- */
-package org.eclipse.jst.jsf.core.internal.contentmodel.annotation;
-
-import java.io.IOException;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-import java.util.Vector;
-
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.core.internal.provisional.contentmodel.annotation.CMAnnotationPropertyValue;
-import org.eclipse.jst.jsf.core.internal.provisional.contentmodel.annotation.CMAnnotationSourceFileLocator;
-import org.eclipse.jst.jsf.core.internal.provisional.contentmodel.annotation.ICMAnnotationSourceFileInfo;
-
-
-/**
- * Internal data model of content model annotations.   
- * The content model is assumed to be xml-based (elements and attributes).
- * 
- * Map of annotations for content model elements keyed by tag element name.
- * Attribute annotations are stored in a map inside the element annotation.
- * 
- *  @see <code>org.eclipse.jst.jsf.core.internal.contentmodel.annotation.CMElementAnnotation</code>
- *  @see <code>org.eclipse.jst.jsf.core.internal.contentmodel.annotation.CMAttributeAnnotation</code>
- * 
- */
-public class CMAnnotationMap {
-	//map of tag-element annotations keyed by tag name
-	protected Map cmNodeToAnnotationMap = new Hashtable();
-	protected boolean isCaseSensitive = true;
-	protected ICMAnnotationSourceFileInfo fileInfo;
-	private ResourceBundle resourceBundle;
-	private CMAnnotationSourceFileLocator locator;
-
-	public CMAnnotationMap(ICMAnnotationSourceFileInfo fileInfo) {
-		this.fileInfo = fileInfo;
-	}
-
-	/**
-	 * Set whether or not the model should be queried in a case sensitive manner
-	 * 
-	 * @param boolean
-	 */
-	public void setCaseSensitive(boolean isCaseSensitive) {
-		this.isCaseSensitive = isCaseSensitive;
-	}
-
-	/**
-	 * Set the ICMAnnotationSourceFileLocator used to find and load the annotation file
-	 * @param locator
-	 */
-	public void setLocator(CMAnnotationSourceFileLocator locator){
-		this.locator = locator;
-	}
-	
-	/**
-	 * Return  the annotation for the specified element name.
-	 * Will be null if no annotation is found.
-	 * 
-	 * @param elementName
-	 * @return CMElementAnnotation
-	 */
-	public CMElementAnnotation getElementAnnotation(String elementName) {
-		CMElementAnnotation elem = null;
-		if (cmNodeToAnnotationMap.containsKey(elementName)){
-			List annos = (List)cmNodeToAnnotationMap.get(elementName);
-			Iterator it = annos.iterator();
-			while(it.hasNext()){
-				elem = (CMElementAnnotation)it.next();
-				if (elem.getName() == elementName)
-					break;
-			}
-		}		
-		return elem;
-	}
-	
-	/**
-	 * Annotation advisor will call this method when adding an annotation to a map.
-	 * 
-	 * @param annotation
-	 */
-	public void addCMElementAnnotation(CMElementAnnotation annotation) {
-		addAnnotationForCMNodeName(annotation.getName(), annotation);
-	}
-
-	private void addAnnotationForCMNodeName(String cmNodeName, CMElementAnnotation annotation) {
-		List list = (List) cmNodeToAnnotationMap.get(cmNodeName);
-		if (list == null) {
-			list = new Vector();
-			cmNodeToAnnotationMap.put(cmNodeName, list);
-		}
-		list.add(annotation);
-	}
-
-	/**
-	 * Returns list of NLS fixed String values for a given property name of an element.
-	 * 
-	 * @param elementName
-	 * @param propertyName
-	 * @return List of Strings - can be null
-	 */
-	public List getCMElementPropertyValues(String elementName, String propertyName) {
-		List result = null;
-		String key = getStringValueForCaseSensitivity(elementName);
-		String propName = getStringValueForCaseSensitivity(propertyName);
-		List annotationList = (List) cmNodeToAnnotationMap.get(key);
-		if (annotationList != null) {
-			for (Iterator i = annotationList.iterator(); i.hasNext();) {
-				CMAnnotation annotation = (CMAnnotation) i.next();
-				if (annotation.getAnnotationProperty(propName)!= null) {
-					result = getNLSPropertyValues(annotation, propName);
-					break;
-				}
-			}
-		}
-		return result;
-	}
-	
-	/**
-	 * Returns the first NLS fixed String value for a given property name of an element.
-	 * Caller should use <code>getCMElementPropertyValues</code> if multiple values can be returned for a
-	 * property name.
-	 * 
-	 * @param elementName
-	 * @param propertyName
-	 * @return String - can be null
-	 */
-	public String getCMElementProperty(String elementName, String propertyName) {
-		String result = null;
-		List vals = getCMElementPropertyValues(elementName, propertyName);
-		if (vals != null){
-			if (vals.get(0) != null)
-				result = vals.get(0).toString();
-		}
-		return result;
-	}
-	
-	/**
-	 * Returns list of NLS fixed String values for a given property name of an attribute of a particular element.
-	 * 
-	 * @param elementName
-	 * @param propertyName
-	 * @return List of Strings - can be null
-	 */
-	public List getCMAttributePropertyValues(String elementName, String attributeName, String propertyName) {
-		List result = null;
-		String key = getStringValueForCaseSensitivity(elementName);
-		String attrName = getStringValueForCaseSensitivity(attributeName);
-		String propName = getStringValueForCaseSensitivity(propertyName);		
-		List annotationListForElement = (List) cmNodeToAnnotationMap.get(key);
-		if (annotationListForElement != null) {
-			CMAttributeAnnotation annotationForAttr = getCMAttributeAnnotation(annotationListForElement, attrName);
-			if (annotationForAttr != null){
-				if (annotationForAttr.getAnnotationProperty(propName) != null){
-					List propVals = getNLSPropertyValues(annotationForAttr, propName);
-					if (propVals != null)
-						result = propVals;
-				}
-			}
-		}
-		return result;
-	}
-		
-	/**
-	 * Gets the first property value for the specified element and attribute.
-	 * 
-	 * @param elementName
-	 * @param attributeName
-	 * @param propertyName
-	 * @return String - can be null
-	 */
-	public String getCMAttributeProperty(String elementName, String attributeName, String propertyName) {
-		String result = null;
-		List propVals = getCMAttributePropertyValues(elementName, attributeName, propertyName);
-		if (propVals != null){
-			result = (String)propVals.get(0);
-		}
-		return result;
-	}
-
-	/**
-	 * Return a <code>CMAnnotationPropertyValue</code> object for the given element, attribute, and property name.
-	 * 
-	 * @param elementName
-	 * @param attributeName
-	 * @param propertyName
-	 * @return CMAnnotationPropertyValue - can be null
-	 */
-	public CMAnnotationPropertyValue getCMAttributePropertyValue(String elementName, String attributeName, String propertyName) {
-		CMAnnotationPropertyValue result = null;
-		List val = getCMAttributePropertyValues(elementName, attributeName, propertyName);
-		if (val != null){
-			result = new CMAnnotationPropertyValue(fileInfo, val);
-		}
-		return result;
-	}
-	
-	/**
-	 * Return a <code>CMAnnotationPropertyValue</code> object for the given element and property name.
-	 * 
-	 * @param elementName
-	 * @param propertyName
-	 * @return CMAnnotationPropertyValue - can be null
-	 */
-	public CMAnnotationPropertyValue getCMElementPropertyValue(String elementName, String propertyName) {
-		CMAnnotationPropertyValue result = null;
-		List val = getCMElementPropertyValues(elementName, propertyName);
-		if (val != null){
-			result = new CMAnnotationPropertyValue( fileInfo, val);
-		}
-		return result;
-	}
-	
-	private CMAttributeAnnotation getCMAttributeAnnotation(List annotationListForElement, String attributeName) {
-		for (int i=0;i < annotationListForElement.size();i++){
-			CMElementAnnotation annotationForElement = (CMElementAnnotation)annotationListForElement.get(i);
-			if (annotationForElement != null){
-				Map attributeAnnotations = annotationForElement.getAttributeAnnotations();
-				if (attributeAnnotations != null){
-					CMAttributeAnnotation attributeAnnotation = (CMAttributeAnnotation)attributeAnnotations.get(attributeName);
-					if (attributeAnnotation != null){
-						return attributeAnnotation;
-					}
-				}
-			}
-		}
-		return null ;
-	}
-
-	private List getNLSPropertyValues(CMAnnotation annotation, String propertyName){
-		List result =  annotation.getAnnotationProperty(propertyName).getPropertyValues();
-		for (int i=0;i<result.size();i++){
-			String val = (String)result.get(i);
-			if (val.startsWith("%") && !val.startsWith("%%")){
-				val = getNLSPropertyValue(val);
-				result.set(i, val);
-				//also update property annotation to avoid needing to go thru bundle next time
-				annotation.getAnnotationProperty(propertyName).getPropertyValues().set(i, val);
-			}
-		}
-		return result;
-	}
-	
-	//will return null if there is an IOException with ResourceBundle
-	private String getNLSPropertyValue(String val){
-		String NOT_FOUND = "(key not found)";
-		try{
-			ResourceBundle resourceBundle = getResourceBundle();		
-			if (resourceBundle != null){
-				String replVal = resourceBundle.getString(val.substring(1));
-				return replVal;
-			}
-			else //return original string
-				return val; 
-		} catch (IOException e) {
-			JSFCorePlugin.log(e, "IOException for NLSPropertyValue: " + val);
-			return null;
-		} catch (MissingResourceException e){
-			//fall thru
-			JSFCorePlugin.log(e, "MissingResourceException for NLSPropertyValue: " + val);
-		}
-		return val.substring(1) + NOT_FOUND;
-	}
-	
-	/**
-	 * Return the ICMAnnotationSourceFileInfo used to create this CMAnnotationMap
-	 * @return ICMAnnotationSourceFileInfo
-	 */
-	public ICMAnnotationSourceFileInfo getFileInfo(){
-		return fileInfo;
-	}
-	
-	/**
-	 * @param String
-	 * @return string value used for case sensitive or insensitive queries.
-	 */
-	public String getStringValueForCaseSensitivity(String val){
-		return isCaseSensitive ? val : val.toLowerCase();
-	}
-
-	private ResourceBundle getResourceBundle() throws IOException{		
-		if (resourceBundle == null){		
-			resourceBundle = locator.getResourceBundle();
-		}
-		return resourceBundle;
-	}
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentmodel/annotation/CMAttributeAnnotation.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentmodel/annotation/CMAttributeAnnotation.java
deleted file mode 100644
index a7bab3a..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentmodel/annotation/CMAttributeAnnotation.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * 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:
- *    Gerry Kessler/Oracle - initial API and implementation
- *    
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.core.internal.contentmodel.annotation;
-
-/**
- * Represents an annotation on a content model attribute
- * 
- * @author Gerry Kessler - Oracle
- *
- * @see CMElementAnnotation
- */
-public class CMAttributeAnnotation extends CMAnnotation {
-	private String elementNodeSpec;
-	public CMAttributeAnnotation(String elemNodeSpec, String name) {
-		super(name);
-		elementNodeSpec = elemNodeSpec;
-	}
-
-	public String toString(){
-		StringBuffer buf = new StringBuffer("AttrAnnotation: ");
-		buf.append(getName()).append(": ").append(elementNodeSpec).append(": ").append(super.toString());
-		return buf.toString();
-	}
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentmodel/annotation/CMElementAnnotation.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentmodel/annotation/CMElementAnnotation.java
deleted file mode 100644
index 85a1eb4..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentmodel/annotation/CMElementAnnotation.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * 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:
- *    Gerry Kessler/Oracle - initial API and implementation
- *    
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.core.internal.contentmodel.annotation;
-
-import java.util.Hashtable;
-import java.util.Map;
-
-/**
- * Represents an annotation on a content model element.   
- * The element annotation object holds a map it's attribute annotations.
- * 
- * @author Gerry Kessler - Oracle
- * 
- * @see CMAttributeAnnotation
- */
-public class CMElementAnnotation extends CMAnnotation {
-	protected Hashtable attributes = new Hashtable();
-
-	public CMElementAnnotation(String name) {
-		super(name);
-	}
-
-	/**
-	 * Return this element annotations attribute annotations.
-	 * Will NOT be null but may be empty. 
-	 * @return Map
-	 */
-	public Map getAttributeAnnotations() {
-		return attributes;
-	}
-
-	/**
-	 * Add an attribute annotation to this element's attribute annotations map
-	 * 
-	 * @param attribute annotation
-	 */
-	public void addCMAttributeAnnotation(CMAttributeAnnotation annotation){
-		attributes.put(annotation.getName(), annotation);		
-	}
-	
-	public String toString(){
-		StringBuffer buf = new StringBuffer("ElementAnnotation: ");
-		buf.append(getName()).append(": ").append(super.toString());
-		return buf.toString();
-	}
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentmodel/annotation/CMPluginRelativeSourceFileLocator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentmodel/annotation/CMPluginRelativeSourceFileLocator.java
deleted file mode 100644
index bde1cab..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentmodel/annotation/CMPluginRelativeSourceFileLocator.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * 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:
- *    Gerry Kessler/Oracle - initial API and implementation
- *    
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.core.internal.contentmodel.annotation;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jst.jsf.core.internal.provisional.contentmodel.annotation.CMAnnotationSourceFileLocator;
-
-/**
- * Default implementation of CMAnnotationSourceFileLocator that will locate annotations
- * and resource bundles relative to the plugin that extends annotationFiles.
- * 
- * @author Gerry Kessler - Oracle
- *
- */
-public class CMPluginRelativeSourceFileLocator extends CMAnnotationSourceFileLocator {
-	
-	/* 
-	 * Returns InputStream of annotation file from plugin relative location.
-	 * 
-	 * @see org.eclipse.jst.jsf.core.internal.contentmodel.internal.annotation.AbstractCMSourceFileLocator#getAnnotationSourceInputStream()
-	 */
-	public InputStream getAnnotationSourceInputStream() throws IOException {
-		URL url = FileLocator.find(Platform.getBundle(fileInfo.getBundleId()), Path.fromOSString(fileInfo.getAnnotationFileLocation()), null);
-		if (url != null) {
-			return url.openStream();
-		}
-		return null;
-	}
-
-	/* 
-	 * Returns property resource bundle if it exists.  May return null.
-	 * This implementation assumes that the basename of the bundle is the same 
-	 * as the source file name and in the same directory.
-	 * 
-	 * @see org.eclipse.jst.jsf.core.internal.provisional.contentmodel.annotation.ICMAnnotationSourceFileLocator#getResourceBundle()
-	 */
-	public ResourceBundle getResourceBundle() throws IOException, MalformedURLException {
-		URL bundleURL = getAnnotationPropertiesFileBasenameURL();
-		ResourceBundle resourceBundle = ResourceBundleHelper.getResourceBundle(getBaseNameURL(bundleURL));
-		return resourceBundle;
-	}
-	
-	private URL getAnnotationPropertiesFileBasenameURL()  {
-		IPath annotationPath = Path.fromOSString(fileInfo.getAnnotationFileLocation()); 
-		IPath annotationFolder = annotationPath.removeLastSegments(1);
-		IPath propertiesLocation = annotationPath.removeFirstSegments(annotationPath.segmentCount() - 1).removeFileExtension();
-		// append location of propertiles file
-		IPath propertiesFile = annotationFolder.append(propertiesLocation);
-	
-		// append .properties extension if needed
-		if (propertiesFile.getFileExtension() == null)
-			propertiesFile = propertiesFile.addFileExtension("properties"); //$NON-NLS-1$
-		// create a URL out of the properties file location
-		return FileLocator.find(Platform.getBundle(fileInfo.getBundleId()),
-				propertiesFile, null);
-	}
-
-	
-	private String getBaseNameURL(URL bundleURL) {
-		IPath url = new Path(bundleURL.toExternalForm());
-		if (url.getFileExtension() != null)
-			url = url.removeFileExtension();
-		return url.toString();
-	}
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentmodel/annotation/ICMAnnotationAdvisor.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentmodel/annotation/ICMAnnotationAdvisor.java
deleted file mode 100644
index 95924de..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentmodel/annotation/ICMAnnotationAdvisor.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * 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:
- *    Gerry Kessler/Oracle - initial API and implementation
- *    
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.core.internal.contentmodel.annotation;
-
-import org.eclipse.jst.jsf.core.internal.provisional.contentmodel.annotation.ICMAnnotationSourceFileInfo;
-
-
-/**
- * Interface used to build internal data model of annotations.   
- * Decouples the data model from the parser so that model can be changed in the future.
- * 
- * Not intended to be implemented by others.
- * 
- * @author Gerry Kessler - Oracle
- * @see org.eclipse.jst.jsf.core.internal.contentmodel.annotation.CMAnnotationAdvisor
- * 
- */
-public interface ICMAnnotationAdvisor {
-	/**
-	 * Returns annotationFile extension information
-	 * @return ICMAnnotationSourceFileInfo 
-	 */
-	public ICMAnnotationSourceFileInfo getFileInfo();
-	/**
-	 * Set whether or not elements, attributes and property name querying is case sensitive or not.
-	 * @param boolean
-	 */
-	public void setCaseSensitive(boolean val);
-	/**
-	 * Method to be used by a ICMAnnotationFileParser to assign a property and a value 
-	 * to an element in a particular content model defined by the ICMAnnotationSourceFileInfo.
-	 * 
-	 * @param elementName
-	 * @param propertyName
-	 * @param propertyValue
-	 * 
-	 * @see org.eclipse.jst.jsf.core.internal.provisional.contentmodel.annotation.ICMAnnotationFileParser
-	 * @see org.eclipse.jst.jsf.core.internal.provisional.contentmodel.annotation.ICMAnnotationSourceFileInfo
-	 */
-	public void addElementAnnotation(String elementName, String propertyName, String propertyValue);
-	/**
-	 * Method to be used by a ICMAnnotationFileParser to assign a property and a value 
-	 * to an attribute of an element in a particular content model defined by the ICMAnnotationSourceFileInfo.
-	 * 
-	 * @param elementName
-	 * @param propertyName
-	 * @param propertyValue
-	 * 
-	 * @see org.eclipse.jst.jsf.core.internal.provisional.contentmodel.annotation.ICMAnnotationFileParser
-	 * @see org.eclipse.jst.jsf.core.internal.provisional.contentmodel.annotation.ICMAnnotationSourceFileInfo
-	 */
-	public void addAttributeAnnotation(String elementName, String attributeName, String propertyName, String propertyValue);
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentmodel/annotation/ResourceBundleHelper.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentmodel/annotation/ResourceBundleHelper.java
deleted file mode 100644
index 0c295ea..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentmodel/annotation/ResourceBundleHelper.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * 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:
- *     IBM Corporation - initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     Gerry Kessler/Oracle - copied from org.eclipse.wst.sse.core.internal.encoding.util and modified
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.contentmodel.annotation;
-
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.util.Locale;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.runtime.FileLocator;
-
-public class ResourceBundleHelper {
-
-	public static ResourceBundle getResourceBundle(String resourceURI) throws MalformedURLException, IOException {
-		return getResourceBundle(resourceURI, Locale.getDefault());
-	}
-
-	public static ResourceBundle getResourceBundle(String resourceURI, Locale targetLocale) throws MalformedURLException, IOException {
-		// try to load bundle from the location specified in the resourceURI
-		// we make the assumption that the resourceURI points to the local
-		// file system
-
-		int index = resourceURI.lastIndexOf("/"); //$NON-NLS-1$
-		if (index == -1) {
-			throw new IllegalArgumentException("Invalid resourceURI"); //$NON-NLS-1$
-		}
-
-		// Below we set 'resourceDirectory' so that it ends with a '/'.
-		// Here's an excerpt from the ClassLoader Javadoc ...
-		// Any URL that ends with a '/' is assumed to refer to a directory.
-		// Otherwise, the URL is assumed
-		// to refer to a JAR file which will be opened as needed.
-		//
-		String resourceDirectory = resourceURI.substring(0, index + 1);
-		String resourceBundleName = resourceURI.substring(index + 1);
-
-		// create a class loader with a class path that points to the resource
-		// bundle's location
-		//         
-		URL[] classpath = new URL[1];
-		classpath[0] = FileLocator.resolve(new URL(resourceDirectory));
-		ClassLoader resourceLoader = new URLClassLoader(classpath, null);
-
-		return ResourceBundle.getBundle(resourceBundleName, targetLocale, resourceLoader);
-	}
-}
-
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/ArchiveFile.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/ArchiveFile.java
deleted file mode 100644
index bbe4c80..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/ArchiveFile.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * 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:
- *    Ian Trimble - initial API and implementation
- *******************************************************************************/ 
-package org.eclipse.jst.jsf.core.internal.jsflibraryregistry;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Archive File</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile#isRelativeToWorkspace <em>Relative To Workspace</em>}</li>
- *   <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile#getSourceLocation <em>Source Location</em>}</li>
- *   <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile#getRelativeDestLocation <em>Relative Dest Location</em>}</li>
- *   <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile#getJSFLibrary <em>JSF Library</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage#getArchiveFile()
- * @model
- * @generated
- */
-public interface ArchiveFile extends EObject{
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	String copyright = "Copyright (c) 2005 Oracle Corporation";
-
-	/**
-	 * Returns the value of the '<em><b>Source Location</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Source Location</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Source Location</em>' attribute.
-	 * @see #setSourceLocation(String)
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage#getArchiveFile_SourceLocation()
-	 * @model required="true"
-	 * @generated
-	 */
-	String getSourceLocation();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile#getSourceLocation <em>Source Location</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * If the value passed is found to be relative to the workspace, a
-	 * workspace-relative location is stored; to prevent this behaviour, call
-	 * isRelativeToWorkspace(false) before calling this method.
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Source Location</em>' attribute.
-	 * @see #getSourceLocation()
-	 * @generated
-	 */
-	void setSourceLocation(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Relative To Workspace</b></em>' attribute.
-	 * The default value is <code>"true"</code>.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Relative To Workspace</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Relative To Workspace</em>' attribute.
-	 * @see #setRelativeToWorkspace(boolean)
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage#getArchiveFile_RelativeToWorkspace()
-	 * @model default="true" required="true"
-	 * @generated
-	 */
-	boolean isRelativeToWorkspace();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile#isRelativeToWorkspace <em>Relative To Workspace</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Relative To Workspace</em>' attribute.
-	 * @see #isRelativeToWorkspace()
-	 * @generated
-	 */
-	void setRelativeToWorkspace(boolean value);
-
-	/**
-	 * Returns the value of the '<em><b>Relative Dest Location</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Relative Dest Location</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Relative Dest Location</em>' attribute.
-	 * @see #setRelativeDestLocation(String)
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage#getArchiveFile_RelativeDestLocation()
-	 * @model required="true"
-	 * @generated
-	 */
-	String getRelativeDestLocation();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile#getRelativeDestLocation <em>Relative Dest Location</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Relative Dest Location</em>' attribute.
-	 * @see #getRelativeDestLocation()
-	 * @generated
-	 */
-	void setRelativeDestLocation(String value);
-
-	/**
-	 * Returns the value of the '<em><b>JSF Library</b></em>' container reference.
-	 * It is bidirectional and its opposite is '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary#getArchiveFiles <em>Archive Files</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>JSF Library</em>' container reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>JSF Library</em>' container reference.
-	 * @see #setJSFLibrary(JSFLibrary)
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage#getArchiveFile_JSFLibrary()
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary#getArchiveFiles
-	 * @model opposite="ArchiveFiles" required="true"
-	 * @generated
-	 */
-	JSFLibrary getJSFLibrary();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile#getJSFLibrary <em>JSF Library</em>}' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>JSF Library</em>' container reference.
-	 * @see #getJSFLibrary()
-	 * @generated
-	 */
-	void setJSFLibrary(JSFLibrary value);
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Path</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @model kind="operation" required="true"
-	 * @generated
-	 */
-	String getPath();
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @model kind="operation" required="true"
-	 * @generated
-	 */
-	String getName();
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @model required="true"
-	 * @generated
-	 */
-	boolean exists();
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @model required="true" objectRequired="true"
-	 * @generated
-	 */
-	boolean equals(Object object);
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @model required="true"
-	 * @generated
-	 */
-	int hashCode();
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @model required="true" baseDestLocationRequired="true"
-	 * @generated
-	 */
-	boolean copyTo(String baseDestLocation);
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @model kind="operation" required="true"
-	 * @generated
-	 */
-	String getResolvedSourceLocation();
-
-} // ArchiveFile
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/JSFLibrary.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/JSFLibrary.java
deleted file mode 100644
index b664d04..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/JSFLibrary.java
+++ /dev/null
@@ -1,233 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * 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:
- *    Ian Trimble - initial API and implementation
- *******************************************************************************/ 
-package org.eclipse.jst.jsf.core.internal.jsflibraryregistry;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>JSF Library</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary#getID <em>ID</em>}</li>
- *   <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary#getName <em>Name</em>}</li>
- *   <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary#getJSFVersion <em>JSF Version</em>}</li>
- *   <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary#isDeployed <em>Deployed</em>}</li>
- *   <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary#isImplementation <em>Implementation</em>}</li>
- *   <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary#getArchiveFiles <em>Archive Files</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage#getJSFLibrary()
- * @model
- * @generated
- */
-public interface JSFLibrary extends EObject{
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	String copyright = "Copyright (c) 2005 Oracle Corporation";
-
-	/**
-	 * Returns the value of the '<em><b>ID</b></em>' attribute.
-	 * The default value is <code>""</code>.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>ID</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>ID</em>' attribute.
-	 * @see #setID(String)
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage#getJSFLibrary_ID()
-	 * @model default="" id="true" required="true"
-	 * @generated
-	 */
-	String getID();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary#getID <em>ID</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>ID</em>' attribute.
-	 * @see #getID()
-	 * @generated
-	 */
-	void setID(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Name</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Name</em>' attribute.
-	 * @see #setName(String)
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage#getJSFLibrary_Name()
-	 * @model required="true"
-	 * @generated
-	 */
-	String getName();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary#getName <em>Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Name</em>' attribute.
-	 * @see #getName()
-	 * @generated
-	 */
-	void setName(String value);
-
-	/**
-	 * Returns the value of the '<em><b>JSF Version</b></em>' attribute.
-	 * The default value is <code>"UNKNOWN"</code>.
-	 * The literals are from the enumeration {@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFVersion}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>JSF Version</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>JSF Version</em>' attribute.
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFVersion
-	 * @see #setJSFVersion(JSFVersion)
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage#getJSFLibrary_JSFVersion()
-	 * @model default="UNKNOWN" required="true"
-	 * @generated
-	 */
-	JSFVersion getJSFVersion();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary#getJSFVersion <em>JSF Version</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>JSF Version</em>' attribute.
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFVersion
-	 * @see #getJSFVersion()
-	 * @generated
-	 */
-	void setJSFVersion(JSFVersion value);
-
-	/**
-	 * Returns the value of the '<em><b>Deployed</b></em>' attribute.
-	 * The default value is <code>"true"</code>.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Deployed</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Deployed</em>' attribute.
-	 * @see #setDeployed(boolean)
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage#getJSFLibrary_Deployed()
-	 * @model default="true" required="true"
-	 * @generated
-	 */
-	boolean isDeployed();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary#isDeployed <em>Deployed</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Deployed</em>' attribute.
-	 * @see #isDeployed()
-	 * @generated
-	 */
-	void setDeployed(boolean value);
-
-	/**
-	 * Returns the value of the '<em><b>Implementation</b></em>' attribute.
-	 * The default value is <code>"false"</code>.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Implementation</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Implementation</em>' attribute.
-	 * @see #setImplementation(boolean)
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage#getJSFLibrary_Implementation()
-	 * @model default="false" required="true"
-	 * @generated
-	 */
-	boolean isImplementation();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary#isImplementation <em>Implementation</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Implementation</em>' attribute.
-	 * @see #isImplementation()
-	 * @generated
-	 */
-	void setImplementation(boolean value);
-
-	/**
-	 * Returns the value of the '<em><b>Archive Files</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile}.
-	 * It is bidirectional and its opposite is '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile#getJSFLibrary <em>JSF Library</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Archive Files</em>' containment reference list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Archive Files</em>' containment reference list.
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage#getJSFLibrary_ArchiveFiles()
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile#getJSFLibrary
-	 * @model type="org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile" opposite="JSFLibrary" containment="true"
-	 * @generated
-	 */
-	EList getArchiveFiles();
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @model required="true" fullPathRequired="true"
-	 * @generated
-	 */
-	boolean containsArchiveFile(String fullPath);
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @model kind="operation" required="true"
-	 * @generated
-	 */
-	JSFLibrary getWorkingCopy();
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @model otherLibraryRequired="true"
-	 * @generated
-	 */
-	void updateValues(JSFLibrary otherLibrary);
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @model required="true" baseDestLocationRequired="true"
-	 * @generated
-	 */
-	boolean copyTo(String baseDestLocation);
-
-} // JSFLibrary
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/JSFLibraryRegistry.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/JSFLibraryRegistry.java
deleted file mode 100644
index dc2912b..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/JSFLibraryRegistry.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * 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:
- *    Ian Trimble - initial API and implementation
- *******************************************************************************/ 
-package org.eclipse.jst.jsf.core.internal.jsflibraryregistry;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.jst.jsf.core.internal.Messages;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>JSF Library Registry</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistry#getDefaultImplementationID <em>Default Implementation ID</em>}</li>
- *   <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistry#getJSFLibraries <em>JSF Libraries</em>}</li>
- *   <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistry#getPluginProvidedJSFLibraries <em>Plugin Provided JSF Libraries</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage#getJSFLibraryRegistry()
- * @model
- * @generated
- */
-public interface JSFLibraryRegistry extends EObject{
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	String copyright = "Copyright (c) 2005 Oracle Corporation";
-
-	/**
-	 * Returns the value of the '<em><b>Default Implementation ID</b></em>' attribute.
-	 * The default value is <code>""</code>.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Default Implementation ID</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Default Implementation ID</em>' attribute.
-	 * @see #setDefaultImplementationID(String)
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage#getJSFLibraryRegistry_DefaultImplementationID()
-	 * @model default=""
-	 * @generated
-	 */
-	String getDefaultImplementationID();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistry#getDefaultImplementationID <em>Default Implementation ID</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Default Implementation ID</em>' attribute.
-	 * @see #getDefaultImplementationID()
-	 * @generated
-	 */
-	void setDefaultImplementationID(String value);
-
-	public static final String DEFAULT_IMPL_LABEL = Messages.JSFLibraryRegistry_DEFAULT_IMPL_LABEL;
-
-	/**
-	 * Returns the value of the '<em><b>JSF Libraries</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>JSF Libraries</em>' containment reference list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>JSF Libraries</em>' containment reference list.
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage#getJSFLibraryRegistry_JSFLibraries()
-	 * @model type="org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary" containment="true"
-	 * @generated
-	 */
-	EList getJSFLibraries();
-
-	/**
-	 * Returns the value of the '<em><b>Plugin Provided JSF Libraries</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.PluginProvidedJSFLibrary}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Plugin Provided JSF Libraries</em>' containment reference list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Plugin Provided JSF Libraries</em>' containment reference list.
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage#getJSFLibraryRegistry_PluginProvidedJSFLibraries()
-	 * @model type="org.eclipse.jst.jsf.core.internal.jsflibraryregistry.PluginProvidedJSFLibrary" containment="true" transient="true"
-	 * @generated
-	 */
-	EList getPluginProvidedJSFLibraries();
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Default Implementation</em>' reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @model kind="operation" required="true"
-	 * @generated
-	 */
-	JSFLibrary getDefaultImplementation();
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @model implementationRequired="true"
-	 * @generated
-	 */
-	void setDefaultImplementation(JSFLibrary value);
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @model required="true" IDRequired="true"
-	 * @generated
-	 */
-	JSFLibrary getJSFLibraryByID(String ID);
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @model required="true" many="false" nameRequired="true"
-	 * @generated
-	 */
-	EList getJSFLibrariesByName(String name);
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @model kind="operation" required="true" many="false"
-	 * @generated
-	 */
-	EList getImplJSFLibraries();
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @model kind="operation" required="true" many="false"
-	 * @generated
-	 */
-	EList getNonImplJSFLibraries();
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @model kind="operation" required="true" many="false"
-	 * @generated
-	 */
-	EList getAllJSFLibraries();
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @model required="true" libraryRequired="true"
-	 * @generated
-	 */
-	boolean addJSFLibrary(JSFLibrary library);
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @model required="true" libraryRequired="true"
-	 * @generated
-	 */
-	boolean removeJSFLibrary(JSFLibrary library);
-
-} // JSFLibraryRegistry
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/JSFLibraryRegistryFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/JSFLibraryRegistryFactory.java
deleted file mode 100644
index 0953c0e..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/JSFLibraryRegistryFactory.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * 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:
- *    Ian Trimble - initial API and implementation
- *******************************************************************************/ 
-package org.eclipse.jst.jsf.core.internal.jsflibraryregistry;
-
-import org.eclipse.emf.ecore.EFactory;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Factory</b> for the model.
- * It provides a create method for each non-abstract class of the model.
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage
- * @generated
- */
-public interface JSFLibraryRegistryFactory extends EFactory{
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	String copyright = "Copyright (c) 2005 Oracle Corporation";
-
-	/**
-	 * The singleton instance of the factory.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	JSFLibraryRegistryFactory eINSTANCE = new org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryRegistryFactoryImpl();
-
-	/**
-	 * Returns a new object of class '<em>JSF Library Registry</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>JSF Library Registry</em>'.
-	 * @generated
-	 */
-	JSFLibraryRegistry createJSFLibraryRegistry();
-
-	/**
-	 * Returns a new object of class '<em>JSF Library</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>JSF Library</em>'.
-	 * @generated
-	 */
-	JSFLibrary createJSFLibrary();
-
-	/**
-	 * Returns a new object of class '<em>Archive File</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Archive File</em>'.
-	 * @generated
-	 */
-	ArchiveFile createArchiveFile();
-
-	/**
-	 * Returns a new object of class '<em>Plugin Provided JSF Library</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Plugin Provided JSF Library</em>'.
-	 * @generated
-	 */
-	PluginProvidedJSFLibrary createPluginProvidedJSFLibrary();
-
-	/**
-	 * Returns the package supported by this factory.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the package supported by this factory.
-	 * @generated
-	 */
-	JSFLibraryRegistryPackage getJSFLibraryRegistryPackage();
-
-} //JSFLibraryRegistryFactory
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/JSFLibraryRegistryPackage.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/JSFLibraryRegistryPackage.java
deleted file mode 100644
index 3e00cb7..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/JSFLibraryRegistryPackage.java
+++ /dev/null
@@ -1,554 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * 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:
- *    Ian Trimble - initial API and implementation
- *******************************************************************************/ 
-package org.eclipse.jst.jsf.core.internal.jsflibraryregistry;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EEnum;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Package</b> for the model.
- * It contains accessors for the meta objects to represent
- * <ul>
- *   <li>each class,</li>
- *   <li>each feature of each class,</li>
- *   <li>each enum,</li>
- *   <li>and each data type</li>
- * </ul>
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryFactory
- * @model kind="package"
- * @generated
- */
-public interface JSFLibraryRegistryPackage extends EPackage{
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	String copyright = "Copyright (c) 2005 Oracle Corporation";
-
-	/**
-	 * The package name.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	String eNAME = "jsflibraryregistry";
-
-	/**
-	 * The package namespace URI.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	String eNS_URI = "http://www.eclipse.org/webtools/jsf/schema/jsflibraryregistry.xsd";
-
-	/**
-	 * The package namespace name.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	String eNS_PREFIX = "jsflibreg";
-
-	/**
-	 * The singleton instance of the package.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	JSFLibraryRegistryPackage eINSTANCE = org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryRegistryPackageImpl.init();
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryRegistryImpl <em>JSF Library Registry</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryRegistryImpl
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryRegistryPackageImpl#getJSFLibraryRegistry()
-	 * @generated
-	 */
-	int JSF_LIBRARY_REGISTRY = 0;
-
-	/**
-	 * The feature id for the '<em><b>Default Implementation ID</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JSF_LIBRARY_REGISTRY__DEFAULT_IMPLEMENTATION_ID = 0;
-
-	/**
-	 * The feature id for the '<em><b>JSF Libraries</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JSF_LIBRARY_REGISTRY__JSF_LIBRARIES = 1;
-
-	/**
-	 * The feature id for the '<em><b>Plugin Provided JSF Libraries</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JSF_LIBRARY_REGISTRY__PLUGIN_PROVIDED_JSF_LIBRARIES = 2;
-
-	/**
-	 * The number of structural features of the the '<em>JSF Library Registry</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JSF_LIBRARY_REGISTRY_FEATURE_COUNT = 3;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryImpl <em>JSF Library</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryImpl
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryRegistryPackageImpl#getJSFLibrary()
-	 * @generated
-	 */
-	int JSF_LIBRARY = 1;
-
-	/**
-	 * The feature id for the '<em><b>ID</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JSF_LIBRARY__ID = 0;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JSF_LIBRARY__NAME = 1;
-
-	/**
-	 * The feature id for the '<em><b>JSF Version</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JSF_LIBRARY__JSF_VERSION = 2;
-
-	/**
-	 * The feature id for the '<em><b>Deployed</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JSF_LIBRARY__DEPLOYED = 3;
-
-	/**
-	 * The feature id for the '<em><b>Implementation</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JSF_LIBRARY__IMPLEMENTATION = 4;
-
-	/**
-	 * The feature id for the '<em><b>Archive Files</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JSF_LIBRARY__ARCHIVE_FILES = 5;
-
-	/**
-	 * The number of structural features of the the '<em>JSF Library</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JSF_LIBRARY_FEATURE_COUNT = 6;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.ArchiveFileImpl <em>Archive File</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.ArchiveFileImpl
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryRegistryPackageImpl#getArchiveFile()
-	 * @generated
-	 */
-	int ARCHIVE_FILE = 2;
-
-	/**
-	 * The feature id for the '<em><b>Relative To Workspace</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARCHIVE_FILE__RELATIVE_TO_WORKSPACE = 0;
-
-	/**
-	 * The feature id for the '<em><b>Source Location</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARCHIVE_FILE__SOURCE_LOCATION = 1;
-
-	/**
-	 * The feature id for the '<em><b>Relative Dest Location</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARCHIVE_FILE__RELATIVE_DEST_LOCATION = 2;
-
-	/**
-	 * The feature id for the '<em><b>JSF Library</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARCHIVE_FILE__JSF_LIBRARY = 3;
-
-	/**
-	 * The number of structural features of the the '<em>Archive File</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARCHIVE_FILE_FEATURE_COUNT = 4;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.PluginProvidedJSFLibraryImpl <em>Plugin Provided JSF Library</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.PluginProvidedJSFLibraryImpl
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryRegistryPackageImpl#getPluginProvidedJSFLibrary()
-	 * @generated
-	 */
-	int PLUGIN_PROVIDED_JSF_LIBRARY = 3;
-
-	/**
-	 * The feature id for the '<em><b>ID</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLUGIN_PROVIDED_JSF_LIBRARY__ID = JSF_LIBRARY__ID;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLUGIN_PROVIDED_JSF_LIBRARY__NAME = JSF_LIBRARY__NAME;
-
-	/**
-	 * The feature id for the '<em><b>JSF Version</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLUGIN_PROVIDED_JSF_LIBRARY__JSF_VERSION = JSF_LIBRARY__JSF_VERSION;
-
-	/**
-	 * The feature id for the '<em><b>Deployed</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLUGIN_PROVIDED_JSF_LIBRARY__DEPLOYED = JSF_LIBRARY__DEPLOYED;
-
-	/**
-	 * The feature id for the '<em><b>Implementation</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLUGIN_PROVIDED_JSF_LIBRARY__IMPLEMENTATION = JSF_LIBRARY__IMPLEMENTATION;
-
-	/**
-	 * The feature id for the '<em><b>Archive Files</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLUGIN_PROVIDED_JSF_LIBRARY__ARCHIVE_FILES = JSF_LIBRARY__ARCHIVE_FILES;
-
-	/**
-	 * The feature id for the '<em><b>Plugin ID</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLUGIN_PROVIDED_JSF_LIBRARY__PLUGIN_ID = JSF_LIBRARY_FEATURE_COUNT + 0;
-
-	/**
-	 * The number of structural features of the the '<em>Plugin Provided JSF Library</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLUGIN_PROVIDED_JSF_LIBRARY_FEATURE_COUNT = JSF_LIBRARY_FEATURE_COUNT + 1;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFVersion <em>JSF Version</em>}' enum.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFVersion
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryRegistryPackageImpl#getJSFVersion()
-	 * @generated
-	 */
-	int JSF_VERSION = 4;
-
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistry <em>JSF Library Registry</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>JSF Library Registry</em>'.
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistry
-	 * @generated
-	 */
-	EClass getJSFLibraryRegistry();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistry#getDefaultImplementationID <em>Default Implementation ID</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Default Implementation ID</em>'.
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistry#getDefaultImplementationID()
-	 * @see #getJSFLibraryRegistry()
-	 * @generated
-	 */
-	EAttribute getJSFLibraryRegistry_DefaultImplementationID();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistry#getJSFLibraries <em>JSF Libraries</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>JSF Libraries</em>'.
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistry#getJSFLibraries()
-	 * @see #getJSFLibraryRegistry()
-	 * @generated
-	 */
-	EReference getJSFLibraryRegistry_JSFLibraries();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistry#getPluginProvidedJSFLibraries <em>Plugin Provided JSF Libraries</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Plugin Provided JSF Libraries</em>'.
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistry#getPluginProvidedJSFLibraries()
-	 * @see #getJSFLibraryRegistry()
-	 * @generated
-	 */
-	EReference getJSFLibraryRegistry_PluginProvidedJSFLibraries();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary <em>JSF Library</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>JSF Library</em>'.
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary
-	 * @generated
-	 */
-	EClass getJSFLibrary();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary#getID <em>ID</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>ID</em>'.
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary#getID()
-	 * @see #getJSFLibrary()
-	 * @generated
-	 */
-	EAttribute getJSFLibrary_ID();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary#getName <em>Name</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Name</em>'.
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary#getName()
-	 * @see #getJSFLibrary()
-	 * @generated
-	 */
-	EAttribute getJSFLibrary_Name();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary#getJSFVersion <em>JSF Version</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>JSF Version</em>'.
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary#getJSFVersion()
-	 * @see #getJSFLibrary()
-	 * @generated
-	 */
-	EAttribute getJSFLibrary_JSFVersion();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary#isDeployed <em>Deployed</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Deployed</em>'.
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary#isDeployed()
-	 * @see #getJSFLibrary()
-	 * @generated
-	 */
-	EAttribute getJSFLibrary_Deployed();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary#isImplementation <em>Implementation</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Implementation</em>'.
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary#isImplementation()
-	 * @see #getJSFLibrary()
-	 * @generated
-	 */
-	EAttribute getJSFLibrary_Implementation();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary#getArchiveFiles <em>Archive Files</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Archive Files</em>'.
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary#getArchiveFiles()
-	 * @see #getJSFLibrary()
-	 * @generated
-	 */
-	EReference getJSFLibrary_ArchiveFiles();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile <em>Archive File</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Archive File</em>'.
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile
-	 * @generated
-	 */
-	EClass getArchiveFile();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile#getSourceLocation <em>Source Location</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Source Location</em>'.
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile#getSourceLocation()
-	 * @see #getArchiveFile()
-	 * @generated
-	 */
-	EAttribute getArchiveFile_SourceLocation();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile#isRelativeToWorkspace <em>Relative To Workspace</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Relative To Workspace</em>'.
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile#isRelativeToWorkspace()
-	 * @see #getArchiveFile()
-	 * @generated
-	 */
-	EAttribute getArchiveFile_RelativeToWorkspace();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile#getRelativeDestLocation <em>Relative Dest Location</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Relative Dest Location</em>'.
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile#getRelativeDestLocation()
-	 * @see #getArchiveFile()
-	 * @generated
-	 */
-	EAttribute getArchiveFile_RelativeDestLocation();
-
-	/**
-	 * Returns the meta object for the container reference '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile#getJSFLibrary <em>JSF Library</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the container reference '<em>JSF Library</em>'.
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile#getJSFLibrary()
-	 * @see #getArchiveFile()
-	 * @generated
-	 */
-	EReference getArchiveFile_JSFLibrary();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.PluginProvidedJSFLibrary <em>Plugin Provided JSF Library</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Plugin Provided JSF Library</em>'.
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.PluginProvidedJSFLibrary
-	 * @generated
-	 */
-	EClass getPluginProvidedJSFLibrary();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.PluginProvidedJSFLibrary#getPluginID <em>Plugin ID</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Plugin ID</em>'.
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.PluginProvidedJSFLibrary#getPluginID()
-	 * @see #getPluginProvidedJSFLibrary()
-	 * @generated
-	 */
-	EAttribute getPluginProvidedJSFLibrary_PluginID();
-
-	/**
-	 * Returns the meta object for enum '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFVersion <em>JSF Version</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for enum '<em>JSF Version</em>'.
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFVersion
-	 * @generated
-	 */
-	EEnum getJSFVersion();
-
-	/**
-	 * Returns the factory that creates the instances of the model.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the factory that creates the instances of the model.
-	 * @generated
-	 */
-	JSFLibraryRegistryFactory getJSFLibraryRegistryFactory();
-
-} //JSFLibraryRegistryPackage
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/JSFVersion.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/JSFVersion.java
deleted file mode 100644
index 1f77c4f..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/JSFVersion.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * 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:
- *    Ian Trimble - initial API and implementation
- *******************************************************************************/ 
-package org.eclipse.jst.jsf.core.internal.jsflibraryregistry;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.emf.common.util.AbstractEnumerator;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the literals of the enumeration '<em><b>JSF Version</b></em>',
- * and utility methods for working with them.
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage#getJSFVersion()
- * @model
- * @generated
- */
-public final class JSFVersion extends AbstractEnumerator {
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static final String copyright = "Copyright (c) 2005 Oracle Corporation";
-
-	/**
-	 * The '<em><b>V1 1</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of '<em><b>V1 1</b></em>' literal object isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @see #V1_1_LITERAL
-	 * @model name="v1_1"
-	 * @generated
-	 * @ordered
-	 */
-	public static final int V1_1 = 1;
-
-	/**
-	 * The '<em><b>V1 2</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of '<em><b>V1 2</b></em>' literal object isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @see #V1_2_LITERAL
-	 * @model name="v1_2"
-	 * @generated
-	 * @ordered
-	 */
-	public static final int V1_2 = 2;
-
-	/**
-	 * The '<em><b>UNKNOWN</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of '<em><b>UNKNOWN</b></em>' literal object isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @see #UNKNOWN_LITERAL
-	 * @model
-	 * @generated
-	 * @ordered
-	 */
-	public static final int UNKNOWN = -1;
-
-	/**
-	 * The '<em><b>V1 1</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #V1_1
-	 * @generated
-	 * @ordered
-	 */
-	public static final JSFVersion V1_1_LITERAL = new JSFVersion(V1_1, "v1_1");
-
-	/**
-	 * The '<em><b>V1 2</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #V1_2
-	 * @generated
-	 * @ordered
-	 */
-	public static final JSFVersion V1_2_LITERAL = new JSFVersion(V1_2, "v1_2");
-
-	/**
-	 * The '<em><b>UNKNOWN</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #UNKNOWN
-	 * @generated
-	 * @ordered
-	 */
-	public static final JSFVersion UNKNOWN_LITERAL = new JSFVersion(UNKNOWN, "UNKNOWN");
-
-	/**
-	 * An array of all the '<em><b>JSF Version</b></em>' enumerators.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private static final JSFVersion[] VALUES_ARRAY =
-		new JSFVersion[] {
-			V1_1_LITERAL,
-			V1_2_LITERAL,
-			UNKNOWN_LITERAL,
-		};
-
-	/**
-	 * A public read-only list of all the '<em><b>JSF Version</b></em>' enumerators.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
-
-	/**
-	 * Returns the '<em><b>JSF Version</b></em>' literal with the specified name.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static JSFVersion get(String name) {
-		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
-			JSFVersion result = VALUES_ARRAY[i];
-			if (result.toString().equals(name)) {
-				return result;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the '<em><b>JSF Version</b></em>' literal with the specified value.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static JSFVersion get(int value) {
-		switch (value) {
-			case V1_1: return V1_1_LITERAL;
-			case V1_2: return V1_2_LITERAL;
-			case UNKNOWN: return UNKNOWN_LITERAL;
-		}
-		return null;	
-	}
-
-	/**
-	 * Only this class can construct instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private JSFVersion(int value, String name) {
-		super(value, name);
-	}
-
-	/**
-	 * Returns the '<em><b>JSF Version</b></em>' literal with the specified
-	 * name like the get(String) method does, but will return UNKNOWN instead
-	 * of null if the name is not recognized.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated NOT
-	 */
-	public static JSFVersion getJSFVersion(String name) {
-		JSFVersion version = get(name);
-		if (version == null) {
-			version = UNKNOWN_LITERAL;
-		}
-		return version;
-	}
-
-} //JSFVersion
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/PluginProvidedJSFLibrary.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/PluginProvidedJSFLibrary.java
deleted file mode 100644
index 5474d9d..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/PluginProvidedJSFLibrary.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * 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:
- *    Ian Trimble - initial API and implementation
- *******************************************************************************/ 
-package org.eclipse.jst.jsf.core.internal.jsflibraryregistry;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Plugin Provided JSF Library</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.PluginProvidedJSFLibrary#getPluginID <em>Plugin ID</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage#getPluginProvidedJSFLibrary()
- * @model
- * @generated
- */
-public interface PluginProvidedJSFLibrary extends JSFLibrary{
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	String copyright = "Copyright (c) 2005 Oracle Corporation";
-
-	/**
-	 * Returns the value of the '<em><b>Plugin ID</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Plugin ID</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Plugin ID</em>' attribute.
-	 * @see #setPluginID(String)
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage#getPluginProvidedJSFLibrary_PluginID()
-	 * @model required="true"
-	 * @generated
-	 */
-	String getPluginID();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.PluginProvidedJSFLibrary#getPluginID <em>Plugin ID</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Plugin ID</em>' attribute.
-	 * @see #getPluginID()
-	 * @generated
-	 */
-	void setPluginID(String value);
-
-} // PluginProvidedJSFLibrary
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/adapter/MaintainDefaultImplementationAdapter.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/adapter/MaintainDefaultImplementationAdapter.java
deleted file mode 100644
index 0673b38..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/adapter/MaintainDefaultImplementationAdapter.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * 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:
- *    Ian Trimble - initial API and implementation
- *******************************************************************************/ 
-package org.eclipse.jst.jsf.core.internal.jsflibraryregistry.adapter;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.impl.AdapterImpl;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistry;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage;
-
-/**
- * EMF adapter that attempts to always maintain a default implementation
- * JSFLibrary upon addition and removal of JSFLibrary instances and upon
- * changing of a JSFLibrary instance's implementation property.
- * 
- * @author Ian Trimble - Oracle
- */
-public class MaintainDefaultImplementationAdapter extends AdapterImpl {
-
-	private static MaintainDefaultImplementationAdapter INSTANCE =
-		new MaintainDefaultImplementationAdapter();
-
-	/**
-	 * Gets the single instance of this adapter.
-	 * 
-	 * @return The single instance of this adapter.
-	 */
-	public static MaintainDefaultImplementationAdapter getInstance() {
-		return INSTANCE;
-	}
-
-	/**
-	 * Called to notify this adapter that a change has occured.
-	 * 
-	 * @param notification EMF Notification instance
-	 */
-	public void notifyChanged(Notification notification) {
-		Object objNotifier = notification.getNotifier();
-		if (objNotifier instanceof JSFLibraryRegistry) {
-			int eventType = notification.getEventType();
-			switch (eventType) {
-				case Notification.ADD:
-					Object objNewValue = notification.getNewValue();
-					if (objNewValue instanceof JSFLibrary) {
-						libraryAdded((JSFLibrary)objNewValue);
-					}
-					break;
-				case Notification.REMOVE:
-					Object objOldValue = notification.getOldValue();
-					if (objOldValue instanceof JSFLibrary) {
-						libraryRemoved((JSFLibrary)objOldValue);
-					}
-					break;
-			}
-		} else if (objNotifier instanceof JSFLibrary) {
-			if (notification.getFeatureID(JSFLibrary.class) == JSFLibraryRegistryPackage.JSF_LIBRARY__IMPLEMENTATION) {
-				implementationFlagSet((JSFLibrary)objNotifier);
-			}
-		}
-	}
-
-	/**
-	 * Checks if the library added is an implementation and, if so, makes it
-	 * the default implementation if it is the only implementation.
-	 * 
-	 * @param library JSFLibrary instance
-	 */
-	protected void libraryAdded(JSFLibrary library) {
-		if (library != null && library.isImplementation()) {
-			JSFLibraryRegistry jsfLibReg = JSFCorePlugin.getDefault().getJSFLibraryRegistry();
-			EList impls = jsfLibReg.getImplJSFLibraries();
-			if (impls.size() == 1) {
-				jsfLibReg.setDefaultImplementation(library);
-			}
-		}
-	}
-
-	/**
-	 * Checks if the library removed is the default implementation and, if so,
-	 * makes the first remaining implementation the new default or nulls out
-	 * the default implementation if no other implementation remains. 
-	 * 
-	 * @param library JSFLibrary instance
-	 */
-	protected void libraryRemoved(JSFLibrary library) {
-		if (library != null && library.isImplementation()) {
-			JSFLibraryRegistry jsfLibReg = JSFCorePlugin.getDefault().getJSFLibraryRegistry();
-			JSFLibrary defaultImpl = jsfLibReg.getDefaultImplementation(); 
-			if (defaultImpl == null || library.getID().equals(defaultImpl.getID())) { 
-				setNewDefaultImplementation();
-			}
-		}
-	}
-
-	/**
-	 * Checks if the implementation flag of the JSFLibrary has been changed
-	 * such that it is now eligible to become the default implementation or
-	 * such that it is no longer eligible as the default implementation and
-	 * sets the default implementation appropriately. Note that the passed
-	 * JSFLibrary instance must have been added to the model before calling
-	 * this method for it to have any effect.
-	 * 
-	 * @param library JSFLibrary instance
-	 */
-	protected void implementationFlagSet(JSFLibrary library) {
-		JSFLibraryRegistry jsfLibReg = JSFCorePlugin.getDefault().getJSFLibraryRegistry();
-		if (jsfLibReg != null) {
-			JSFLibrary defaultImpl = jsfLibReg.getDefaultImplementation();
-			if (
-					library.isImplementation() &&
-					defaultImpl == null
-			) {
-				jsfLibReg.setDefaultImplementation(library);
-			} else if (
-					!library.isImplementation() &&
-					(defaultImpl != null && library.getID() == defaultImpl.getID())
-			) {
-				setNewDefaultImplementation();
-			}
-		}
-	}
-
-	/**
-	 * Sets the first available JSFLibrary marked as an implementation as the
-	 * default implementation or sets the default implementation to null if no
-	 * JSFLibrary is marked as an implementation.
-	 */
-	protected void setNewDefaultImplementation() {
-		JSFLibraryRegistry jsfLibReg = JSFCorePlugin.getDefault().getJSFLibraryRegistry();
-		EList impls = jsfLibReg.getImplJSFLibraries();
-		if (impls.size() > 0) {
-			jsfLibReg.setDefaultImplementation((JSFLibrary)impls.get(0));
-		} else {
-			jsfLibReg.setDefaultImplementation(null);
-		}
-	}
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/impl/ArchiveFileImpl.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/impl/ArchiveFileImpl.java
deleted file mode 100644
index 279e86f..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/impl/ArchiveFileImpl.java
+++ /dev/null
@@ -1,659 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * 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:
- *    Ian Trimble - initial API and implementation
- *******************************************************************************/ 
-package org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.net.URL;
-
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.core.internal.Messages;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.PluginProvidedJSFLibrary;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.Bundle;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Archive File</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.ArchiveFileImpl#isRelativeToWorkspace <em>Relative To Workspace</em>}</li>
- *   <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.ArchiveFileImpl#getSourceLocation <em>Source Location</em>}</li>
- *   <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.ArchiveFileImpl#getRelativeDestLocation <em>Relative Dest Location</em>}</li>
- *   <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.ArchiveFileImpl#getJSFLibrary <em>JSF Library</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class ArchiveFileImpl extends EObjectImpl implements ArchiveFile {
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static final String copyright = "Copyright (c) 2005 Oracle Corporation";
-
-	/**
-	 * The default value of the '{@link #isRelativeToWorkspace() <em>Relative To Workspace</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isRelativeToWorkspace()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean RELATIVE_TO_WORKSPACE_EDEFAULT = true;
-
-	/**
-	 * The cached value of the '{@link #isRelativeToWorkspace() <em>Relative To Workspace</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isRelativeToWorkspace()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean relativeToWorkspace = RELATIVE_TO_WORKSPACE_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getSourceLocation() <em>Source Location</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getSourceLocation()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String SOURCE_LOCATION_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getSourceLocation() <em>Source Location</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getSourceLocation()
-	 * @generated
-	 * @ordered
-	 */
-	protected String sourceLocation = SOURCE_LOCATION_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getRelativeDestLocation() <em>Relative Dest Location</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getRelativeDestLocation()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String RELATIVE_DEST_LOCATION_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getRelativeDestLocation() <em>Relative Dest Location</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getRelativeDestLocation()
-	 * @generated
-	 * @ordered
-	 */
-	protected String relativeDestLocation = RELATIVE_DEST_LOCATION_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected ArchiveFileImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return JSFLibraryRegistryPackage.eINSTANCE.getArchiveFile();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getSourceLocation() {
-		return sourceLocation;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * Enhanced to not only set the location but also to attempt to determine
-	 * if the location passed is relative to the current workspace. If so, only
-	 * the relative location is stored. If not, the full location as passed is
-	 * stored and the relativeToWorkspace property is set to false. To override
-	 * this behaviour and set the absolute location as passed regardless, call
-	 * setRelativeToWorkspace(false) BEFORE calling this method.
-	 *  
-	 * <!-- end-user-doc -->
-	 * @generated NOT
-	 */
-	public void setSourceLocation(String newSourceLocation) {
-		String oldSourceLocation = sourceLocation;
-		if (relativeToWorkspace) {
-			IWorkspaceRoot workspaceRoot = getWorkspaceRoot();
-			if (workspaceRoot != null) {
-				IPath wsRootPath = workspaceRoot.getLocation();
-				IPath srcPath = new Path(newSourceLocation);
-				if (workspaceRoot.findMember(srcPath) != null) {
-					sourceLocation = newSourceLocation;
-				} else if (wsRootPath.isPrefixOf(srcPath)) {
-					int segmentsMatched = wsRootPath.matchingFirstSegments(srcPath);
-					srcPath = srcPath.removeFirstSegments(segmentsMatched).setDevice(null);
-					sourceLocation = srcPath.toOSString();
-				} else {
-					sourceLocation = newSourceLocation;
-					relativeToWorkspace = false;
-				}
-			}
-		} else {
-			sourceLocation = newSourceLocation;
-		}
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, JSFLibraryRegistryPackage.ARCHIVE_FILE__SOURCE_LOCATION, oldSourceLocation, sourceLocation));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isRelativeToWorkspace() {
-		return relativeToWorkspace;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * To override workspace-relative recognition behaviour, be sure to call
-	 * this method with a false value BEFORE calling setLocation(String).
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setRelativeToWorkspace(boolean newRelativeToWorkspace) {
-		boolean oldRelativeToWorkspace = relativeToWorkspace;
-		relativeToWorkspace = newRelativeToWorkspace;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, JSFLibraryRegistryPackage.ARCHIVE_FILE__RELATIVE_TO_WORKSPACE, oldRelativeToWorkspace, relativeToWorkspace));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getRelativeDestLocation() {
-		return relativeDestLocation;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setRelativeDestLocation(String newRelativeDestLocation) {
-		String oldRelativeDestLocation = relativeDestLocation;
-		relativeDestLocation = newRelativeDestLocation;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, JSFLibraryRegistryPackage.ARCHIVE_FILE__RELATIVE_DEST_LOCATION, oldRelativeDestLocation, relativeDestLocation));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public JSFLibrary getJSFLibrary() {
-		if (eContainerFeatureID != JSFLibraryRegistryPackage.ARCHIVE_FILE__JSF_LIBRARY) return null;
-		return (JSFLibrary)eContainer;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setJSFLibrary(JSFLibrary newJSFLibrary) {
-		if (newJSFLibrary != eContainer || (eContainerFeatureID != JSFLibraryRegistryPackage.ARCHIVE_FILE__JSF_LIBRARY && newJSFLibrary != null)) {
-			if (EcoreUtil.isAncestor(this, newJSFLibrary))
-				throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
-			NotificationChain msgs = null;
-			if (eContainer != null)
-				msgs = eBasicRemoveFromContainer(msgs);
-			if (newJSFLibrary != null)
-				msgs = ((InternalEObject)newJSFLibrary).eInverseAdd(this, JSFLibraryRegistryPackage.JSF_LIBRARY__ARCHIVE_FILES, JSFLibrary.class, msgs);
-			msgs = eBasicSetContainer((InternalEObject)newJSFLibrary, JSFLibraryRegistryPackage.ARCHIVE_FILE__JSF_LIBRARY, msgs);
-			if (msgs != null) msgs.dispatch();
-		}
-		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, JSFLibraryRegistryPackage.ARCHIVE_FILE__JSF_LIBRARY, newJSFLibrary, newJSFLibrary));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated NOT
-	 */
-	public String getPath() {
-		String path = null;
-		String resolvedSourceLocation = getResolvedSourceLocation();
-		if (resolvedSourceLocation != null) {
-			int iPos = resolvedSourceLocation.lastIndexOf('/');
-			if (iPos < 0) {
-				iPos = resolvedSourceLocation.lastIndexOf('\\');
-			}
-			if (iPos < 1) {
-				path = ""; //$NON-NLS-1$
-			} else {
-				path = resolvedSourceLocation.substring(0, iPos);
-			}
-		}
-		return path;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated NOT
-	 */
-	public String getName() {
-		String name = null;
-		String resolvedSourceLocation = getResolvedSourceLocation();
-		if (resolvedSourceLocation != null) {
-			int iPos = resolvedSourceLocation.lastIndexOf('/');
-			if (iPos < 0) {
-				iPos = resolvedSourceLocation.lastIndexOf('\\');
-			}
-			if (iPos < 0 || iPos == resolvedSourceLocation.length() - 1) {
-				name = resolvedSourceLocation;
-			} else {
-				name = resolvedSourceLocation.substring(iPos + 1);
-			}
-		}
-		return name;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated NOT
-	 */
-	public boolean exists() {
-		boolean exists = false;
-		if (getJSFLibrary() instanceof PluginProvidedJSFLibrary) {
-			Bundle bundle = getBundle();
-			if (bundle != null) {
-				exists = bundle.getEntry(sourceLocation) != null;
-			}
-		} else {
-			String resolvedSourceLocation = getResolvedSourceLocation();
-			if (resolvedSourceLocation != null) {
-				exists = new File(resolvedSourceLocation).exists();
-			}
-		}
-		return exists;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated NOT
-	 */
-	public boolean equals(Object object) {
-		boolean equal = false;
-		if (object != null && object instanceof ArchiveFile) {
-			String resolvedSourceLocation = getResolvedSourceLocation();
-			String objResolvedSourceLocation = ((ArchiveFile)object).getResolvedSourceLocation();
-			if (resolvedSourceLocation == null && objResolvedSourceLocation == null) {
-				equal = true;
-			} else if (resolvedSourceLocation != null) {
-				equal = resolvedSourceLocation.equals(objResolvedSourceLocation);
-			}
-		}
-		return equal;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated NOT
-	 */
-	public int hashCode() {
-		return getResolvedSourceLocation() != null ? getResolvedSourceLocation().hashCode() : 0;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated NOT
-	 */
-	public boolean copyTo(String baseDestLocation) {
-		boolean copied = false;
-		InputStream in = null;
-		OutputStream out = null;
-		IPath outPath = new Path(baseDestLocation);
-		if (relativeDestLocation != null) {
-			outPath = outPath.append(relativeDestLocation);
-		}
-		outPath = outPath.append(getName());
-		try {
-			if (!outPath.toFile().exists()) {
-				out = new FileOutputStream(outPath.toOSString());
-			} else {
-				return copied;
-			}
-			if (getJSFLibrary() instanceof PluginProvidedJSFLibrary) {
-				Bundle bundle = getBundle();
-				URL inURL = bundle.getEntry(sourceLocation);
-				if (inURL != null) {
-					in = inURL.openStream();
-				} else {
-					JSFCorePlugin.log(
-							IStatus.ERROR,
-							NLS.bind(Messages.ArchiveFileImpl_CannotLocatePluginRelativeFile,
-									sourceLocation));
-					return copied;
-				}
-			} else {
-				in = new FileInputStream(getResolvedSourceLocation());
-			}
-			byte[] buf = new byte[1024];
-			int len = 0;
-			while ((len = in.read(buf)) > 0) {
-				out.write(buf, 0, len);
-			}
-			copied = true;
-		} catch(FileNotFoundException fnfe) {
-			JSFCorePlugin.log(IStatus.ERROR, Messages.ArchiveFileImpl_CannotCopyFile, fnfe);
-		} catch(IOException ioe) {
-			JSFCorePlugin.log(IStatus.ERROR, Messages.ArchiveFileImpl_CannotCopyFile, ioe);
-		} finally {
-			try {
-				if (in != null) {
-					in.close();
-				}
-				if (out != null) {
-					out.close();
-				}
-			} catch(IOException ioe) {
-				JSFCorePlugin.log(IStatus.WARNING, Messages.ArchiveFileImpl_CannotCloseFile, ioe);
-			}
-		}
-		return copied;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated NOT
-	 */
-	public String getResolvedSourceLocation() {
-		String resolvedSourceLocation = null;
-		if (getJSFLibrary() instanceof PluginProvidedJSFLibrary) {
-			Bundle bundle = getBundle();
-			if (bundle != null) {
-				String bundleLocation= bundle.getLocation();
-				if (bundleLocation != null) {
-					resolvedSourceLocation = appendSeparator(bundleLocation) + sourceLocation; 
-				} else {
-					resolvedSourceLocation = sourceLocation;
-				}
-			} else {
-				resolvedSourceLocation = sourceLocation;
-			}
-		} else {
-			if (isRelativeToWorkspace()) {
-				IWorkspaceRoot workspaceRoot = getWorkspaceRoot();
-				if (workspaceRoot != null) {
-					String workspaceLocation = workspaceRoot.getLocation().toOSString();
-					if (workspaceLocation != null) {
-						resolvedSourceLocation = appendSeparator(workspaceLocation) + sourceLocation;
-					} else {
-						resolvedSourceLocation = sourceLocation;
-					}
-				} else {
-					resolvedSourceLocation = sourceLocation;
-				}
-			} else {
-				resolvedSourceLocation = sourceLocation;
-			}
-		}
-		return resolvedSourceLocation;
-	}
-
-	/**
-	 * Gets the Bundle instance by parent PluginProvidedJSFLibrary instance's
-	 * pluginID property, if and only if the parent JSFLibrary instance IS a
-	 * PluginProvidedJSFLibrary, else returns null.
-	 * @return Bundle instance, or null if not located or applicable
-	 */
-	protected Bundle getBundle() {
-		Bundle bundle = null;
-		if (getJSFLibrary() instanceof PluginProvidedJSFLibrary) {
-			String pluginID = ((PluginProvidedJSFLibrary)getJSFLibrary()).getPluginID();
-			if (pluginID != null) {
-				bundle = Platform.getBundle(pluginID);
-			}
-		}
-		return bundle;
-	}
-
-	/**
-	 * Gets the IWorkspaceRoot instance. 
-	 * @return IWorkspaceRoot instance
-	 */
-	protected IWorkspaceRoot getWorkspaceRoot() {
-		IWorkspaceRoot workspaceRoot = null;
-		IWorkspace workspace = ResourcesPlugin.getWorkspace();
-		if (workspace != null) {
-			workspaceRoot = workspace.getRoot();
-		}
-		return workspaceRoot;
-	}
-
-	protected String appendSeparator(String path) {
-		String newPath = null;
-		if (!path.endsWith("\\") && !path.endsWith("/")) { //$NON-NLS-1$ //$NON-NLS-2$
-			newPath = path + System.getProperty("file.separator"); //$NON-NLS-1$
-		} else {
-			newPath = path;
-		}
-		return newPath;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case JSFLibraryRegistryPackage.ARCHIVE_FILE__JSF_LIBRARY:
-					if (eContainer != null)
-						msgs = eBasicRemoveFromContainer(msgs);
-					return eBasicSetContainer(otherEnd, JSFLibraryRegistryPackage.ARCHIVE_FILE__JSF_LIBRARY, msgs);
-				default:
-					return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		if (eContainer != null)
-			msgs = eBasicRemoveFromContainer(msgs);
-		return eBasicSetContainer(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case JSFLibraryRegistryPackage.ARCHIVE_FILE__JSF_LIBRARY:
-					return eBasicSetContainer(null, JSFLibraryRegistryPackage.ARCHIVE_FILE__JSF_LIBRARY, msgs);
-				default:
-					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		return eBasicSetContainer(null, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
-		if (eContainerFeatureID >= 0) {
-			switch (eContainerFeatureID) {
-				case JSFLibraryRegistryPackage.ARCHIVE_FILE__JSF_LIBRARY:
-					return eContainer.eInverseRemove(this, JSFLibraryRegistryPackage.JSF_LIBRARY__ARCHIVE_FILES, JSFLibrary.class, msgs);
-				default:
-					return eDynamicBasicRemoveFromContainer(msgs);
-			}
-		}
-		return eContainer.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JSFLibraryRegistryPackage.ARCHIVE_FILE__RELATIVE_TO_WORKSPACE:
-				return isRelativeToWorkspace() ? Boolean.TRUE : Boolean.FALSE;
-			case JSFLibraryRegistryPackage.ARCHIVE_FILE__SOURCE_LOCATION:
-				return getSourceLocation();
-			case JSFLibraryRegistryPackage.ARCHIVE_FILE__RELATIVE_DEST_LOCATION:
-				return getRelativeDestLocation();
-			case JSFLibraryRegistryPackage.ARCHIVE_FILE__JSF_LIBRARY:
-				return getJSFLibrary();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JSFLibraryRegistryPackage.ARCHIVE_FILE__RELATIVE_TO_WORKSPACE:
-				setRelativeToWorkspace(((Boolean)newValue).booleanValue());
-				return;
-			case JSFLibraryRegistryPackage.ARCHIVE_FILE__SOURCE_LOCATION:
-				setSourceLocation((String)newValue);
-				return;
-			case JSFLibraryRegistryPackage.ARCHIVE_FILE__RELATIVE_DEST_LOCATION:
-				setRelativeDestLocation((String)newValue);
-				return;
-			case JSFLibraryRegistryPackage.ARCHIVE_FILE__JSF_LIBRARY:
-				setJSFLibrary((JSFLibrary)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JSFLibraryRegistryPackage.ARCHIVE_FILE__RELATIVE_TO_WORKSPACE:
-				setRelativeToWorkspace(RELATIVE_TO_WORKSPACE_EDEFAULT);
-				return;
-			case JSFLibraryRegistryPackage.ARCHIVE_FILE__SOURCE_LOCATION:
-				setSourceLocation(SOURCE_LOCATION_EDEFAULT);
-				return;
-			case JSFLibraryRegistryPackage.ARCHIVE_FILE__RELATIVE_DEST_LOCATION:
-				setRelativeDestLocation(RELATIVE_DEST_LOCATION_EDEFAULT);
-				return;
-			case JSFLibraryRegistryPackage.ARCHIVE_FILE__JSF_LIBRARY:
-				setJSFLibrary((JSFLibrary)null);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JSFLibraryRegistryPackage.ARCHIVE_FILE__RELATIVE_TO_WORKSPACE:
-				return relativeToWorkspace != RELATIVE_TO_WORKSPACE_EDEFAULT;
-			case JSFLibraryRegistryPackage.ARCHIVE_FILE__SOURCE_LOCATION:
-				return SOURCE_LOCATION_EDEFAULT == null ? sourceLocation != null : !SOURCE_LOCATION_EDEFAULT.equals(sourceLocation);
-			case JSFLibraryRegistryPackage.ARCHIVE_FILE__RELATIVE_DEST_LOCATION:
-				return RELATIVE_DEST_LOCATION_EDEFAULT == null ? relativeDestLocation != null : !RELATIVE_DEST_LOCATION_EDEFAULT.equals(relativeDestLocation);
-			case JSFLibraryRegistryPackage.ARCHIVE_FILE__JSF_LIBRARY:
-				return getJSFLibrary() != null;
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (RelativeToWorkspace: ");
-		result.append(relativeToWorkspace);
-		result.append(", SourceLocation: ");
-		result.append(sourceLocation);
-		result.append(", RelativeDestLocation: ");
-		result.append(relativeDestLocation);
-		result.append(')');
-		return result.toString();
-	}
-
-} //ArchiveFileImpl
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/impl/JSFLibraryImpl.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/impl/JSFLibraryImpl.java
deleted file mode 100644
index 2986563..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/impl/JSFLibraryImpl.java
+++ /dev/null
@@ -1,560 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * 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:
- *    Ian Trimble - initial API and implementation
- *******************************************************************************/ 
-package org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryFactory;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFVersion;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.adapter.MaintainDefaultImplementationAdapter;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>JSF Library</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryImpl#getID <em>ID</em>}</li>
- *   <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryImpl#getName <em>Name</em>}</li>
- *   <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryImpl#getJSFVersion <em>JSF Version</em>}</li>
- *   <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryImpl#isDeployed <em>Deployed</em>}</li>
- *   <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryImpl#isImplementation <em>Implementation</em>}</li>
- *   <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryImpl#getArchiveFiles <em>Archive Files</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class JSFLibraryImpl extends EObjectImpl implements JSFLibrary {
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static final String copyright = "Copyright (c) 2005 Oracle Corporation";
-
-	/**
-	 * The default value of the '{@link #getID() <em>ID</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getID()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String ID_EDEFAULT = "";
-
-	/**
-	 * The cached value of the '{@link #getID() <em>ID</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getID()
-	 * @generated
-	 * @ordered
-	 */
-	protected String id = ID_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getName()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String NAME_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getName()
-	 * @generated
-	 * @ordered
-	 */
-	protected String name = NAME_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getJSFVersion() <em>JSF Version</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getJSFVersion()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final JSFVersion JSF_VERSION_EDEFAULT = JSFVersion.UNKNOWN_LITERAL;
-
-	/**
-	 * The cached value of the '{@link #getJSFVersion() <em>JSF Version</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getJSFVersion()
-	 * @generated
-	 * @ordered
-	 */
-	protected JSFVersion jsfVersion = JSF_VERSION_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #isDeployed() <em>Deployed</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isDeployed()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean DEPLOYED_EDEFAULT = true;
-
-	/**
-	 * The cached value of the '{@link #isDeployed() <em>Deployed</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isDeployed()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean deployed = DEPLOYED_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #isImplementation() <em>Implementation</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isImplementation()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean IMPLEMENTATION_EDEFAULT = false;
-
-	/**
-	 * The cached value of the '{@link #isImplementation() <em>Implementation</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isImplementation()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean implementation = IMPLEMENTATION_EDEFAULT;
-
-	/**
-	 * The cached value of the '{@link #getArchiveFiles() <em>Archive Files</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getArchiveFiles()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList archiveFiles = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * Enhanced to not only create an instance but also to set an initial ID
-	 * (which can be reset later) and to add the
-	 * MaintainDefaultImplementationAdapter to the list of adapters.
-	 * <!-- end-user-doc -->
-	 * @generated NOT
-	 */
-	protected JSFLibraryImpl() {
-		super();
-		//set initial ID; will be overwritten from XML if already persisted
-		setID(String.valueOf(System.currentTimeMillis()));
-		//add adapter to maintain a default implementation
-		eAdapters().add(MaintainDefaultImplementationAdapter.getInstance());
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return JSFLibraryRegistryPackage.eINSTANCE.getJSFLibrary();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getID() {
-		return id;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setID(String newID) {
-		String oldID = id;
-		id = newID;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, JSFLibraryRegistryPackage.JSF_LIBRARY__ID, oldID, id));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setName(String newName) {
-		String oldName = name;
-		name = newName;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, JSFLibraryRegistryPackage.JSF_LIBRARY__NAME, oldName, name));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public JSFVersion getJSFVersion() {
-		return jsfVersion;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setJSFVersion(JSFVersion newJSFVersion) {
-		JSFVersion oldJSFVersion = jsfVersion;
-		jsfVersion = newJSFVersion == null ? JSF_VERSION_EDEFAULT : newJSFVersion;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, JSFLibraryRegistryPackage.JSF_LIBRARY__JSF_VERSION, oldJSFVersion, jsfVersion));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isDeployed() {
-		return deployed;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setDeployed(boolean newDeployed) {
-		boolean oldDeployed = deployed;
-		deployed = newDeployed;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, JSFLibraryRegistryPackage.JSF_LIBRARY__DEPLOYED, oldDeployed, deployed));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isImplementation() {
-		return implementation;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setImplementation(boolean newImplementation) {
-		boolean oldImplementation = implementation;
-		implementation = newImplementation;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, JSFLibraryRegistryPackage.JSF_LIBRARY__IMPLEMENTATION, oldImplementation, implementation));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList getArchiveFiles() {
-		if (archiveFiles == null) {
-			archiveFiles = new EObjectContainmentWithInverseEList(ArchiveFile.class, this, JSFLibraryRegistryPackage.JSF_LIBRARY__ARCHIVE_FILES, JSFLibraryRegistryPackage.ARCHIVE_FILE__JSF_LIBRARY);
-		}
-		return archiveFiles;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated NOT
-	 */
-	public boolean containsArchiveFile(String fullPath) {
-		boolean contains = false;
-		if (fullPath != null) {
-			Iterator itArchiveFiles = getArchiveFiles().iterator();
-			while (itArchiveFiles.hasNext()) {
-				ArchiveFile archiveFile = (ArchiveFile)itArchiveFiles.next();
-				if (fullPath.equals(archiveFile.getResolvedSourceLocation())) {
-					contains = true;
-					break;
-				}
-			}
-		}
-		return contains;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated NOT
-	 */
-	public JSFLibrary getWorkingCopy() {
-		JSFLibrary workingCopyLib = JSFLibraryRegistryFactory.eINSTANCE.createJSFLibrary();
-		workingCopyLib.setID(getID());
-		workingCopyLib.setName(getName());
-		workingCopyLib.setJSFVersion(getJSFVersion());
-		workingCopyLib.setDeployed(isDeployed());
-		workingCopyLib.setImplementation(isImplementation());
-		Iterator itArchiveFiles = getArchiveFiles().iterator();
-		while (itArchiveFiles.hasNext()) {
-			ArchiveFile srcArchiveFile = (ArchiveFile)itArchiveFiles.next();
-			ArchiveFile destArchiveFile = JSFLibraryRegistryFactory.eINSTANCE.createArchiveFile();
-			destArchiveFile.setRelativeToWorkspace(srcArchiveFile.isRelativeToWorkspace());
-			destArchiveFile.setSourceLocation(srcArchiveFile.getSourceLocation());
-			destArchiveFile.setRelativeDestLocation(srcArchiveFile.getRelativeDestLocation());
-			workingCopyLib.getArchiveFiles().add(destArchiveFile);
-		}
-		return workingCopyLib;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated NOT
-	 */
-	public void updateValues(JSFLibrary otherLibrary) {
-		if (otherLibrary != null) {
-			setID(otherLibrary.getID());
-			setName(otherLibrary.getName());
-			setJSFVersion(otherLibrary.getJSFVersion());
-			setDeployed(otherLibrary.isDeployed());
-			setImplementation(otherLibrary.isImplementation());
-			Iterator itArchiveFiles = otherLibrary.getArchiveFiles().iterator();
-			getArchiveFiles().clear();
-			while (itArchiveFiles.hasNext()) {
-				ArchiveFile srcArchiveFile = (ArchiveFile)itArchiveFiles.next();
-				ArchiveFile destArchiveFile = JSFLibraryRegistryFactory.eINSTANCE.createArchiveFile();
-				destArchiveFile.setRelativeToWorkspace(srcArchiveFile.isRelativeToWorkspace());
-				destArchiveFile.setSourceLocation(srcArchiveFile.getSourceLocation());
-				destArchiveFile.setRelativeDestLocation(srcArchiveFile.getRelativeDestLocation());
-				getArchiveFiles().add(destArchiveFile);
-			}
-		}
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated NOT
-	 */
-	public boolean copyTo(String baseDestLocation) {
-		boolean allCopied = true;
-		Iterator itFiles = getArchiveFiles().iterator();
-		while (itFiles.hasNext()) {
-			ArchiveFile archiveFile = (ArchiveFile)itFiles.next();
-			boolean copied = archiveFile.copyTo(baseDestLocation);
-			allCopied = allCopied && copied;
-		}
-		return allCopied;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case JSFLibraryRegistryPackage.JSF_LIBRARY__ARCHIVE_FILES:
-					return ((InternalEList)getArchiveFiles()).basicAdd(otherEnd, msgs);
-				default:
-					return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		if (eContainer != null)
-			msgs = eBasicRemoveFromContainer(msgs);
-		return eBasicSetContainer(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case JSFLibraryRegistryPackage.JSF_LIBRARY__ARCHIVE_FILES:
-					return ((InternalEList)getArchiveFiles()).basicRemove(otherEnd, msgs);
-				default:
-					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		return eBasicSetContainer(null, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JSFLibraryRegistryPackage.JSF_LIBRARY__ID:
-				return getID();
-			case JSFLibraryRegistryPackage.JSF_LIBRARY__NAME:
-				return getName();
-			case JSFLibraryRegistryPackage.JSF_LIBRARY__JSF_VERSION:
-				return getJSFVersion();
-			case JSFLibraryRegistryPackage.JSF_LIBRARY__DEPLOYED:
-				return isDeployed() ? Boolean.TRUE : Boolean.FALSE;
-			case JSFLibraryRegistryPackage.JSF_LIBRARY__IMPLEMENTATION:
-				return isImplementation() ? Boolean.TRUE : Boolean.FALSE;
-			case JSFLibraryRegistryPackage.JSF_LIBRARY__ARCHIVE_FILES:
-				return getArchiveFiles();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JSFLibraryRegistryPackage.JSF_LIBRARY__ID:
-				setID((String)newValue);
-				return;
-			case JSFLibraryRegistryPackage.JSF_LIBRARY__NAME:
-				setName((String)newValue);
-				return;
-			case JSFLibraryRegistryPackage.JSF_LIBRARY__JSF_VERSION:
-				setJSFVersion((JSFVersion)newValue);
-				return;
-			case JSFLibraryRegistryPackage.JSF_LIBRARY__DEPLOYED:
-				setDeployed(((Boolean)newValue).booleanValue());
-				return;
-			case JSFLibraryRegistryPackage.JSF_LIBRARY__IMPLEMENTATION:
-				setImplementation(((Boolean)newValue).booleanValue());
-				return;
-			case JSFLibraryRegistryPackage.JSF_LIBRARY__ARCHIVE_FILES:
-				getArchiveFiles().clear();
-				getArchiveFiles().addAll((Collection)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JSFLibraryRegistryPackage.JSF_LIBRARY__ID:
-				setID(ID_EDEFAULT);
-				return;
-			case JSFLibraryRegistryPackage.JSF_LIBRARY__NAME:
-				setName(NAME_EDEFAULT);
-				return;
-			case JSFLibraryRegistryPackage.JSF_LIBRARY__JSF_VERSION:
-				setJSFVersion(JSF_VERSION_EDEFAULT);
-				return;
-			case JSFLibraryRegistryPackage.JSF_LIBRARY__DEPLOYED:
-				setDeployed(DEPLOYED_EDEFAULT);
-				return;
-			case JSFLibraryRegistryPackage.JSF_LIBRARY__IMPLEMENTATION:
-				setImplementation(IMPLEMENTATION_EDEFAULT);
-				return;
-			case JSFLibraryRegistryPackage.JSF_LIBRARY__ARCHIVE_FILES:
-				getArchiveFiles().clear();
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JSFLibraryRegistryPackage.JSF_LIBRARY__ID:
-				return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
-			case JSFLibraryRegistryPackage.JSF_LIBRARY__NAME:
-				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
-			case JSFLibraryRegistryPackage.JSF_LIBRARY__JSF_VERSION:
-				return jsfVersion != JSF_VERSION_EDEFAULT;
-			case JSFLibraryRegistryPackage.JSF_LIBRARY__DEPLOYED:
-				return deployed != DEPLOYED_EDEFAULT;
-			case JSFLibraryRegistryPackage.JSF_LIBRARY__IMPLEMENTATION:
-				return implementation != IMPLEMENTATION_EDEFAULT;
-			case JSFLibraryRegistryPackage.JSF_LIBRARY__ARCHIVE_FILES:
-				return archiveFiles != null && !archiveFiles.isEmpty();
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (ID: ");
-		result.append(id);
-		result.append(", Name: ");
-		result.append(name);
-		result.append(", JSFVersion: ");
-		result.append(jsfVersion);
-		result.append(", Deployed: ");
-		result.append(deployed);
-		result.append(", Implementation: ");
-		result.append(implementation);
-		result.append(')');
-		return result.toString();
-	}
-
-} //JSFLibraryImpl
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/impl/JSFLibraryRegistryFactoryImpl.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/impl/JSFLibraryRegistryFactoryImpl.java
deleted file mode 100644
index d7ce56e..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/impl/JSFLibraryRegistryFactoryImpl.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * 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:
- *    Ian Trimble - initial API and implementation
- *******************************************************************************/ 
-package org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.impl.EFactoryImpl;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistry;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryFactory;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFVersion;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.PluginProvidedJSFLibrary;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Factory</b>.
- * <!-- end-user-doc -->
- * @generated
- */
-public class JSFLibraryRegistryFactoryImpl extends EFactoryImpl implements JSFLibraryRegistryFactory {
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static final String copyright = "Copyright (c) 2005 Oracle Corporation";
-
-	/**
-	 * Creates an instance of the factory.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public JSFLibraryRegistryFactoryImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EObject create(EClass eClass) {
-		switch (eClass.getClassifierID()) {
-			case JSFLibraryRegistryPackage.JSF_LIBRARY_REGISTRY: return createJSFLibraryRegistry();
-			case JSFLibraryRegistryPackage.JSF_LIBRARY: return createJSFLibrary();
-			case JSFLibraryRegistryPackage.ARCHIVE_FILE: return createArchiveFile();
-			case JSFLibraryRegistryPackage.PLUGIN_PROVIDED_JSF_LIBRARY: return createPluginProvidedJSFLibrary();
-			default:
-				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
-		}
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object createFromString(EDataType eDataType, String initialValue) {
-		switch (eDataType.getClassifierID()) {
-			case JSFLibraryRegistryPackage.JSF_VERSION: {
-				JSFVersion result = JSFVersion.get(initialValue);
-				if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
-				return result;
-			}
-			default:
-				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
-		}
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String convertToString(EDataType eDataType, Object instanceValue) {
-		switch (eDataType.getClassifierID()) {
-			case JSFLibraryRegistryPackage.JSF_VERSION:
-				return instanceValue == null ? null : instanceValue.toString();
-			default:
-				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
-		}
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public JSFLibraryRegistry createJSFLibraryRegistry() {
-		JSFLibraryRegistryImpl jsfLibraryRegistry = new JSFLibraryRegistryImpl();
-		return jsfLibraryRegistry;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public JSFLibrary createJSFLibrary() {
-		JSFLibraryImpl jsfLibrary = new JSFLibraryImpl();
-		return jsfLibrary;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ArchiveFile createArchiveFile() {
-		ArchiveFileImpl archiveFile = new ArchiveFileImpl();
-		return archiveFile;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public PluginProvidedJSFLibrary createPluginProvidedJSFLibrary() {
-		PluginProvidedJSFLibraryImpl pluginProvidedJSFLibrary = new PluginProvidedJSFLibraryImpl();
-		return pluginProvidedJSFLibrary;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public JSFLibraryRegistryPackage getJSFLibraryRegistryPackage() {
-		return (JSFLibraryRegistryPackage)getEPackage();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @deprecated
-	 * @generated
-	 */
-	public static JSFLibraryRegistryPackage getPackage() {
-		return JSFLibraryRegistryPackage.eINSTANCE;
-	}
-
-} //JSFLibraryRegistryFactoryImpl
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/impl/JSFLibraryRegistryImpl.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/impl/JSFLibraryRegistryImpl.java
deleted file mode 100644
index f460618..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/impl/JSFLibraryRegistryImpl.java
+++ /dev/null
@@ -1,419 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * 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:
- *    Ian Trimble - initial API and implementation
- *******************************************************************************/ 
-package org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistry;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.PluginProvidedJSFLibrary;
-
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>JSF Library Registry</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryRegistryImpl#getDefaultImplementationID <em>Default Implementation ID</em>}</li>
- *   <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryRegistryImpl#getJSFLibraries <em>JSF Libraries</em>}</li>
- *   <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryRegistryImpl#getPluginProvidedJSFLibraries <em>Plugin Provided JSF Libraries</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class JSFLibraryRegistryImpl extends EObjectImpl implements JSFLibraryRegistry {
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static final String copyright = "Copyright (c) 2005 Oracle Corporation";
-
-	/**
-	 * The default value of the '{@link #getDefaultImplementationID() <em>Default Implementation ID</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getDefaultImplementationID()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String DEFAULT_IMPLEMENTATION_ID_EDEFAULT = "";
-
-	/**
-	 * The cached value of the '{@link #getDefaultImplementationID() <em>Default Implementation ID</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getDefaultImplementationID()
-	 * @generated
-	 * @ordered
-	 */
-	protected String defaultImplementationID = DEFAULT_IMPLEMENTATION_ID_EDEFAULT;
-
-	/**
-	 * The cached value of the '{@link #getJSFLibraries() <em>JSF Libraries</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getJSFLibraries()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList jsfLibraries = null;
-
-	/**
-	 * The cached value of the '{@link #getPluginProvidedJSFLibraries() <em>Plugin Provided JSF Libraries</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPluginProvidedJSFLibraries()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList pluginProvidedJSFLibraries = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected JSFLibraryRegistryImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return JSFLibraryRegistryPackage.eINSTANCE.getJSFLibraryRegistry();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getDefaultImplementationID() {
-		return defaultImplementationID;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setDefaultImplementationID(String newDefaultImplementationID) {
-		String oldDefaultImplementationID = defaultImplementationID;
-		defaultImplementationID = newDefaultImplementationID;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, JSFLibraryRegistryPackage.JSF_LIBRARY_REGISTRY__DEFAULT_IMPLEMENTATION_ID, oldDefaultImplementationID, defaultImplementationID));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList getJSFLibraries() {
-		if (jsfLibraries == null) {
-			jsfLibraries = new EObjectContainmentEList(JSFLibrary.class, this, JSFLibraryRegistryPackage.JSF_LIBRARY_REGISTRY__JSF_LIBRARIES);
-		}
-		return jsfLibraries;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList getPluginProvidedJSFLibraries() {
-		if (pluginProvidedJSFLibraries == null) {
-			pluginProvidedJSFLibraries = new EObjectContainmentEList(PluginProvidedJSFLibrary.class, this, JSFLibraryRegistryPackage.JSF_LIBRARY_REGISTRY__PLUGIN_PROVIDED_JSF_LIBRARIES);
-		}
-		return pluginProvidedJSFLibraries;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated NOT
-	 */
-	public JSFLibrary getDefaultImplementation() {
-		return getJSFLibraryByID(getDefaultImplementationID());
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated NOT
-	 */
-	public void setDefaultImplementation(JSFLibrary implementation) {
-		if (implementation != null) {
-			setDefaultImplementationID(implementation.getID());
-		} else {
-			setDefaultImplementationID(null);
-		}
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated NOT
-	 */
-	public JSFLibrary getJSFLibraryByID(String ID) {
-		JSFLibrary library = null;
-		if (ID != null) {
-			Iterator itLibs = getAllJSFLibraries().iterator();
-			while (itLibs.hasNext()) {
-				JSFLibrary curLib = (JSFLibrary)itLibs.next();
-				if (ID.equals(curLib.getID())) {
-					library = curLib;
-					break;
-				}
-			}
-		}
-		return library;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated NOT
-	 */
-	public EList getJSFLibrariesByName(String name) {
-		EList libraries = new BasicEList();
-		if (name != null) {
-			Iterator itLibs = getAllJSFLibraries().iterator();
-			while(itLibs.hasNext()) {
-				JSFLibrary curLib = (JSFLibrary)itLibs.next();
-				if (name.equals(curLib.getName())) {
-					libraries.add(curLib);
-				}
-			}
-		}
-		return libraries;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * This is a convenience method to return an EList of JSFLibrary instances
-	 * that are marked as JSF implementations; while all instances are valid
-	 * references, the returned EList should not be used for additions and/or
-	 * removals of instances (use the EList returned by getJSFLibraries()).
-	 * <!-- end-user-doc -->
-	 * @generated NOT
-	 */
-	public EList getImplJSFLibraries() {
-		EList implementations = new BasicEList();
-		Iterator itLibs = getAllJSFLibraries().iterator();
-		while (itLibs.hasNext()) {
-			JSFLibrary lib = (JSFLibrary)itLibs.next();
-			if (lib.isImplementation()) {
-				implementations.add(lib);
-			}
-		}
-		return implementations;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * This is a convenience method to return an EList of JSFLibrary instances
-	 * that are not marked as JSF implementations; while all instances are
-	 * valid references, the returned EList should not be used for additions
-	 * and/or removals of instances (use the EList returned by
-	 * getJSFLibraries()).
-	 * <!-- end-user-doc -->
-	 * @generated NOT
-	 */
-	public EList getNonImplJSFLibraries() {
-		EList nonImplementations = new BasicEList();
-		Iterator itLibs = getAllJSFLibraries().iterator();
-		while (itLibs.hasNext()) {
-			JSFLibrary lib = (JSFLibrary)itLibs.next();
-			if (!lib.isImplementation()) {
-				nonImplementations.add(lib);
-			}
-		}
-		return nonImplementations;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * This is a convenience method to return an EList of JSFLibrary instances
-	 * and PluginProvidedJSFLibrary instances; while all instances are valid
-	 * references, the returned EList should not be used for additions and/or
-	 * removals of instances (use the EList returned by getJSFLibraries()).
-	 * <!-- end-user-doc -->
-	 * @generated NOT
-	 */
-	public EList getAllJSFLibraries() {
-		EList allLibs = new BasicEList();
-		allLibs.addAll(getJSFLibraries());
-		allLibs.addAll(getPluginProvidedJSFLibraries());
-		return allLibs;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated NOT
-	 */
-	public boolean addJSFLibrary(JSFLibrary library) {
-		boolean added = false;
-		if (library instanceof PluginProvidedJSFLibrary) {
-			added = getPluginProvidedJSFLibraries().add(library);
-		} else {
-			added = getJSFLibraries().add(library);
-		}
-		return added;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated NOT
-	 */
-	public boolean removeJSFLibrary(JSFLibrary library) {
-		boolean removed = false;
-		if (library instanceof PluginProvidedJSFLibrary) {
-			removed = getPluginProvidedJSFLibraries().remove(library);
-		} else {
-			removed = getJSFLibraries().remove(library);
-		}
-		return removed;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case JSFLibraryRegistryPackage.JSF_LIBRARY_REGISTRY__JSF_LIBRARIES:
-					return ((InternalEList)getJSFLibraries()).basicRemove(otherEnd, msgs);
-				case JSFLibraryRegistryPackage.JSF_LIBRARY_REGISTRY__PLUGIN_PROVIDED_JSF_LIBRARIES:
-					return ((InternalEList)getPluginProvidedJSFLibraries()).basicRemove(otherEnd, msgs);
-				default:
-					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		return eBasicSetContainer(null, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JSFLibraryRegistryPackage.JSF_LIBRARY_REGISTRY__DEFAULT_IMPLEMENTATION_ID:
-				return getDefaultImplementationID();
-			case JSFLibraryRegistryPackage.JSF_LIBRARY_REGISTRY__JSF_LIBRARIES:
-				return getJSFLibraries();
-			case JSFLibraryRegistryPackage.JSF_LIBRARY_REGISTRY__PLUGIN_PROVIDED_JSF_LIBRARIES:
-				return getPluginProvidedJSFLibraries();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JSFLibraryRegistryPackage.JSF_LIBRARY_REGISTRY__DEFAULT_IMPLEMENTATION_ID:
-				setDefaultImplementationID((String)newValue);
-				return;
-			case JSFLibraryRegistryPackage.JSF_LIBRARY_REGISTRY__JSF_LIBRARIES:
-				getJSFLibraries().clear();
-				getJSFLibraries().addAll((Collection)newValue);
-				return;
-			case JSFLibraryRegistryPackage.JSF_LIBRARY_REGISTRY__PLUGIN_PROVIDED_JSF_LIBRARIES:
-				getPluginProvidedJSFLibraries().clear();
-				getPluginProvidedJSFLibraries().addAll((Collection)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JSFLibraryRegistryPackage.JSF_LIBRARY_REGISTRY__DEFAULT_IMPLEMENTATION_ID:
-				setDefaultImplementationID(DEFAULT_IMPLEMENTATION_ID_EDEFAULT);
-				return;
-			case JSFLibraryRegistryPackage.JSF_LIBRARY_REGISTRY__JSF_LIBRARIES:
-				getJSFLibraries().clear();
-				return;
-			case JSFLibraryRegistryPackage.JSF_LIBRARY_REGISTRY__PLUGIN_PROVIDED_JSF_LIBRARIES:
-				getPluginProvidedJSFLibraries().clear();
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JSFLibraryRegistryPackage.JSF_LIBRARY_REGISTRY__DEFAULT_IMPLEMENTATION_ID:
-				return DEFAULT_IMPLEMENTATION_ID_EDEFAULT == null ? defaultImplementationID != null : !DEFAULT_IMPLEMENTATION_ID_EDEFAULT.equals(defaultImplementationID);
-			case JSFLibraryRegistryPackage.JSF_LIBRARY_REGISTRY__JSF_LIBRARIES:
-				return jsfLibraries != null && !jsfLibraries.isEmpty();
-			case JSFLibraryRegistryPackage.JSF_LIBRARY_REGISTRY__PLUGIN_PROVIDED_JSF_LIBRARIES:
-				return pluginProvidedJSFLibraries != null && !pluginProvidedJSFLibraries.isEmpty();
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (DefaultImplementationID: ");
-		result.append(defaultImplementationID);
-		result.append(')');
-		return result.toString();
-	}
-
-} //JSFLibraryRegistryImpl
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/impl/JSFLibraryRegistryPackageImpl.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/impl/JSFLibraryRegistryPackageImpl.java
deleted file mode 100644
index 6d496c9..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/impl/JSFLibraryRegistryPackageImpl.java
+++ /dev/null
@@ -1,480 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * 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:
- *    Ian Trimble - initial API and implementation
- *******************************************************************************/ 
-package org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EEnum;
-import org.eclipse.emf.ecore.EOperation;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.impl.EPackageImpl;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistry;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryFactory;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFVersion;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.PluginProvidedJSFLibrary;
-
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Package</b>.
- * <!-- end-user-doc -->
- * @generated
- */
-public class JSFLibraryRegistryPackageImpl extends EPackageImpl implements JSFLibraryRegistryPackage {
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static final String copyright = "Copyright (c) 2005 Oracle Corporation";
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass jsfLibraryRegistryEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass jsfLibraryEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass archiveFileEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass pluginProvidedJSFLibraryEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EEnum jsfVersionEEnum = null;
-
-	/**
-	 * Creates an instance of the model <b>Package</b>, registered with
-	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
-	 * package URI value.
-	 * <p>Note: the correct way to create the package is via the static
-	 * factory method {@link #init init()}, which also performs
-	 * initialization of the package, or returns the registered package,
-	 * if one already exists.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.emf.ecore.EPackage.Registry
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage#eNS_URI
-	 * @see #init()
-	 * @generated
-	 */
-	private JSFLibraryRegistryPackageImpl() {
-		super(eNS_URI, JSFLibraryRegistryFactory.eINSTANCE);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private static boolean isInited = false;
-
-	/**
-	 * Creates, registers, and initializes the <b>Package</b> for this
-	 * model, and for any others upon which it depends.  Simple
-	 * dependencies are satisfied by calling this method on all
-	 * dependent packages before doing anything else.  This method drives
-	 * initialization for interdependent packages directly, in parallel
-	 * with this package, itself.
-	 * <p>Of this package and its interdependencies, all packages which
-	 * have not yet been registered by their URI values are first created
-	 * and registered.  The packages are then initialized in two steps:
-	 * meta-model objects for all of the packages are created before any
-	 * are initialized, since one package's meta-model objects may refer to
-	 * those of another.
-	 * <p>Invocation of this method will not affect any packages that have
-	 * already been initialized.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #eNS_URI
-	 * @see #createPackageContents()
-	 * @see #initializePackageContents()
-	 * @generated
-	 */
-	public static JSFLibraryRegistryPackage init() {
-		if (isInited) return (JSFLibraryRegistryPackage)EPackage.Registry.INSTANCE.getEPackage(JSFLibraryRegistryPackage.eNS_URI);
-
-		// Obtain or create and register package
-		JSFLibraryRegistryPackageImpl theJSFLibraryRegistryPackage = (JSFLibraryRegistryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(eNS_URI) instanceof JSFLibraryRegistryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(eNS_URI) : new JSFLibraryRegistryPackageImpl());
-
-		isInited = true;
-
-		// Create package meta-data objects
-		theJSFLibraryRegistryPackage.createPackageContents();
-
-		// Initialize created meta-data
-		theJSFLibraryRegistryPackage.initializePackageContents();
-
-		// Mark meta-data to indicate it can't be changed
-		theJSFLibraryRegistryPackage.freeze();
-
-		return theJSFLibraryRegistryPackage;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getJSFLibraryRegistry() {
-		return jsfLibraryRegistryEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getJSFLibraryRegistry_DefaultImplementationID() {
-		return (EAttribute)jsfLibraryRegistryEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getJSFLibraryRegistry_JSFLibraries() {
-		return (EReference)jsfLibraryRegistryEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getJSFLibraryRegistry_PluginProvidedJSFLibraries() {
-		return (EReference)jsfLibraryRegistryEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getJSFLibrary() {
-		return jsfLibraryEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getJSFLibrary_ID() {
-		return (EAttribute)jsfLibraryEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getJSFLibrary_Name() {
-		return (EAttribute)jsfLibraryEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getJSFLibrary_JSFVersion() {
-		return (EAttribute)jsfLibraryEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getJSFLibrary_Deployed() {
-		return (EAttribute)jsfLibraryEClass.getEStructuralFeatures().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getJSFLibrary_Implementation() {
-		return (EAttribute)jsfLibraryEClass.getEStructuralFeatures().get(4);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getJSFLibrary_ArchiveFiles() {
-		return (EReference)jsfLibraryEClass.getEStructuralFeatures().get(5);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getArchiveFile() {
-		return archiveFileEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getArchiveFile_SourceLocation() {
-		return (EAttribute)archiveFileEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getArchiveFile_RelativeToWorkspace() {
-		return (EAttribute)archiveFileEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getArchiveFile_RelativeDestLocation() {
-		return (EAttribute)archiveFileEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getArchiveFile_JSFLibrary() {
-		return (EReference)archiveFileEClass.getEStructuralFeatures().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getPluginProvidedJSFLibrary() {
-		return pluginProvidedJSFLibraryEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPluginProvidedJSFLibrary_PluginID() {
-		return (EAttribute)pluginProvidedJSFLibraryEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EEnum getJSFVersion() {
-		return jsfVersionEEnum;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public JSFLibraryRegistryFactory getJSFLibraryRegistryFactory() {
-		return (JSFLibraryRegistryFactory)getEFactoryInstance();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private boolean isCreated = false;
-
-	/**
-	 * Creates the meta-model objects for the package.  This method is
-	 * guarded to have no affect on any invocation but its first.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void createPackageContents() {
-		if (isCreated) return;
-		isCreated = true;
-
-		// Create classes and their features
-		jsfLibraryRegistryEClass = createEClass(JSF_LIBRARY_REGISTRY);
-		createEAttribute(jsfLibraryRegistryEClass, JSF_LIBRARY_REGISTRY__DEFAULT_IMPLEMENTATION_ID);
-		createEReference(jsfLibraryRegistryEClass, JSF_LIBRARY_REGISTRY__JSF_LIBRARIES);
-		createEReference(jsfLibraryRegistryEClass, JSF_LIBRARY_REGISTRY__PLUGIN_PROVIDED_JSF_LIBRARIES);
-
-		jsfLibraryEClass = createEClass(JSF_LIBRARY);
-		createEAttribute(jsfLibraryEClass, JSF_LIBRARY__ID);
-		createEAttribute(jsfLibraryEClass, JSF_LIBRARY__NAME);
-		createEAttribute(jsfLibraryEClass, JSF_LIBRARY__JSF_VERSION);
-		createEAttribute(jsfLibraryEClass, JSF_LIBRARY__DEPLOYED);
-		createEAttribute(jsfLibraryEClass, JSF_LIBRARY__IMPLEMENTATION);
-		createEReference(jsfLibraryEClass, JSF_LIBRARY__ARCHIVE_FILES);
-
-		archiveFileEClass = createEClass(ARCHIVE_FILE);
-		createEAttribute(archiveFileEClass, ARCHIVE_FILE__RELATIVE_TO_WORKSPACE);
-		createEAttribute(archiveFileEClass, ARCHIVE_FILE__SOURCE_LOCATION);
-		createEAttribute(archiveFileEClass, ARCHIVE_FILE__RELATIVE_DEST_LOCATION);
-		createEReference(archiveFileEClass, ARCHIVE_FILE__JSF_LIBRARY);
-
-		pluginProvidedJSFLibraryEClass = createEClass(PLUGIN_PROVIDED_JSF_LIBRARY);
-		createEAttribute(pluginProvidedJSFLibraryEClass, PLUGIN_PROVIDED_JSF_LIBRARY__PLUGIN_ID);
-
-		// Create enums
-		jsfVersionEEnum = createEEnum(JSF_VERSION);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private boolean isInitialized = false;
-
-	/**
-	 * Complete the initialization of the package and its meta-model.  This
-	 * method is guarded to have no affect on any invocation but its first.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void initializePackageContents() {
-		if (isInitialized) return;
-		isInitialized = true;
-
-		// Initialize package
-		setName(eNAME);
-		setNsPrefix(eNS_PREFIX);
-		setNsURI(eNS_URI);
-
-		// Add supertypes to classes
-		pluginProvidedJSFLibraryEClass.getESuperTypes().add(this.getJSFLibrary());
-
-		// Initialize classes and features; add operations and parameters
-		initEClass(jsfLibraryRegistryEClass, JSFLibraryRegistry.class, "JSFLibraryRegistry", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getJSFLibraryRegistry_DefaultImplementationID(), ecorePackage.getEString(), "DefaultImplementationID", "", 0, 1, JSFLibraryRegistry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getJSFLibraryRegistry_JSFLibraries(), this.getJSFLibrary(), null, "JSFLibraries", null, 0, -1, JSFLibraryRegistry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getJSFLibraryRegistry_PluginProvidedJSFLibraries(), this.getPluginProvidedJSFLibrary(), null, "PluginProvidedJSFLibraries", null, 0, -1, JSFLibraryRegistry.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-		addEOperation(jsfLibraryRegistryEClass, ecorePackage.getEEList(), "getImplJSFLibraries");
-
-		addEOperation(jsfLibraryRegistryEClass, ecorePackage.getEEList(), "getNonImplJSFLibraries");
-
-		EOperation op = addEOperation(jsfLibraryRegistryEClass, this.getJSFLibrary(), "getJSFLibraryByID");
-		addEParameter(op, ecorePackage.getEString(), "ID");
-
-		op = addEOperation(jsfLibraryRegistryEClass, ecorePackage.getEEList(), "getJSFLibrariesByName");
-		addEParameter(op, ecorePackage.getEString(), "name");
-
-		addEOperation(jsfLibraryRegistryEClass, ecorePackage.getEEList(), "getAllJSFLibraries");
-
-		op = addEOperation(jsfLibraryRegistryEClass, ecorePackage.getEBoolean(), "addJSFLibrary");
-		addEParameter(op, this.getJSFLibrary(), "library");
-
-		op = addEOperation(jsfLibraryRegistryEClass, ecorePackage.getEBoolean(), "removeJSFLibrary");
-		addEParameter(op, this.getJSFLibrary(), "library");
-
-		addEOperation(jsfLibraryRegistryEClass, this.getJSFLibrary(), "getDefaultImplementation");
-
-		op = addEOperation(jsfLibraryRegistryEClass, null, "setDefaultImplementation");
-		addEParameter(op, this.getJSFLibrary(), "implementation");
-
-		initEClass(jsfLibraryEClass, JSFLibrary.class, "JSFLibrary", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getJSFLibrary_ID(), ecorePackage.getEString(), "ID", "", 1, 1, JSFLibrary.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getJSFLibrary_Name(), ecorePackage.getEString(), "Name", null, 1, 1, JSFLibrary.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getJSFLibrary_JSFVersion(), this.getJSFVersion(), "JSFVersion", "UNKNOWN", 1, 1, JSFLibrary.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getJSFLibrary_Deployed(), ecorePackage.getEBoolean(), "Deployed", "true", 1, 1, JSFLibrary.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getJSFLibrary_Implementation(), ecorePackage.getEBoolean(), "Implementation", "false", 1, 1, JSFLibrary.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getJSFLibrary_ArchiveFiles(), this.getArchiveFile(), this.getArchiveFile_JSFLibrary(), "ArchiveFiles", null, 0, -1, JSFLibrary.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-		op = addEOperation(jsfLibraryEClass, ecorePackage.getEBoolean(), "containsArchiveFile");
-		addEParameter(op, ecorePackage.getEString(), "fullPath");
-
-		addEOperation(jsfLibraryEClass, this.getJSFLibrary(), "getWorkingCopy");
-
-		op = addEOperation(jsfLibraryEClass, null, "updateValues");
-		addEParameter(op, this.getJSFLibrary(), "otherLibrary");
-
-		op = addEOperation(jsfLibraryEClass, ecorePackage.getEBoolean(), "copyTo");
-		addEParameter(op, ecorePackage.getEString(), "baseDestLocation");
-
-		initEClass(archiveFileEClass, ArchiveFile.class, "ArchiveFile", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getArchiveFile_RelativeToWorkspace(), ecorePackage.getEBoolean(), "RelativeToWorkspace", "true", 1, 1, ArchiveFile.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getArchiveFile_SourceLocation(), ecorePackage.getEString(), "SourceLocation", null, 1, 1, ArchiveFile.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getArchiveFile_RelativeDestLocation(), ecorePackage.getEString(), "RelativeDestLocation", null, 1, 1, ArchiveFile.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getArchiveFile_JSFLibrary(), this.getJSFLibrary(), this.getJSFLibrary_ArchiveFiles(), "JSFLibrary", null, 1, 1, ArchiveFile.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-		addEOperation(archiveFileEClass, ecorePackage.getEString(), "getName");
-
-		addEOperation(archiveFileEClass, ecorePackage.getEString(), "getPath");
-
-		addEOperation(archiveFileEClass, ecorePackage.getEBoolean(), "exists");
-
-		op = addEOperation(archiveFileEClass, ecorePackage.getEBoolean(), "equals");
-		addEParameter(op, ecorePackage.getEJavaObject(), "object");
-
-		addEOperation(archiveFileEClass, ecorePackage.getEInt(), "hashCode");
-
-		op = addEOperation(archiveFileEClass, ecorePackage.getEBoolean(), "copyTo");
-		addEParameter(op, ecorePackage.getEString(), "baseDestLocation");
-
-		addEOperation(archiveFileEClass, ecorePackage.getEString(), "getResolvedSourceLocation");
-
-		initEClass(pluginProvidedJSFLibraryEClass, PluginProvidedJSFLibrary.class, "PluginProvidedJSFLibrary", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getPluginProvidedJSFLibrary_PluginID(), ecorePackage.getEString(), "pluginID", null, 1, 1, PluginProvidedJSFLibrary.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-		// Initialize enums and add enum literals
-		initEEnum(jsfVersionEEnum, JSFVersion.class, "JSFVersion");
-		addEEnumLiteral(jsfVersionEEnum, JSFVersion.V1_1_LITERAL);
-		addEEnumLiteral(jsfVersionEEnum, JSFVersion.V1_2_LITERAL);
-		addEEnumLiteral(jsfVersionEEnum, JSFVersion.UNKNOWN_LITERAL);
-
-		// Create resource
-		createResource(eNS_URI);
-	}
-
-} //JSFLibraryRegistryPackageImpl
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/impl/PluginProvidedJSFLibraryImpl.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/impl/PluginProvidedJSFLibraryImpl.java
deleted file mode 100644
index c474714..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/impl/PluginProvidedJSFLibraryImpl.java
+++ /dev/null
@@ -1,276 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * 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:
- *    Ian Trimble - initial API and implementation
- *******************************************************************************/ 
-package org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl;
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFVersion;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.PluginProvidedJSFLibrary;
-
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Plugin Provided JSF Library</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.PluginProvidedJSFLibraryImpl#getPluginID <em>Plugin ID</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PluginProvidedJSFLibraryImpl extends JSFLibraryImpl implements PluginProvidedJSFLibrary {
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static final String copyright = "Copyright (c) 2005 Oracle Corporation";
-
-	/**
-	 * The default value of the '{@link #getPluginID() <em>Plugin ID</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPluginID()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String PLUGIN_ID_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getPluginID() <em>Plugin ID</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPluginID()
-	 * @generated
-	 * @ordered
-	 */
-	protected String pluginID = PLUGIN_ID_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected PluginProvidedJSFLibraryImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return JSFLibraryRegistryPackage.eINSTANCE.getPluginProvidedJSFLibrary();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getPluginID() {
-		return pluginID;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setPluginID(String newPluginID) {
-		String oldPluginID = pluginID;
-		pluginID = newPluginID;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, JSFLibraryRegistryPackage.PLUGIN_PROVIDED_JSF_LIBRARY__PLUGIN_ID, oldPluginID, pluginID));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case JSFLibraryRegistryPackage.PLUGIN_PROVIDED_JSF_LIBRARY__ARCHIVE_FILES:
-					return ((InternalEList)getArchiveFiles()).basicAdd(otherEnd, msgs);
-				default:
-					return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		if (eContainer != null)
-			msgs = eBasicRemoveFromContainer(msgs);
-		return eBasicSetContainer(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case JSFLibraryRegistryPackage.PLUGIN_PROVIDED_JSF_LIBRARY__ARCHIVE_FILES:
-					return ((InternalEList)getArchiveFiles()).basicRemove(otherEnd, msgs);
-				default:
-					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		return eBasicSetContainer(null, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JSFLibraryRegistryPackage.PLUGIN_PROVIDED_JSF_LIBRARY__ID:
-				return getID();
-			case JSFLibraryRegistryPackage.PLUGIN_PROVIDED_JSF_LIBRARY__NAME:
-				return getName();
-			case JSFLibraryRegistryPackage.PLUGIN_PROVIDED_JSF_LIBRARY__JSF_VERSION:
-				return getJSFVersion();
-			case JSFLibraryRegistryPackage.PLUGIN_PROVIDED_JSF_LIBRARY__DEPLOYED:
-				return isDeployed() ? Boolean.TRUE : Boolean.FALSE;
-			case JSFLibraryRegistryPackage.PLUGIN_PROVIDED_JSF_LIBRARY__IMPLEMENTATION:
-				return isImplementation() ? Boolean.TRUE : Boolean.FALSE;
-			case JSFLibraryRegistryPackage.PLUGIN_PROVIDED_JSF_LIBRARY__ARCHIVE_FILES:
-				return getArchiveFiles();
-			case JSFLibraryRegistryPackage.PLUGIN_PROVIDED_JSF_LIBRARY__PLUGIN_ID:
-				return getPluginID();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JSFLibraryRegistryPackage.PLUGIN_PROVIDED_JSF_LIBRARY__ID:
-				setID((String)newValue);
-				return;
-			case JSFLibraryRegistryPackage.PLUGIN_PROVIDED_JSF_LIBRARY__NAME:
-				setName((String)newValue);
-				return;
-			case JSFLibraryRegistryPackage.PLUGIN_PROVIDED_JSF_LIBRARY__JSF_VERSION:
-				setJSFVersion((JSFVersion)newValue);
-				return;
-			case JSFLibraryRegistryPackage.PLUGIN_PROVIDED_JSF_LIBRARY__DEPLOYED:
-				setDeployed(((Boolean)newValue).booleanValue());
-				return;
-			case JSFLibraryRegistryPackage.PLUGIN_PROVIDED_JSF_LIBRARY__IMPLEMENTATION:
-				setImplementation(((Boolean)newValue).booleanValue());
-				return;
-			case JSFLibraryRegistryPackage.PLUGIN_PROVIDED_JSF_LIBRARY__ARCHIVE_FILES:
-				getArchiveFiles().clear();
-				getArchiveFiles().addAll((Collection)newValue);
-				return;
-			case JSFLibraryRegistryPackage.PLUGIN_PROVIDED_JSF_LIBRARY__PLUGIN_ID:
-				setPluginID((String)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JSFLibraryRegistryPackage.PLUGIN_PROVIDED_JSF_LIBRARY__ID:
-				setID(ID_EDEFAULT);
-				return;
-			case JSFLibraryRegistryPackage.PLUGIN_PROVIDED_JSF_LIBRARY__NAME:
-				setName(NAME_EDEFAULT);
-				return;
-			case JSFLibraryRegistryPackage.PLUGIN_PROVIDED_JSF_LIBRARY__JSF_VERSION:
-				setJSFVersion(JSF_VERSION_EDEFAULT);
-				return;
-			case JSFLibraryRegistryPackage.PLUGIN_PROVIDED_JSF_LIBRARY__DEPLOYED:
-				setDeployed(DEPLOYED_EDEFAULT);
-				return;
-			case JSFLibraryRegistryPackage.PLUGIN_PROVIDED_JSF_LIBRARY__IMPLEMENTATION:
-				setImplementation(IMPLEMENTATION_EDEFAULT);
-				return;
-			case JSFLibraryRegistryPackage.PLUGIN_PROVIDED_JSF_LIBRARY__ARCHIVE_FILES:
-				getArchiveFiles().clear();
-				return;
-			case JSFLibraryRegistryPackage.PLUGIN_PROVIDED_JSF_LIBRARY__PLUGIN_ID:
-				setPluginID(PLUGIN_ID_EDEFAULT);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JSFLibraryRegistryPackage.PLUGIN_PROVIDED_JSF_LIBRARY__ID:
-				return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
-			case JSFLibraryRegistryPackage.PLUGIN_PROVIDED_JSF_LIBRARY__NAME:
-				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
-			case JSFLibraryRegistryPackage.PLUGIN_PROVIDED_JSF_LIBRARY__JSF_VERSION:
-				return jsfVersion != JSF_VERSION_EDEFAULT;
-			case JSFLibraryRegistryPackage.PLUGIN_PROVIDED_JSF_LIBRARY__DEPLOYED:
-				return deployed != DEPLOYED_EDEFAULT;
-			case JSFLibraryRegistryPackage.PLUGIN_PROVIDED_JSF_LIBRARY__IMPLEMENTATION:
-				return implementation != IMPLEMENTATION_EDEFAULT;
-			case JSFLibraryRegistryPackage.PLUGIN_PROVIDED_JSF_LIBRARY__ARCHIVE_FILES:
-				return archiveFiles != null && !archiveFiles.isEmpty();
-			case JSFLibraryRegistryPackage.PLUGIN_PROVIDED_JSF_LIBRARY__PLUGIN_ID:
-				return PLUGIN_ID_EDEFAULT == null ? pluginID != null : !PLUGIN_ID_EDEFAULT.equals(pluginID);
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (pluginID: ");
-		result.append(pluginID);
-		result.append(')');
-		return result.toString();
-	}
-
-} //PluginProvidedJSFLibraryImpl
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/JSFLibraryRegistryAdapterFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/JSFLibraryRegistryAdapterFactory.java
deleted file mode 100644
index 4002101..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/JSFLibraryRegistryAdapterFactory.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * 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:
- *    Ian Trimble - initial API and implementation
- *******************************************************************************/ 
-package org.eclipse.jst.jsf.core.internal.jsflibraryregistry.util;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notifier;
-
-import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.*;
-
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Adapter Factory</b> for the model.
- * It provides an adapter <code>createXXX</code> method for each class of the model.
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage
- * @generated
- */
-public class JSFLibraryRegistryAdapterFactory extends AdapterFactoryImpl {
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static final String copyright = "Copyright (c) 2005 Oracle Corporation";
-
-	/**
-	 * The cached model package.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected static JSFLibraryRegistryPackage modelPackage;
-
-	/**
-	 * Creates an instance of the adapter factory.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public JSFLibraryRegistryAdapterFactory() {
-		if (modelPackage == null) {
-			modelPackage = JSFLibraryRegistryPackage.eINSTANCE;
-		}
-	}
-
-	/**
-	 * Returns whether this factory is applicable for the type of the object.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
-	 * <!-- end-user-doc -->
-	 * @return whether this factory is applicable for the type of the object.
-	 * @generated
-	 */
-	public boolean isFactoryForType(Object object) {
-		if (object == modelPackage) {
-			return true;
-		}
-		if (object instanceof EObject) {
-			return ((EObject)object).eClass().getEPackage() == modelPackage;
-		}
-		return false;
-	}
-
-	/**
-	 * The switch the delegates to the <code>createXXX</code> methods.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected JSFLibraryRegistrySwitch modelSwitch =
-		new JSFLibraryRegistrySwitch() {
-			public Object caseJSFLibraryRegistry(JSFLibraryRegistry object) {
-				return createJSFLibraryRegistryAdapter();
-			}
-			public Object caseJSFLibrary(JSFLibrary object) {
-				return createJSFLibraryAdapter();
-			}
-			public Object caseArchiveFile(ArchiveFile object) {
-				return createArchiveFileAdapter();
-			}
-			public Object casePluginProvidedJSFLibrary(PluginProvidedJSFLibrary object) {
-				return createPluginProvidedJSFLibraryAdapter();
-			}
-			public Object defaultCase(EObject object) {
-				return createEObjectAdapter();
-			}
-		};
-
-	/**
-	 * Creates an adapter for the <code>target</code>.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param target the object to adapt.
-	 * @return the adapter for the <code>target</code>.
-	 * @generated
-	 */
-	public Adapter createAdapter(Notifier target) {
-		return (Adapter)modelSwitch.doSwitch((EObject)target);
-	}
-
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistry <em>JSF Library Registry</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistry
-	 * @generated
-	 */
-	public Adapter createJSFLibraryRegistryAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary <em>JSF Library</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary
-	 * @generated
-	 */
-	public Adapter createJSFLibraryAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile <em>Archive File</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile
-	 * @generated
-	 */
-	public Adapter createArchiveFileAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.PluginProvidedJSFLibrary <em>Plugin Provided JSF Library</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.PluginProvidedJSFLibrary
-	 * @generated
-	 */
-	public Adapter createPluginProvidedJSFLibraryAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for the default case.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @generated
-	 */
-	public Adapter createEObjectAdapter() {
-		return null;
-	}
-
-} //JSFLibraryRegistryAdapterFactory
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/JSFLibraryRegistryResourceFactoryImpl.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/JSFLibraryRegistryResourceFactoryImpl.java
deleted file mode 100644
index e369138..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/JSFLibraryRegistryResourceFactoryImpl.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * 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:
- *    Ian Trimble - initial API and implementation
- *******************************************************************************/ 
-package org.eclipse.jst.jsf.core.internal.jsflibraryregistry.util;
-
-import org.eclipse.emf.common.util.URI;
-
-import org.eclipse.emf.ecore.resource.Resource;
-
-import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Resource Factory</b> associated with the package.
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.util.JSFLibraryRegistryResourceImpl
- * @generated
- */
-public class JSFLibraryRegistryResourceFactoryImpl extends ResourceFactoryImpl {
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static final String copyright = "Copyright (c) 2005 Oracle Corporation";
-
-	/**
-	 * Creates an instance of the resource factory.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public JSFLibraryRegistryResourceFactoryImpl() {
-		super();
-	}
-
-	/**
-	 * Creates an instance of the resource.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Resource createResource(URI uri) {
-		Resource result = new JSFLibraryRegistryResourceImpl(uri);
-		return result;
-	}
-
-} //JSFLibraryRegistryResourceFactoryImpl
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/JSFLibraryRegistryResourceImpl.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/JSFLibraryRegistryResourceImpl.java
deleted file mode 100644
index 5d67dcf..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/JSFLibraryRegistryResourceImpl.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * 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:
- *    Ian Trimble - initial API and implementation
- *******************************************************************************/ 
-package org.eclipse.jst.jsf.core.internal.jsflibraryregistry.util;
-
-import org.eclipse.emf.common.util.URI;
-
-import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Resource </b> associated with the package.
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.util.JSFLibraryRegistryResourceFactoryImpl
- * @generated
- */
-public class JSFLibraryRegistryResourceImpl extends XMLResourceImpl {
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static final String copyright = "Copyright (c) 2005 Oracle Corporation";
-
-	/**
-	 * Creates an instance of the resource.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param uri the URI of the new resource.
-	 * @generated
-	 */
-	public JSFLibraryRegistryResourceImpl(URI uri) {
-		super(uri);
-	}
-
-} //JSFLibraryRegistryResourceImpl
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/JSFLibraryRegistrySwitch.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/JSFLibraryRegistrySwitch.java
deleted file mode 100644
index 58863bf..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/JSFLibraryRegistrySwitch.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * 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:
- *    Ian Trimble - initial API and implementation
- *******************************************************************************/ 
-package org.eclipse.jst.jsf.core.internal.jsflibraryregistry.util;
-
-import java.util.List;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.*;
-
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Switch</b> for the model's inheritance hierarchy.
- * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
- * to invoke the <code>caseXXX</code> method for each class of the model,
- * starting with the actual class of the object
- * and proceeding up the inheritance hierarchy
- * until a non-null result is returned,
- * which is the result of the switch.
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage
- * @generated
- */
-public class JSFLibraryRegistrySwitch {
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static final String copyright = "Copyright (c) 2005 Oracle Corporation";
-
-	/**
-	 * The cached model package
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected static JSFLibraryRegistryPackage modelPackage;
-
-	/**
-	 * Creates an instance of the switch.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public JSFLibraryRegistrySwitch() {
-		if (modelPackage == null) {
-			modelPackage = JSFLibraryRegistryPackage.eINSTANCE;
-		}
-	}
-
-	/**
-	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the first non-null result returned by a <code>caseXXX</code> call.
-	 * @generated
-	 */
-	public Object doSwitch(EObject theEObject) {
-		return doSwitch(theEObject.eClass(), theEObject);
-	}
-
-	/**
-	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the first non-null result returned by a <code>caseXXX</code> call.
-	 * @generated
-	 */
-	protected Object doSwitch(EClass theEClass, EObject theEObject) {
-		if (theEClass.eContainer() == modelPackage) {
-			return doSwitch(theEClass.getClassifierID(), theEObject);
-		}
-		else {
-			List eSuperTypes = theEClass.getESuperTypes();
-			return
-				eSuperTypes.isEmpty() ?
-					defaultCase(theEObject) :
-					doSwitch((EClass)eSuperTypes.get(0), theEObject);
-		}
-	}
-
-	/**
-	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the first non-null result returned by a <code>caseXXX</code> call.
-	 * @generated
-	 */
-	protected Object doSwitch(int classifierID, EObject theEObject) {
-		switch (classifierID) {
-			case JSFLibraryRegistryPackage.JSF_LIBRARY_REGISTRY: {
-				JSFLibraryRegistry jsfLibraryRegistry = (JSFLibraryRegistry)theEObject;
-				Object result = caseJSFLibraryRegistry(jsfLibraryRegistry);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case JSFLibraryRegistryPackage.JSF_LIBRARY: {
-				JSFLibrary jsfLibrary = (JSFLibrary)theEObject;
-				Object result = caseJSFLibrary(jsfLibrary);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case JSFLibraryRegistryPackage.ARCHIVE_FILE: {
-				ArchiveFile archiveFile = (ArchiveFile)theEObject;
-				Object result = caseArchiveFile(archiveFile);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case JSFLibraryRegistryPackage.PLUGIN_PROVIDED_JSF_LIBRARY: {
-				PluginProvidedJSFLibrary pluginProvidedJSFLibrary = (PluginProvidedJSFLibrary)theEObject;
-				Object result = casePluginProvidedJSFLibrary(pluginProvidedJSFLibrary);
-				if (result == null) result = caseJSFLibrary(pluginProvidedJSFLibrary);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			default: return defaultCase(theEObject);
-		}
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>JSF Library Registry</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>JSF Library Registry</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseJSFLibraryRegistry(JSFLibraryRegistry object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>JSF Library</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>JSF Library</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseJSFLibrary(JSFLibrary object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Archive File</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Archive File</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseArchiveFile(ArchiveFile object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Plugin Provided JSF Library</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Plugin Provided JSF Library</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object casePluginProvidedJSFLibrary(PluginProvidedJSFLibrary object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>EObject</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch, but this is the last case anyway.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>EObject</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
-	 * @generated
-	 */
-	public Object defaultCase(EObject object) {
-		return null;
-	}
-
-} //JSFLibraryRegistrySwitch
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/launch/JSFFileURL.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/launch/JSFFileURL.java
deleted file mode 100644
index 31fae2e..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/launch/JSFFileURL.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * 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:
- *    Gerry Kessler - initial API and implementation
- *******************************************************************************/ 
-
-package org.eclipse.jst.jsf.core.internal.launch;
-
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jst.j2ee.internal.web.jfaces.extension.FileURL;
-import org.eclipse.jst.j2ee.web.componentcore.util.WebArtifactEdit;
-import org.eclipse.jst.j2ee.webapplication.Servlet;
-import org.eclipse.jst.j2ee.webapplication.ServletMapping;
-import org.eclipse.jst.j2ee.webapplication.WebApp;
-import org.eclipse.jst.jsf.core.internal.project.facet.JSFUtils;
-
-/**
- * Extends the FileURL extension-point so that a JSF JSP page
- * can have it's URL mapped to the Faces Servlet using the servlet-mapping 
- * specified in the web.xml file
- * 
- * @author Gerry Kessler - Oracle
- *
- */
-public class JSFFileURL implements FileURL {
-
-	/**
-	 * If this is a JSP page, this will return a URL using the first valid servlet-mapping to the Faces Servlet
-	 * if found.   If the faces servlet is not defined in the web.xml or there is no servlet-mapping, this will return null.
-	 * 
-	 * Currently (11/21/05) this will only work if file extension is .jsf 
-	 * 
-	 * @see org.eclipse.jst.j2ee.internal.web.jfaces.extension.FileURL#getFileURL(org.eclipse.core.resources.IResource, org.eclipse.core.runtime.IPath)
-	 */
-	public IPath getFileURL(IResource resource, IPath existingURL) {
-		WebArtifactEdit webAppEdit = null;
-
-		//temporarily, we will filter on jsp file extensions only.
-		if (!resource.getFileExtension().equalsIgnoreCase("jsp")) //$NON-NLS-1$
-			return null;
-		
-		try {
-			//is this is a Faces Project with a Faces Servlet?
-			//we will not check to see if facet is installed.  
-			// check to see if this resource is a JSF page (currently always true) and then,
-			//if servlet is present, we will change the url based on first mapping found 
-			webAppEdit = JSFUtils.getWebArtifactEditForRead(resource.getProject());
-			if (webAppEdit != null){
-				WebApp webApp = webAppEdit.getWebApp();
-				if (webApp != null){
-					Servlet servlet = JSFUtils.findJSFServlet(webAppEdit.getWebApp());
-					if (servlet == null)//if no faces servlet, do nothing
-						return null;
-					
-					//if not a JSF page, do nothing
-					if (!isJSFPage(resource))
-						return null;
-					
-					Iterator mappings = servlet.getMappings().iterator();
-					ServletMapping map = null;
-					while (mappings.hasNext()){
-						map = (ServletMapping)mappings.next();
-						
-						String foundFileExtension = getFileExtensionFromMap(map);
-						if (foundFileExtension != null)
-							return existingURL.removeFileExtension().addFileExtension(foundFileExtension);
-
-						String foundDirectoryMapping = getDirectoryMapping(map);
-						if (foundDirectoryMapping != null){						
-							return new Path(foundDirectoryMapping).append(existingURL); 
-						}
-					}					
-				}
-			}
-			return null;
-		} finally {
-			if (webAppEdit != null)
-				webAppEdit.dispose();
-		}
-	}
-	
-	private String getDirectoryMapping(ServletMapping map) {
-		IPath extPath = new Path(map.getUrlPattern());
-		if (extPath != null){
-			String ext = extPath.getFileExtension();
-			if (ext == null){
-				String lastSeg = extPath.lastSegment();
-				if (lastSeg.equals("*")) //$NON-NLS-1$
-					return extPath.removeLastSegments(1).toString();
-				else 
-					return extPath.toString();				
-			}
-		}
-		return null;
-	}
-	
-	private String getFileExtensionFromMap(ServletMapping map) {
-		IPath extPath = new Path(map.getUrlPattern());
-		if (extPath != null){
-			String ext = extPath.getFileExtension();
-			if (ext != null && !ext.equals("")) //$NON-NLS-1$
-				return ext;
-		}
-		return null;
-	}
-	
-	private boolean isJSFPage(IResource resource) {
-		// currently always return true.
-		// need to find quick way of determining whether this is a JSF JSP Page
-		return true;
-	}
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/messages.properties b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/messages.properties
deleted file mode 100644
index e49fded..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/messages.properties
+++ /dev/null
@@ -1,37 +0,0 @@
-###############################################################################
-# Copyright (c) 2005 Oracle Corporation.
-# 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:
-#    Gerry Kessler - initial API and implementation
-#    Ian Trimble - change key names for use with org.eclipse.osgi.util.NLS
-###############################################################################
-JSFLibraryRegistry_ErrorCreatingURL=Error creating URL for JSF Library Registry
-JSFLibraryRegistry_NoLoadCreatingNew=Could not load JSF Library Registry; creating new registry
-JSFLibraryRegistry_ErrorSaving=Error saving JSF Library Registry
-JSFLibraryRegistry_DEFAULT_IMPL_LABEL=<Default>
-JSFLibraryRegistry_ErrorLoadingFromExtPt=Error while loading JSF Libaries from extension points
-
-JSFFacetInstallDataModelProvider_ValidateServletName=Specify a servlet name to use
-JSFFacetInstallDataModelProvider_ValidateJSFImpl=A default JSF implementation has not been set. Please use 'Add...' to create a library or un-check deploy jars
-JSFFacetInstallDataModelProvider_ValidateConfigFilePath=The configuration file path is not valid
-JSFFacetInstallDataModelProvider_ValidateConfigFileEmpty=Specify a valid name and location for JSF configuration file
-JSFFacetInstallDataModelProvider_ValidateConfigFileRelative1=Configuration file must be specified relative to the project's {0} folder
-JSFFacetInstallDataModelProvider_ValidateConfigFileRelative2=Configuration file must be located in the project's {0} folder
-JSFFacetInstallDataModelProvider_ValidateConfigFileXML=JSF configuration file must be an XML file
-JSFFacetInstallDataModelProvider_ValidateConfigFileSlashes=Configuration file path must not contain "\\"s.   Use "/" instead.
-
-ArchiveFileImpl_CannotCopyFile=Cannot copy file
-ArchiveFileImpl_CannotCloseFile=Cannot close file
-ArchiveFileImpl_CannotLocatePluginRelativeFile=Cannot locate plugin-relative file "{0}"
-
-PluginProvidedJSFLibraryCreationHelper_ErrorCreating=Unable to create JSF Library: {0}
-PluginProvidedJSFLibraryCreationHelper_ErrorMultipleDefinition={0} defined multiple times in {1}
-
-JSFUtils_ErrorCreatingConfigFile=Error creating config file
-JSFUtils_ErrorClosingConfigFile=Error closing config file
-
-JSFAppConfigManager_InvalidWriteAccess=Invalid write access mode attempted for model
\ No newline at end of file
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/IJSFFacetInstallDataModelProperties.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/IJSFFacetInstallDataModelProperties.java
deleted file mode 100644
index 4b2b458..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/IJSFFacetInstallDataModelProperties.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * 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:
- *    Gerry Kessler - initial API and implementation
- *******************************************************************************/ 
-package org.eclipse.jst.jsf.core.internal.project.facet;
- 
-import org.eclipse.wst.common.componentcore.datamodel.properties.IFacetInstallDataModelProperties;
-
-/**
- * Defines properties used by the JSF facet install data model.
- * 
- * @author Gerry Kessler - Oracle
- */
-public interface IJSFFacetInstallDataModelProperties extends IFacetInstallDataModelProperties {
-	 public static final String IMPLEMENTATION = "IJSFFacetInstallDataModelProperties.IMPLEMENTATION"; //$NON-NLS-1$
-	 public static final String DEPLOY_IMPLEMENTATION = "IJSFFacetInstallDataModelProperties.DEPLOY_IMPLEMENTATION"; //$NON-NLS-1$
-	 public static final String CONFIG_PATH = "IJSFFacetInstallDataModelProperties.CONFIG_PATH"; //$NON-NLS-1$
-	 public static final String SERVLET_NAME = "IJSFFacetInstallDataModelProperties.SERVLET_NAME"; //$NON-NLS-1$
-	 public static final String SERVLET_URL_PATTERNS = "IJSFFacetInstallDataModelProperties.SERVLET_URL_PATTERNS"; //$NON-NLS-1$
-	 public static final String WEBCONTENT_DIR = "IJSFFacetInstallDataModelProperties.WEBCONTENT_DIR"; //$NON-NLS-1$
-}
-
- 
\ No newline at end of file
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFFacetInstallDataModelProvider.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFFacetInstallDataModelProvider.java
deleted file mode 100644
index 283f495..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFFacetInstallDataModelProvider.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * 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:
- *    Gerry Kessler - initial API and implementation
- *******************************************************************************/ 
-package org.eclipse.jst.jsf.core.internal.project.facet;
-
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jst.j2ee.web.componentcore.util.WebArtifactEdit;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.core.internal.Messages;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.common.componentcore.datamodel.FacetInstallDataModelProvider;
-import org.eclipse.wst.common.componentcore.datamodel.properties.IFacetDataModelProperties;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.internal.operations.IProjectCreationPropertiesNew;
-import org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonPlugin;
-
-/**
- * Provides a data model used by the JSF facet install.
- * 
- * @author Gerry Kessler - Oracle
- */
-public class JSFFacetInstallDataModelProvider extends
-		FacetInstallDataModelProvider implements
-		IJSFFacetInstallDataModelProperties {
-
-	private String 	errorMessage;
-	private IPath 	webContentPath;
-	
-	public Set getPropertyNames() {
-		Set names = super.getPropertyNames();
-		names.add(IMPLEMENTATION);
-		names.add(DEPLOY_IMPLEMENTATION);
-		names.add(CONFIG_PATH);
-		names.add(SERVLET_NAME);
-		names.add(SERVLET_URL_PATTERNS);
-		names.add(WEBCONTENT_DIR);
-		return names;
-	}
-
-	public Object getDefaultProperty(String propertyName) {
-		if (propertyName.equals(IMPLEMENTATION)) {
-			if (JSFCorePlugin.getDefault().getJSFLibraryRegistry() == null)
-				return null;
-			return JSFCorePlugin.getDefault().getJSFLibraryRegistry().getDefaultImplementation();
-		} else if (propertyName.equals(DEPLOY_IMPLEMENTATION)) {
-			return Boolean.TRUE;
-		} else if (propertyName.equals(CONFIG_PATH)) {
-			return JSFUtils.JSF_DEFAULT_CONFIG_PATH; //$NON-NLS-1$;
-		} else if (propertyName.equals(SERVLET_NAME)) {
-			return "Faces Servlet"; //$NON-NLS-1$
-		} else if (propertyName.equals(SERVLET_URL_PATTERNS)) {
-			return new String[] { "*.faces" }; //$NON-NLS-1$
-		} else if (propertyName.equals(FACET_ID)) {
-			return JSFCorePlugin.FACET_ID;
-		} else if (propertyName.equals(WEBCONTENT_DIR)){
-			return "WebContent";  //not sure I need this
-		}
-		return super.getDefaultProperty(propertyName);
-	}
-	public IStatus validate(String name) {
-		errorMessage = null;
-		if (name.equals(IMPLEMENTATION) && getBooleanProperty(DEPLOY_IMPLEMENTATION)) {
-			return validateImpl((JSFLibrary)getProperty(IMPLEMENTATION));
-		} else if (name.equals(CONFIG_PATH)) {
-			return validateConfigLocation(getStringProperty(CONFIG_PATH));
-		} else if (name.equals(SERVLET_NAME)) {			
-			return validateServletName(getStringProperty(SERVLET_NAME));
-		}
-		return super.validate(name);
-	}
-	
-	private IStatus validateServletName(String servletName) {
-		if (servletName == null || servletName.trim().length() == 0) {
-			errorMessage = Messages.JSFFacetInstallDataModelProvider_ValidateServletName;
-			return WTPCommonPlugin.createErrorStatus(errorMessage);				
-		}
-		else 
-			return OK_STATUS;
-	}
-
-	private IStatus validateImpl(JSFLibrary impl) {
-		if (impl == null) {
-			errorMessage = Messages.JSFFacetInstallDataModelProvider_ValidateJSFImpl; 
-		}
-		if (errorMessage != null)
-			return WTPCommonPlugin.createErrorStatus(errorMessage);
-		else
-			return OK_STATUS;
-	}
-	
-	private IStatus validateConfigLocation(String text) {
-		if (text == null || text.trim().equals("")) { //$NON-NLS-1$
-			errorMessage = Messages.JSFFacetInstallDataModelProvider_ValidateConfigFileEmpty;
-			return WTPCommonPlugin.createErrorStatus(errorMessage);
-		}
-		text = text.trim();
-		
-		if (getProjectPath() == null) //this circumstance occurs on page init
-			return OK_STATUS;
-		
-		IPath fullPath = getProjectPath().append(text);
-		IPath passedPath = new Path(text);
-		if (!fullPath.isValidPath(text)){
-			errorMessage = Messages.JSFFacetInstallDataModelProvider_ValidateConfigFilePath;
-			return WTPCommonPlugin.createErrorStatus(errorMessage);
-		}
-		
-		//FIXME:  check for valid file path also [passedPath.toFile().isFile()] 
-		if (text.toLowerCase().lastIndexOf(".xml") != text.length() - 4) { //$NON-NLS-1$
-			errorMessage = Messages.JSFFacetInstallDataModelProvider_ValidateConfigFileXML;
-			return WTPCommonPlugin.createErrorStatus(errorMessage);
-		}
-		
-		if (text.lastIndexOf("\\") >= 0){ //$NON-NLS-1$
-			errorMessage = Messages.JSFFacetInstallDataModelProvider_ValidateConfigFileSlashes;
-			return WTPCommonPlugin.createErrorStatus(errorMessage);
-		} 
-//		if (1 == 1){
-//			//FIXME!!!!
-//			//until i can figure out how to get WebContent dir from the WebApp config,
-//			//skip validation here
-//			return OK_STATUS;
-//		}
-		
-		if (passedPath.getDevice() != null) {
-			errorMessage = NLS.bind(
-					Messages.JSFFacetInstallDataModelProvider_ValidateConfigFileRelative1,
-					getWebContentFolder().removeFirstSegments(getWebContentFolder().segmentCount() - 1).toString());
-			return WTPCommonPlugin.createErrorStatus(errorMessage);
-		}
-
-		IPath setPath = getWebContentFolder().append(passedPath);
-		if (!getWebContentFolder().isPrefixOf(setPath)) {
-			errorMessage = NLS.bind(
-					Messages.JSFFacetInstallDataModelProvider_ValidateConfigFileRelative2,
-					getWebContentFolder().removeFirstSegments(getWebContentFolder().segmentCount() - 1).toString());
-			return WTPCommonPlugin.createErrorStatus(errorMessage);
-		}
-
-		return OK_STATUS;
-	}
-	
-	private IPath getProjectPath() {
-		String projName = (String)getProperty(FACET_PROJECT_NAME);
-		IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projName);
-		if (project.exists()){
-			return project.getLocation();
-		} else {
-			IDataModel projModel = (IDataModel)getProperty(MASTER_PROJECT_DM);
-			if (projModel.getBooleanProperty(IProjectCreationPropertiesNew.USE_DEFAULT_LOCATION)){
-				return new Path(projModel.getStringProperty(IProjectCreationPropertiesNew.PROJECT_LOCATION)).append(projName);
-			}
-			else {
-				return new Path(projModel.getStringProperty(IProjectCreationPropertiesNew.USER_DEFINED_LOCATION)).append(projName);
-			}	
-		}
-	}
-
-	private IPath getWebContentFolder() {
-		//One can get here 2 ways:
-		//if web app exists and user is adding a facet, or
-		// if creating a new web app.   
-		if (webContentPath != null)
-			return webContentPath;
-		
-		WebArtifactEdit webApp = null;
-		try {
-			String projName = model.getStringProperty(IFacetDataModelProperties.FACET_PROJECT_NAME);
-			IProject proj = ResourcesPlugin.getWorkspace().getRoot()
-					.getProject(projName);
-			webApp = JSFUtils.getWebArtifactEditForRead(proj);
-			if (webApp != null) {
-				webContentPath = JSFUtils.getWebArtifactEditForRead(proj)
-					.getDeploymentDescriptorPath().removeLastSegments(2);
-				return webContentPath;
-			} else {
-				webContentPath = new Path(getStringProperty(WEBCONTENT_DIR));
-				return webContentPath;
-			}
-				
-		} finally {
-			if (webApp != null) {
-				webApp.dispose();
-			}
-		}
-
-	}
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFFacetInstallDelegate.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFFacetInstallDelegate.java
deleted file mode 100644
index e9374c0..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFFacetInstallDelegate.java
+++ /dev/null
@@ -1,219 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * 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:
- *    Gerry Kessler - initial API and implementation
- *******************************************************************************/ 
-
-package org.eclipse.jst.jsf.core.internal.project.facet;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
-import org.eclipse.jst.j2ee.web.componentcore.util.WebArtifactEdit;
-import org.eclipse.jst.j2ee.webapplication.Servlet;
-import org.eclipse.jst.j2ee.webapplication.WebApp;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.project.facet.core.IDelegate;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-
-/**
- * JSF Facet Install Delegate for WTP faceted web projects.
- * 
- * Uses <code>com.eclispe.jst.jsf.core.internal.project.facet.JSFFacetInstallDataModelProvider<code> for model
- * 	 <li> TODO: creates JSF Application Model
- * 	 <li> creates JSF configuration file if not present
- * 	 <li> updates web.xml for: servlet, servlet-mapping and context-param
- * 	 <li> adds implementation jars to WEB-INF/lib if user requests
- * 
- * @see com.eclispe.jst.jsf.core.internal.project.facet.JSFFacetInstallConfig
- * @see com.eclispe.jst.jsf.core.internal.project.facet.JSFFacetInstallDataModelProvider
- * @author Gerry Kessler - Oracle
- * @since M1
- */
-public class JSFFacetInstallDelegate implements IDelegate {
-
-	public void execute(final IProject project, final IProjectFacetVersion fv,
-			final Object cfg, final IProgressMonitor monitor)
-
-	throws CoreException
-
-	{
-
-		if (monitor != null) {
-			monitor.beginTask("", 1); //$NON-NLS-1$
-		}
-
-		try {
-			IDataModel config = null;
-
-			if (cfg != null) {
-				config = (IDataModel) cfg;
-			} else {
-				//FIXME: how would we hit this???
-//				config = new JSFFacetInstallConfig();
-//				config.setJsfImplID(jsfImplID);
-			}
-			// Create JSF App Model
-			// tbd
-
-			// Add JSF Impls to WEB-INF/lib
-			deployJSFLibraries(project, config, monitor);
-
-			// Create config file
-			createConfigFile(project, fv, config, monitor);
-
-			// Update web model
-			createServletAndModifyWebXML(project, config, monitor);
-
-			if (monitor != null) {
-				monitor.worked(1);
-			}
-
-		} finally {
-			if (monitor != null) {
-				monitor.done();
-			}
-		}
-	}
-
-	private void deployJSFLibraries(IProject project,
-			final IDataModel config, IProgressMonitor monitor) {
-		
-		if (config.getBooleanProperty(IJSFFacetInstallDataModelProperties.DEPLOY_IMPLEMENTATION)){
-			JSFLibrary impl = (JSFLibrary)config.getProperty(IJSFFacetInstallDataModelProperties.IMPLEMENTATION);
-			if (impl != null){
-				IPath destPath = project.getLocation().append(getWebContentPath(project));
-				impl.copyTo(destPath.toOSString());			
-			}
-		}
-	}
-
-	
-	private void createConfigFile(final IProject project,
-			final IProjectFacetVersion fv, final IDataModel config,
-			IProgressMonitor monitor) {
-		final IPath configPath = resolveConfigPath(project, config.getStringProperty(IJSFFacetInstallDataModelProperties.CONFIG_PATH));
-
-		try {
-			// do not overwrite if the file exists
-			if (!configPath.toFile().exists()) {
-				IWorkspaceRunnable op = new IWorkspaceRunnable(){
-
-					public void run(IProgressMonitor monitor)
-							throws CoreException{ 
-						JSFUtils.createConfigFile(fv.getVersionString(),
-								configPath);
-						project.refreshLocal(IResource.DEPTH_INFINITE, monitor);
-					}
-
-				};
-				op.run(monitor);
-			}
-		} catch (CoreException e) {
-			JSFCorePlugin.getDefault().getMsgLogger().log(e);
-			e.printStackTrace();
-		}
-
-	}
-
-	private void createServletAndModifyWebXML(IProject project,
-			final IDataModel config, IProgressMonitor monitor) {
-		WebApp webApp = null;
-		WebArtifactEdit artifactEdit = null;
-		try {
-			artifactEdit = JSFUtils.getWebArtifactEditForWrite(project);
-			webApp = artifactEdit.getWebApp();
-
-			// create or update servlet ref
-			Servlet servlet = JSFUtils.findJSFServlet(webApp);// check to see
-																// if already
-																// present
-			if (servlet != null) {
-				// remove old mappings
-				JSFUtils.removeURLMappings(webApp, servlet);
-			}
-			
-			servlet = JSFUtils
-					.createOrUpdateServletRef(webApp, config, servlet);
-
-			// init mappings
-			List listOfMappings = getServletMappings(config);
-			JSFUtils.setUpURLMappings(webApp, listOfMappings, servlet);
-
-			// setup context params
-			if (webApp.getVersionID() == J2EEVersionConstants.WEB_2_3_ID)//shouldn't have to do it this way, but that's the way it goes 119442
-				JSFUtils.setupConfigFileContextParamForV2_3(webApp, config);
-			else
-				JSFUtils.setupConfigFileContextParamForV2_4(webApp, config);
-			
-			
-
-		} finally {
-			if (artifactEdit != null) {
-				// save and dispose
-				artifactEdit.saveIfNecessary(monitor);
-				artifactEdit.dispose();
-			}
-		}
-	}
-
-	private List getServletMappings(IDataModel config) {
-		List mappings = new ArrayList();
-		String[] patterns = (String[])config.getProperty(IJSFFacetInstallDataModelProperties.SERVLET_URL_PATTERNS);
-		for (int i = 0; i < patterns.length; i++) {
-			String pattern = patterns[i];
-			mappings.add(pattern);
-		}
-
-		return mappings;
-	}
-	
-	private IPath getWebContentPath(IProject project) {
-		WebArtifactEdit web = null;
-		try {
-			web = WebArtifactEdit.getWebArtifactEditForRead(project);
-			IPath webxml = web.getDeploymentDescriptorPath();
-			//remove project name, WEB-INF an web.xml from path
-			IPath webContentPath = webxml.removeLastSegments(2).removeFirstSegments(1);
-			return webContentPath;
-		} finally {
-			if (web != null) {
-				web.dispose();
-			}
-		}
-	}
-	
-	private IPath resolveConfigPath(IProject project, String jsfConfigPath) {
-		// TODO: fix me
-		WebArtifactEdit web = null;
-		try {
-			web = WebArtifactEdit.getWebArtifactEditForRead(project);
-			IPath webxml = web.getDeploymentDescriptorPath();
-			IPath webcontent = webxml.removeLastSegments(2)
-					.removeFirstSegments(1);
-
-			return project.getLocation().append(
-					webcontent.append(new Path(jsfConfigPath)));
-		} finally {
-			if (web != null)
-				web.dispose();
-		}
-	}
-
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFFacetUninstallDelegate.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFFacetUninstallDelegate.java
deleted file mode 100644
index e8371ca..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFFacetUninstallDelegate.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * 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:
- *    Gerry Kessler - initial API and implementation
- *******************************************************************************/ 
-package org.eclipse.jst.jsf.core.internal.project.facet;
-
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jst.j2ee.common.ParamValue;
-import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
-import org.eclipse.jst.j2ee.web.componentcore.util.WebArtifactEdit;
-import org.eclipse.jst.j2ee.webapplication.ContextParam;
-import org.eclipse.jst.j2ee.webapplication.Servlet;
-import org.eclipse.jst.j2ee.webapplication.WebApp;
-import org.eclipse.wst.common.project.facet.core.IDelegate;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-
-/**
- * JSF Facet Uninstall Delegate for WTP faceted projects.
- *	
- *	<li> removes JSF servlet, servlet-mappings and context-params
- *	<li> leaves JSF configuration files on disk
- *  <li> removes JSF classpath containers
- *  
- * @author Gerry Kessler - Oracle
- * @since M1
- */
-public class JSFFacetUninstallDelegate implements IDelegate {
-
-	public void execute(IProject project, IProjectFacetVersion fv,
-			Object config, IProgressMonitor monitor) throws CoreException {
-		{
-
-			if (monitor != null) {
-				monitor.beginTask("", 1); //$NON-NLS-1$
-			}
-
-			try {
-
-				// Remove JSF App Model
-
-				// Rempoe JSF Impl Class Container
-				// Add JSF Impl Class Container
-				// final IJavaProject jproj = JavaCore.create(project);
-				// final IPath cont = new
-				// Path(JSFImplContainer.CONTAINER_ID).append(project.getName());
-				// removeClasspathContainer(jproj, cont);
-
-				// remove servlet stuff from web.xml
-				uninstallJSFReferencesFromWebApp(project, monitor);
-
-				if (monitor != null) {
-					monitor.worked(1);
-				}
-			} finally {
-				if (monitor != null) {
-					monitor.done();
-				}
-			}
-		}
-	}
-
-	private void uninstallJSFReferencesFromWebApp(IProject project,
-			IProgressMonitor monitor) {
-		WebArtifactEdit artifactEdit = JSFUtils
-				.getWebArtifactEditForWrite(project);
-		WebApp webApp = artifactEdit.getWebApp();
-
-		try {
-			Servlet servlet = JSFUtils.findJSFServlet(webApp);
-			if (servlet == null)
-				return;
-
-			// remove faces url mappings
-			removeJSFURLMappings(webApp, servlet);
-			// remove context params
-			removeJSFContextParams(webApp, servlet);
-			// remove servlet
-			removeJSFServlet(webApp, servlet);
-
-		} finally {
-			if (artifactEdit != null) {
-				artifactEdit.saveIfNecessary(monitor);
-				artifactEdit.dispose();
-			}
-		}
-
-	}
-
-	private void removeJSFURLMappings(WebApp webApp, Servlet servlet) {
-		while (webApp.getServletMapping(servlet) != null) {
-			webApp.getServletMappings().remove(
-					webApp.getServletMapping(servlet));
-		}
-	}
-
-	private void removeJSFContextParams(WebApp webApp, Servlet servlet) {
-		if (webApp.getVersionID() == J2EEVersionConstants.WEB_2_3_ID){
-			Iterator it = webApp.getContexts().iterator();
-			while (it.hasNext()) {
-				ContextParam cp = (ContextParam) it.next();
-				if (cp.getParamName().equals(JSFUtils.JSF_CONFIG_CONTEXT_PARAM)) {
-					webApp.getContexts().remove(cp);
-					break;
-				}
-			}
-		}
-		else {//could check for 2_4 version here.   
-			//hoping that the API gets fixed so I don't need to do any of this version checking
-			Iterator it = webApp.getContextParams().iterator();
-			while (it.hasNext()) {
-				ParamValue cp = (ParamValue) it.next();
-				if (cp.getName().equals(JSFUtils.JSF_CONFIG_CONTEXT_PARAM)) {
-					webApp.getContextParams().remove(cp);
-					break;
-				}
-			}
-		}
-	}
-
-	private void removeJSFServlet(WebApp webApp, Servlet servlet) {
-		webApp.getServlets().remove(servlet);
-	}
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFUtils.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFUtils.java
deleted file mode 100644
index 8b77ed3..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFUtils.java
+++ /dev/null
@@ -1,314 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * 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:
- *    Gerry Kessler - initial API and implementation
- *******************************************************************************/ 
-
-package org.eclipse.jst.jsf.core.internal.project.facet;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jst.j2ee.common.CommonFactory;
-import org.eclipse.jst.j2ee.common.ParamValue;
-import org.eclipse.jst.j2ee.web.componentcore.util.WebArtifactEdit;
-import org.eclipse.jst.j2ee.webapplication.ContextParam;
-import org.eclipse.jst.j2ee.webapplication.JSPType;
-import org.eclipse.jst.j2ee.webapplication.Servlet;
-import org.eclipse.jst.j2ee.webapplication.ServletMapping;
-import org.eclipse.jst.j2ee.webapplication.ServletType;
-import org.eclipse.jst.j2ee.webapplication.WebApp;
-import org.eclipse.jst.j2ee.webapplication.WebapplicationFactory;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.core.internal.Messages;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-
-/**
- * Utility file for JSF model
- * 
- * @author Gerry Kessler - Oracle
- * @since M1
- */
-public class JSFUtils {
-	public static final String JSF_SERVLET_CLASS = "javax.faces.webapp.FacesServlet"; //$NON-NLS-1$
-	public static final String JSF_CONFIG_CONTEXT_PARAM = "javax.faces.CONFIG_FILES"; //$NON-NLS-1$
-	public static final String JSF_DEFAULT_CONFIG_PATH = "/WEB-INF/faces-config.xml"; //$NON-NLS-1$
-
-	/**
-	 * Convenience method for getting writeable WebApp model
-	 * @param IProject
-	 * @return WebArtifactEdit
-	 */
-	public static WebArtifactEdit getWebArtifactEditForWrite(IProject project) {
-		return WebArtifactEdit.getWebArtifactEditForWrite(project);
-	}
-
-	/**
-	 * Convenience method for getting read-only WebApp model
-	 * @param IProject
-	 * @return WebArtifactEdit
-	 */
-	public static WebArtifactEdit getWebArtifactEditForRead(IProject project) {
-		return WebArtifactEdit.getWebArtifactEditForRead(project);
-	}
-
-	/**
-	 * @param webApp
-	 * @return Servlet - the JSF Servlet for the specified WebApp or null if not present
-	 */
-	public static Servlet findJSFServlet(WebApp webApp) {
-		Servlet servlet = null;
-		Iterator it = webApp.getServlets().iterator();
-		while (it.hasNext()) {
-			servlet = (Servlet) it.next();
-			if (servlet.getWebType().isServletType()) {
-				if (((ServletType) servlet.getWebType()).getClassName().equals(
-						JSF_SERVLET_CLASS)) {
-					break;
-				}
-			} else if (servlet.getWebType().isJspType()) {
-				if (((JSPType) servlet.getWebType()).getJspFile().equals(
-						JSF_SERVLET_CLASS)) {
-					break;
-				}
-			}
-		}
-		return servlet;
-	}
-
-	/**
-	 * Creates a stubbed JSF configuration file for specified JSF version and path
-	 * @param String jsfVersion
-	 * @param String configPath
-	 */
-	public static void createConfigFile(String jsfVersion, IPath configPath) {
-		FileOutputStream os = null;
-		PrintWriter pw = null;
-		final String QUOTE = new String(new char[] { '"' });
-		try {
-			IPath dirPath = configPath.removeLastSegments(1);
-			dirPath.toFile().mkdirs();
-			File file = configPath.toFile();
-			file.createNewFile();
-			os = new FileOutputStream(file);
-			pw = new PrintWriter(os);
-			pw.write("<?xml version=" + QUOTE + "1.0" + QUOTE + " encoding=" //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-					+ QUOTE + "UTF-8" + QUOTE + "?>\n\n"); //$NON-NLS-1$ //$NON-NLS-2$
-
-			if (jsfVersion.equals("1.1")) { //$NON-NLS-1$
-				pw.write("<!DOCTYPE faces-config PUBLIC\n"); //$NON-NLS-1$
-				pw
-						.write("    " //$NON-NLS-1$
-								+ QUOTE
-								+ "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN" //$NON-NLS-1$
-								+ QUOTE + "\n"); //$NON-NLS-1$
-				pw.write("    " + QUOTE //$NON-NLS-1$
-						+ "http://java.sun.com/dtd/web-facesconfig_1_1.dtd" //$NON-NLS-1$
-						+ QUOTE + ">\n\n"); //$NON-NLS-1$
-
-				pw.write("<faces-config>\n\n"); //$NON-NLS-1$
-				pw.write("</faces-config>\n"); //$NON-NLS-1$
-			} else if (jsfVersion.equals("1.2")) { //$NON-NLS-1$
-				pw.write("<faces-config\n"); //$NON-NLS-1$
-				pw.write("    " + "xmlns=" + QUOTE //$NON-NLS-1$ //$NON-NLS-2$
-						+ "http://java.sun.com/xml/ns/j2ee" + QUOTE + "\n"); //$NON-NLS-1$ //$NON-NLS-2$
-				pw.write("    " + "xmlns:xsi=" + QUOTE //$NON-NLS-1$ //$NON-NLS-2$
-						+ "http://www.w3.org/2001/XMLSchema-instance" + QUOTE //$NON-NLS-1$
-						+ "\n"); //$NON-NLS-1$
-				pw
-						.write("    " //$NON-NLS-1$
-								+ "xsi:schemaLocation=" //$NON-NLS-1$
-								+ QUOTE
-								+ "http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-facesconfig_1_2.xsd" //$NON-NLS-1$
-								+ QUOTE + "\n"); //$NON-NLS-1$
-				pw.write("    " + "version=" + QUOTE + "1.2" + QUOTE + ">\n\n"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-				pw.write("</faces-config>\n"); //$NON-NLS-1$
-			}
-
-			pw.close();
-			pw = null;
-		} catch (FileNotFoundException e) {
-			JSFCorePlugin.log(IStatus.ERROR, Messages.JSFUtils_ErrorCreatingConfigFile, e);
-		} catch (IOException e) {
-			JSFCorePlugin.log(IStatus.ERROR, Messages.JSFUtils_ErrorCreatingConfigFile, e);
-		} finally {
-			if (pw != null)
-				pw.close();
-			if (os != null) {
-				try {
-					os.close();
-				} catch (IOException e) {
-					JSFCorePlugin.log(IStatus.ERROR, Messages.JSFUtils_ErrorClosingConfigFile, e);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Creates servlet reference in WebApp if not present or updates servlet name if found
-	 * using the passed configuration.
-	 * 
-	 * @param WebApp webApp
-	 * @param IDataModel config
-	 * @param Servlet servlet
-	 * @return Servlet servlet - if passed servlet was null, will return created servlet
-	 */
-	public static Servlet createOrUpdateServletRef(WebApp webApp,
-			IDataModel config, Servlet servlet) {
-		String displayName = config.getStringProperty(IJSFFacetInstallDataModelProperties.SERVLET_NAME);
-
-		if (servlet == null) {
-			// Create the servlet instance and set up the parameters from data
-			// model
-			servlet = WebapplicationFactory.eINSTANCE.createServlet();
-			servlet.setServletName(displayName);
-
-			ServletType servletType = WebapplicationFactory.eINSTANCE
-					.createServletType();
-			servletType.setClassName(JSF_SERVLET_CLASS);
-			servlet.setWebType(servletType);
-			servlet.setLoadOnStartup(new Integer(1));
-			// Add the servlet to the web application model
-			webApp.getServlets().add(servlet);
-		} else {
-			// update
-			servlet.setServletName(displayName);
-			servlet.setLoadOnStartup(new Integer(1));
-		}
-		return servlet;
-	}
-
-	/**
-	 * Creates servlet-mappings for the servlet
-	 * 
-	 * @param WebApp webApp
-	 * @param List urlMappingList - list of string values to  be used in url-pattern for servlet-mapping
-	 * @param Servlet servlet
-	 */
-	public static void setUpURLMappings(WebApp webApp, List urlMappingList,
-			Servlet servlet) {
-		// Add mappings
-		Iterator it = urlMappingList.iterator();
-		while (it.hasNext()) {
-			String pattern = (String) it.next();
-			ServletMapping mapping = WebapplicationFactory.eINSTANCE
-					.createServletMapping();
-			mapping.setServlet(servlet);
-			mapping.setName(servlet.getServletName());
-			mapping.setUrlPattern(pattern);
-			webApp.getServletMappings().add(mapping);
-		}
-	}
-	
-	/**
-	 * Removes servlet-mappings for servlet using servlet-name.
-	 * @param WebApp webApp
-	 * @param Servlet servlet
-	 */
-	public static void removeURLMappings(WebApp webApp, Servlet servlet) {
-		String servletName = servlet.getServletName();
-		if (servletName != null) {
-			Iterator oldMappings = webApp.getServletMappings().iterator();
-			while (oldMappings.hasNext()) {
-				ServletMapping mapping = (ServletMapping) oldMappings.next();
-				if (mapping.getServlet().getServletName()
-						.equals(servletName)) {
-					webApp.getServletMappings().remove(mapping);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Creates or updates config file context-param in v 2.3 WebApp if non default configuration file is specified.
-	 * @param WebApp webApp
-	 * @param IDataModel config
-	 */
-	public static void setupConfigFileContextParamForV2_3(WebApp webApp,
-			IDataModel config) {
-		// if not default name and location, then add context param
-		ContextParam cp = null;
-		ContextParam foundCP = null;
-		boolean found = false;
-		if (!config.getStringProperty(IJSFFacetInstallDataModelProperties.CONFIG_PATH).equals(JSF_DEFAULT_CONFIG_PATH)) {
-			// check to see if present
-			Iterator it = webApp.getContexts().iterator();
-			while (it.hasNext()) {
-				cp = (ContextParam) it.next();
-				if (cp.getParamName().equals(JSF_CONFIG_CONTEXT_PARAM)) {
-					foundCP = cp;
-					found = true;
-				}
-			}
-			if (!found) {
-				cp = WebapplicationFactory.eINSTANCE.createContextParam();
-				cp.setParamName(JSF_CONFIG_CONTEXT_PARAM);
-				cp.setParamValue(config.getStringProperty(IJSFFacetInstallDataModelProperties.CONFIG_PATH));
-				webApp.getContexts().add(cp);
-			} else {
-				cp = foundCP;
-				if (cp.getParamValue().indexOf(config.getStringProperty(IJSFFacetInstallDataModelProperties.CONFIG_PATH)) < 0) {
-					String curVal = cp.getParamValue();
-					String val = config.getStringProperty(IJSFFacetInstallDataModelProperties.CONFIG_PATH);
-					if (curVal != null || !curVal.trim().equals("")) { //$NON-NLS-1$
-						val = curVal + ",\n" + val; //$NON-NLS-1$
-					}
-					cp.setParamValue(val);
-				}
-			}
-		}
-	}
-	/**
-	 * Creates or updates config file context-param in v2.4 WebApp  if non default configuration file is specified.
-	 * @param WebApp webApp
-	 * @param IDataModel config
-	 */
-	public static void setupConfigFileContextParamForV2_4(WebApp webApp,
-			IDataModel config) {
-		// if not default name and location, then add context param
-		ParamValue foundCP = null;
-		ParamValue cp = null;
-		boolean found = false;
-		if (!config.getStringProperty(IJSFFacetInstallDataModelProperties.CONFIG_PATH).equals(JSF_DEFAULT_CONFIG_PATH)) {
-			// check to see if present
-			Iterator it = webApp.getContextParams().iterator();
-			while (it.hasNext()) {
-				cp = (ParamValue) it.next();
-				if (cp.getName().equals(JSF_CONFIG_CONTEXT_PARAM)) {
-					foundCP = cp;
-					found = true;
-				}
-			}
-			if (!found) {
-				ParamValue pv = CommonFactory.eINSTANCE.createParamValue();
-				pv.setName(JSF_CONFIG_CONTEXT_PARAM);
-				pv.setValue(config.getStringProperty(IJSFFacetInstallDataModelProperties.CONFIG_PATH));
-				webApp.getContextParams().add(pv);
-			} else {
-				cp = foundCP;
-				if (cp.getValue().indexOf(config.getStringProperty(IJSFFacetInstallDataModelProperties.CONFIG_PATH)) < 0) {
-					String curVal = cp.getValue();
-					String val = config.getStringProperty(IJSFFacetInstallDataModelProperties.CONFIG_PATH);
-					if (curVal != null || !curVal.trim().equals("")) { //$NON-NLS-1$
-						val = curVal + ",\n" + val; //$NON-NLS-1$
-					}
-					cp.setValue(val);
-				}
-			}
-		}
-	}
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/contentmodel/annotation/CMAnnotationHelper.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/contentmodel/annotation/CMAnnotationHelper.java
deleted file mode 100644
index c27833e..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/contentmodel/annotation/CMAnnotationHelper.java
+++ /dev/null
@@ -1,267 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * 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:
- *    Gerry Kessler/Oracle - initial API and implementation
- *    
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.core.internal.provisional.contentmodel.annotation;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jst.jsf.core.internal.contentmodel.annotation.CMAnnotation;
-import org.eclipse.jst.jsf.core.internal.contentmodel.annotation.CMAnnotationFileRegistry;
-import org.eclipse.jst.jsf.core.internal.contentmodel.annotation.CMAnnotationMap;
-import org.eclipse.jst.jsf.core.internal.contentmodel.annotation.CMAttributeAnnotation;
-
-/**
- * Class meant for all public access to the design-time meta-data (CMAnnotations) values.
- * 
- * <li>Annotation files are registered against a uri (eg. http://java.sun.com/jsf/core) 
- * using the extension-point <code>org.eclipse.jst.jsf.core.annotationFiles</code>.</li>
- * <li>Any number of annotation files can be associated with the uri and against any element or attribute.</li>
- * <li>It is recommended that a single plugin should avoid registering meta-data for the same attribute or element 
- * from different annotationFiles.</li>
- * <li>A CMAnnotation allows for a collection of property values for a named property.</li>  
- * <li>Querying the registry using this helper class can return lists of <code>CMAnnotationPropertyValue</code> 
- * which allows the caller to make the determination of whether the property value is of interest or not.</li> 
- * <li>The caller can also query the registry for specific plugin supplied annotation meta-data.</li>
- * 
- * <li>-- include link to doc--</li>
- * 
- * @see CMElementAnnotation
- * @see CMAttributeAnnotation
- * @see CMAnnotationPropertyValue
- * @see org.eclipse.jst.jsf.core.annotationFiles extension-point
- */
-public class CMAnnotationHelper {
-
-	/**
-	 * Returns a list of CMAnnotationPropertyValue objects for a given property name and uri/tag/tag attribute combo.
-	 * A list is being returned because it is possible that there are multiple annotation files with the same 
-	 * named property.  Caller can decide what to do.
-	 * 
-	 * Can return null if annotation is not found or meta-data property name not present.
-	 * 
-	 * @param uri
-	 * @param cmElementName
-	 * @param cmAttrName
-	 * @param meta_prop_name
-	 * @return list of CMAnnotationPropertyValue objects
-	 */
-	public static List getCMAttributeProperties(String uri, String cmElementName, String cmAttrName, String meta_prop_name) {
-		return getCMAttributeProperties(null, uri, cmElementName, cmAttrName, meta_prop_name);
-	}
-	
-
-	/**
-	 * Returns a list of CMAnnotationPropertyValue objects for a given bundleId, property name and uri/tag/tag attribute combo.
-	 * A list is being returned because it is possible that there are multiple annotation files with the same 
-	 * named property.  Caller can decide what to do.
-	 * 
-	 * Use this method if you are not looking for a property value from a specific bundle.  Usually the caller.
-	 * 
-	 * Can return null if annotation is not found or meta-data property name not present.
-	 * 
-	 * @param bundleId
-	 * @param uri
-	 * @param cmElementName
-	 * @param cmAttrName
-	 * @param meta_prop_name
-	 * @return list of CMAnnotationPropertyValue objects
-	 */
-	public static List getCMAttributeProperties(String bundleId, String uri, String cmElementName, String cmAttrName, String meta_prop_name) {
-		if (!CMAnnotationFileRegistry.getInstance().hasAnnotations(uri))			
-			return null;
-		
-		List list = new ArrayList();
-		List maps = CMAnnotationFileRegistry.getInstance().getAnnotationMaps(uri);
-		if (maps != null){
-			Iterator it = maps.iterator();
-			while (it.hasNext()){
-				CMAnnotationMap map = (CMAnnotationMap)it.next();
-				if (bundleId == null || map.getFileInfo().getBundleId().equals(bundleId)){
-					CMAnnotationPropertyValue propVal =  map.getCMAttributePropertyValue(cmElementName, cmAttrName, meta_prop_name);
-					if (propVal != null){
-						list.add(propVal);
-					}
-				}
-			}
-		}
-		return list.isEmpty() ? null : list;
-	}
-	
-	/**
-	 * Convenience method to return the first string value for a given bundle, uri, element, attr, and meta_prop_name.
-	 * Caller needs to be aware that this could be a multi-value property.  If so, <code>getCMAttributePropertyValues</code>
-	 * should probably be called.
-	 * 
-	 * Caller must be sure that only one annotation meta-data file is associated with this uri from the specified bundle.  
-	 * If there are multiple annotations, only the first bundle's values will be returned.
-	 * 
-	 * Can return null if annotation is not found or meta-data property name not present.
-	 * 
-	 * @param bundleId
-	 * @param uri
-	 * @param cmElementName
-	 * @param cmAttrName
-	 * @param meta_prop_name
-	 * @return property value as String
-	 */
-	public static String getCMAttributePropertyValue(String bundleId, String uri, String cmElementName, String cmAttrName, String meta_prop_name){
-		List vals = getCMAttributeProperties(bundleId, uri, cmElementName, cmAttrName, meta_prop_name);
-		if (vals != null && !vals.isEmpty()){
-			return((CMAnnotationPropertyValue)vals.get(0)).getPropertyValue();
-		}
-		return null;
-	}
-	
-	/**
-	 * Convenience method to return the list of property values for a given bundle, uri, element, attr, and meta_prop_name.
-	 * 
-	 * Caller must be sure that only one annotation meta-data file is associated with this uri from the specified bundle.  
-	 * If there are multiple annotations, only the first bundle's values will be returned.
-	 * 
-	 * Can return null if annotation is not found or meta-data property name not present.
-	 * 
-	 * @param bundleId
-	 * @param uri
-	 * @param cmElementName
-	 * @param cmAttrName
-	 * @param meta_prop_name
-	 * @return property values as List
-	 */
-	public static List getCMAttributePropertyValues(String bundleId, String uri, String cmElementName, String cmAttrName, String meta_prop_name){
-		List vals = getCMAttributeProperties(bundleId, uri, cmElementName, cmAttrName, meta_prop_name);
-		if (vals != null){
-			return((CMAnnotationPropertyValue)vals.get(0)).getPropertyValues();
-		}
-		return null;
-	}
-	/**
-	 * Returns a list of CMAnnotationPropertyValue objects for a given property name and uri/tag element combo.
-	 * A list is being returned because it is possible that there are multiple annotation files with the same 
-	 * named property.  Caller can decide what to do.
-	 * 
-	 * Can return null if annotation is not found or meta-data property name not present.
-	 * 
-	 * @param uri
-	 * @param cmElementName
-	 * @param cmAttrName
-	 * @param meta_prop_name
-	 * @return list of CMAnnotationPropertyValue objects
-	 */
-	public static List getCMElementProperties(String uri, String cmElementName, String meta_prop_name) {
-		return getCMElementProperties(null, uri, cmElementName, meta_prop_name);
-	}
-
-	
-	/**
-	 * Returns a list of CMAnnotationPropertyValue objects for a given bundle, property name and uri/tag element combo.
-	 * A list is being returned because it is possible that there are multiple annotation files with the same 
-	 * named property.  Caller can decide what to do.
-	 * 
-	 * Use this method if you are not looking for a property value from a specific bundle.  Usually the caller.
-	 * 
-	 * Can return null if annotation is not found or meta-data property name not present.
-	 * 
-	 * @param bundleId
-	 * @param uri
-	 * @param cmElementName
-	 * @param cmAttrName
-	 * @param meta_prop_name
-	 * @return list of CMAnnotationPropertyValue objects
-	 */
-	public static List getCMElementProperties(String bundleId, String uri, String cmElementName, String meta_prop_name) {
-		if (!CMAnnotationFileRegistry.getInstance().hasAnnotations(uri))			
-			return null;
-		
-		List list = new ArrayList();
-		List maps = CMAnnotationFileRegistry.getInstance().getAnnotationMaps(uri);
-		if (maps != null){
-			Iterator it = maps.iterator();
-			while (it.hasNext()){
-				CMAnnotationMap map = (CMAnnotationMap)it.next();
-				if (bundleId == null || map.getFileInfo().getBundleId().equals(bundleId)){
-					CMAnnotationPropertyValue propVal =  map.getCMElementPropertyValue(cmElementName, meta_prop_name);
-					if (propVal != null){
-						list.add(propVal);
-					}
-				}
-			}
-		}
-		return list.isEmpty() ? null : list;
-	}
-	
-	/**
-	 * Convenience method to return the first string value for a given bundle, uri, element, and meta_prop_name.
-	 * Caller needs to be aware that this could be a multi-value property.  If so, <code>getCMAttributePropertyValues</code>
-	 * should probably be called.
-	 * 
-	 * Caller must be sure that only one annotation meta-data file is associated with this uri from the specified bundle.  
-	 * If there are multiple annotations, only the first bundle's values will be returned.
-	 * 
-	 * Can return null if annotation is not found or meta-data property name not present.
-	 * 
-	 * @param bundleId
-	 * @param uri
-	 * @param cmElementName
-	 * @param meta_prop_name
-	 * @return property value as String
-	 */
-	public static String getCMElementPropertyValue(String bundleId, String uri, String cmElementName, String meta_prop_name){
-		List vals = getCMElementProperties(bundleId, uri, cmElementName, meta_prop_name);
-		if (vals != null){
-			return((CMAnnotationPropertyValue)vals.get(0)).getPropertyValue();
-		}
-		return null;
-	}
-	
-	/**
-	 * Convenience method to return the list of property values for a given bundle, uri, element, and meta_prop_name.
-	 * 
-	 * Caller must be sure that only one annotation meta-data file is associated with this uri from the specified bundle.  
-	 * If there are multiple annotations, only the first bundle's values will be returned.
-	 * 
-	 * Can return null.
-	 * 
-	 * @param bundleId
-	 * @param uri
-	 * @param cmElementName
-	 * @param meta_prop_name
-	 * @return List of property values as Strings 
-	 */
-	public static List getCMElementPropertyValues(String bundleId, String uri, String cmElementName, String meta_prop_name){
-		List vals = getCMElementProperties(bundleId, uri, cmElementName, meta_prop_name);
-		if (vals != null){
-			return((CMAnnotationPropertyValue)vals.get(0)).getPropertyValues();
-		}
-		return null;
-	}
-	
-	/**
-	 * Return whether or not there are annotation files for a given uri and bundleId.
-	 * @param bundleId
-	 * @param uri
-	 * @return boolean
-	 */
-	public static boolean hasAnnotations(String bundleId, String uri) {
-		return CMAnnotationFileRegistry.getInstance().hasAnnotations(bundleId, uri);
-	}
-	
-	/**
-	 * Return whether or not there are annotation files for a given uri.
-	 * @param uri
-	 * @return boolean 
-	 */
-	public static boolean hasAnnotations(String uri) {
-		return CMAnnotationFileRegistry.getInstance().hasAnnotations(uri);
-	}
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/contentmodel/annotation/CMAnnotationPropertyValue.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/contentmodel/annotation/CMAnnotationPropertyValue.java
deleted file mode 100644
index eca5213..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/contentmodel/annotation/CMAnnotationPropertyValue.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * 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:
- *    Gerry Kessler/Oracle - initial API and implementation
- *    
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.core.internal.provisional.contentmodel.annotation;
-
-import java.util.List;
-
-/**
- * The class used to return result of a query on the annotation model.   
- * 
- * @author Gerry Kessler - Oracle
- *
- */
-public class CMAnnotationPropertyValue {
-	private ICMAnnotationSourceFileInfo fileInfo;
-	private List propertyValues;
-	
-	public CMAnnotationPropertyValue(ICMAnnotationSourceFileInfo fileInfo, List propertyValues){
-		this.fileInfo = fileInfo;
-		this.propertyValues = propertyValues;
-	}
-
-	/**
-	 * Convenience method for accessing the bundleid
-	 * @return String
-	 */
-	public String getBundleId(){
-		return fileInfo.getBundleId();
-	}
-	
-	/**
-	 * @return ICMAnnotationSourceFileInfo used to define this property
-	 */
-	public ICMAnnotationSourceFileInfo getFileInfo(){
-		return fileInfo;
-	}
-	
-	/**
-	 * Return first string property value.   
-	 * If caller expects more values, they should use getPropertyValues().
-	 * @return String  
-	 */
-	public String getPropertyValue(){
-		return (String)propertyValues.get(0);
-	}
-	
-	/**
-	 * Return list of property values as strings for the given property
-	 * @return java.util.List
-	 */
-	public List getPropertyValues(){
-		return propertyValues;
-	}
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/contentmodel/annotation/CMAnnotationSourceFileLocator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/contentmodel/annotation/CMAnnotationSourceFileLocator.java
deleted file mode 100644
index 814f154..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/contentmodel/annotation/CMAnnotationSourceFileLocator.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * 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:
- *    Gerry Kessler/Oracle - initial API and implementation
- *    
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.core.internal.provisional.contentmodel.annotation;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-
-/**
- * Used to supply an InputStream to the parser of an annotation 
- * meta-data file and the URL to the resource bundle for a properties file, if any.
- * 
- * Implementors must provide a zero-argument constructor.
- * 
- * @author Gerry Kessler - Oracle
- *
- */ 
-public abstract class CMAnnotationSourceFileLocator{
-	protected ICMAnnotationSourceFileInfo fileInfo;
-	
-	public final void setFileInfo(ICMAnnotationSourceFileInfo fileInfo){
-		this.fileInfo = fileInfo;
-	}
-	
-	protected final ICMAnnotationSourceFileInfo getFileInfo(){
-		return fileInfo;
-	}
-	/**
-	 * Return InputStream to the meta-data annotation.  
-	 * Callers are responsble for closing the stream.
-	 * @return InputStream
-	 * @throws IOException
-	 */
-	public abstract InputStream getAnnotationSourceInputStream() throws IOException;
-	/**
-	 * Return ResourceBundle for the property files if there are any.  Return null if not.
-	 * 
-	 * @return java.util.ResourceBundle
-	 * @throws IOException
-	 * @throws MissingResourceException
-	 */
-	public abstract ResourceBundle getResourceBundle() throws IOException, MissingResourceException;
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/contentmodel/annotation/CMSourceFileLocator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/contentmodel/annotation/CMSourceFileLocator.java
deleted file mode 100644
index 94ebeba..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/contentmodel/annotation/CMSourceFileLocator.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.eclipse.jst.jsf.core.internal.provisional.contentmodel.annotation;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-
-/**
- * Used to supply an InputStream to the parser of an annotation 
- * meta-data file and the URL to resource bundle for a properties file, if any.
- * 
- * Implementors must provide a zero-argument constructor.
- *
- */
-public abstract class CMSourceFileLocator{
-	protected ICMAnnotationSourceFileInfo fileInfo;
-	
-	public final void setFileInfo(ICMAnnotationSourceFileInfo fileInfo){
-		this.fileInfo = fileInfo;
-	}
-	
-	protected final ICMAnnotationSourceFileInfo getFileInfo(){
-		return fileInfo;
-	}
-	/**
-	 * Return InputStream to the meta-data annotation.  Callers will be responsble for closing the stream.
-	 * @return InputStream
-	 * @throws IOException
-	 */
-	public abstract InputStream getAnnotationSourceInputStream() throws IOException;
-	/**
-	 * Return ResourceBundle for the property files if there are any.  Return null if not.
-	 * 
-	 * @return java.util.ResourceBundle
-	 * @throws IOException
-	 * @throws MissingResourceException
-	 */
-	public abstract ResourceBundle getResourceBundle() throws IOException, MissingResourceException;
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/contentmodel/annotation/ICMAnnotationFileParser.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/contentmodel/annotation/ICMAnnotationFileParser.java
deleted file mode 100644
index a495767..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/contentmodel/annotation/ICMAnnotationFileParser.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * 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:
- *    Gerry Kessler/Oracle - initial API and implementation
- *    
- ********************************************************************************/
-package org.eclipse.jst.jsf.core.internal.provisional.contentmodel.annotation;
-
-import org.eclipse.jst.jsf.core.internal.contentmodel.annotation.ICMAnnotationAdvisor;
-
-/**
- * Interface used to allow parsing of meta-data files that do not conform to the default schema provided.
- *  
- * @author Gerry Kessler - Oracle
- * 
- * @see ext-pt: <code>org.eclipse.jst.jsf.core.annotationFile</code> 
- * @see xml schema defn: <code>http://org.eclipse.jst.jsf.core/grammarAnnotationSchema</code>
- * @see <code>org.eclipse.jst.jsf.core.internal.contentmodel.annotation.ICMAnnotationAdvisor</code>
- * @see <code>org.eclipse.jst.jsf.core.internal.provisional.contentmodel.annotation.CMAnnotationSourceFileLocator</code>
- */
-public interface ICMAnnotationFileParser {
-
-	/**
-	 * Parse the annotation file using the InputStream provided by the locator and   
-	 * using the ICMAnnotationAdvisor methods to fill the internal model.
-	 * 
-	 * The implementor is responsible for closing the inputstream when parse is complete.
-	 * 
-	 * @param ICMAnnotationAdvisor advisor
-	 * @param ICMAnnotationSourceFileLocator locator
-	 * @throws Exception
-	 */
-	public void parse(ICMAnnotationAdvisor advisor, CMAnnotationSourceFileLocator locator) throws Exception;
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/contentmodel/annotation/ICMAnnotationSourceFileInfo.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/contentmodel/annotation/ICMAnnotationSourceFileInfo.java
deleted file mode 100644
index 9062190..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/contentmodel/annotation/ICMAnnotationSourceFileInfo.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * 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:
- *    Gerry Kessler/Oracle - initial API and implementation
- *    
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.core.internal.provisional.contentmodel.annotation;
-
-/**
- * The interface used to access information about the annotationFile extension
- * 
- * Not intended to be implemented by clients.
- * @author Gerry Kessler - Oracle
- *
- */
-public interface ICMAnnotationSourceFileInfo {
-	public String getAnnotationFileLocation();
-	public String getBundleId();
-	public String getParserClassName();
-	public String getAnnotationFileLocatorClassname();
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/jsfappconfig/ArtifactEditJSFAppConfigProvider.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/jsfappconfig/ArtifactEditJSFAppConfigProvider.java
deleted file mode 100644
index f2f95c8..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/jsfappconfig/ArtifactEditJSFAppConfigProvider.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * 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:
- *    Ian Trimble - initial API and implementation
- *******************************************************************************/ 
-package org.eclipse.jst.jsf.core.internal.provisional.jsfappconfig;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jst.jsf.core.internal.Messages;
-import org.eclipse.jst.jsf.facesconfig.emf.FacesConfigType;
-import org.eclipse.jst.jsf.facesconfig.util.FacesConfigArtifactEdit;
-
-/**
- * ArtifactEditJSFAppConfigProvider uses FacesConfigArtifactEdit to provide
- * the root element of an application configuration model.
- * 
- * @author Ian Trimble - Oracle
- */
-public class ArtifactEditJSFAppConfigProvider implements IJSFAppConfigProvider {
-
-	/**
-	 * IFile instance that represents an application configuration resource
-	 * file.
-	 */
-	protected IFile appConfigFile = null;
-
-	/**
-	 * FacesConfigArtifactEdit instance used to get the application
-	 * configuration model.
-	 */
-	protected FacesConfigArtifactEdit facesConfigArtifactEdit = null;
-
-	/**
-	 * Creates an instance, storing the passed IFile instance for subsequent
-	 * processing.
-	 * 
-	 * @param appConfigFile IFile instance that represents an application
-	 * configuration resource file
-	 */
-	public ArtifactEditJSFAppConfigProvider(IFile appConfigFile) {
-		this.appConfigFile = appConfigFile;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.jsf.core.internal.provisional.jsfappconfig.IJSFAppConfigProvider#getFacesConfigModel(boolean)
-	 */
-	public FacesConfigType getFacesConfigModel(boolean forWrite) throws InvalidWriteAccessModeException {
-		FacesConfigType facesConfig = null;
-		if (appConfigFile != null) {
-			IProject project = appConfigFile.getProject();
-			IPath appConfigFilePath = JSFAppConfigUtils.getWebContentFolderRelativePath(appConfigFile);
-			if (appConfigFilePath != null) {
-				if (forWrite) {
-					if (!allowsWrite()) {
-						throw new InvalidWriteAccessModeException(Messages.JSFAppConfigManager_InvalidWriteAccess);
-					}
-					facesConfigArtifactEdit = FacesConfigArtifactEdit.getFacesConfigArtifactEditForWrite(project, appConfigFilePath.toString());
-				} else {
-					facesConfigArtifactEdit = FacesConfigArtifactEdit.getFacesConfigArtifactEditForRead(project, appConfigFilePath.toString());
-				}
-				if (facesConfigArtifactEdit != null) {
-					facesConfig = facesConfigArtifactEdit.getFacesConfig();
-				}
-			}
-		}
-		return facesConfig;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.jsf.core.internal.provisional.jsfappconfig.IJSFAppConfigProvider#releaseFacesConfigModel()
-	 */
-	public void releaseFacesConfigModel() {
-		if (facesConfigArtifactEdit != null) {
-			facesConfigArtifactEdit.dispose();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.jsf.core.internal.provisional.jsfappconfig.IJSFAppConfigProvider#allowsWrite()
-	 */
-	public boolean allowsWrite() {
-		return true;
-	}
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/jsfappconfig/ContextParamSpecifiedJSFAppConfigLocater.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/jsfappconfig/ContextParamSpecifiedJSFAppConfigLocater.java
deleted file mode 100644
index f21a2e7..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/jsfappconfig/ContextParamSpecifiedJSFAppConfigLocater.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * 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:
- *    Ian Trimble - initial API and implementation
- *******************************************************************************/ 
-package org.eclipse.jst.jsf.core.internal.provisional.jsfappconfig;
-
-import org.eclipse.core.resources.IProject;
-
-/**
- * ContextParamSpecifiedJSFAppConfigLocater attempts to locate application
- * configuration files specified by the JSF CONFIG_FILES context parameter.
- * 
- * @author Ian Trimble - Oracle
- */
-public class ContextParamSpecifiedJSFAppConfigLocater extends WebContentRelativeJSFAppConfigLocater {
-
-	/**
-	 * IProject instance obtained from the JSFAppConfigManager instance.
-	 */
-	protected IProject project = null;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.jsf.core.internal.provisional.jsfappconfig.IJSFAppConfigLocater#locateProviders(org.eclipse.jst.jsf.core.internal.provisional.jsfappconfig.JSFAppConfigManager)
-	 */
-	public void locateProviders(JSFAppConfigManager manager) {
-		project = manager.getProject();
-		super.locateProviders(manager);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.jst.jsf.core.internal.provisional.jsfappconfig.WebContentRelativeJSFAppConfigLocater#getFilenames()
-	 */
-	protected String[] getFilenames() {
-		return JSFAppConfigUtils.getConfigFilesFromContextParam(project);
-	}
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/jsfappconfig/DefaultJSFAppConfigLocater.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/jsfappconfig/DefaultJSFAppConfigLocater.java
deleted file mode 100644
index fde0465..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/jsfappconfig/DefaultJSFAppConfigLocater.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * 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:
- *    Ian Trimble - initial API and implementation
- *******************************************************************************/ 
-package org.eclipse.jst.jsf.core.internal.provisional.jsfappconfig;
-
-/**
- * DefaultJSFAppConfigLocater attempts to locate the default application
- * configuration file, located at ".../WEB-INF/faces-config.xml".
- * 
- * @author Ian Trimble - Oracle
- */
-public class DefaultJSFAppConfigLocater extends WebContentRelativeJSFAppConfigLocater {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.jsf.core.internal.provisional.jsfappconfig.IJSFAppConfigLocater#locateProviders(org.eclipse.jst.jsf.core.internal.provisional.jsfappconfig.JSFAppConfigManager)
-	 */
-	public void locateProviders(JSFAppConfigManager manager) {
-		super.locateProviders(manager);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.jst.jsf.core.internal.provisional.jsfappconfig.WebContentRelativeJSFAppConfigLocater#getFilenames()
-	 */
-	protected String[] getFilenames() {
-		return new String[] {"WEB-INF/faces-config.xml"}; //$NON-NLS-1$
-	}
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/jsfappconfig/IJSFAppConfigLocater.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/jsfappconfig/IJSFAppConfigLocater.java
deleted file mode 100644
index e347e68..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/jsfappconfig/IJSFAppConfigLocater.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * 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:
- *    Ian Trimble - initial API and implementation
- *******************************************************************************/ 
-package org.eclipse.jst.jsf.core.internal.provisional.jsfappconfig;
-
-/**
- * IJSFAppConfigLocater is the interface that Objects capable of locating
- * JSF application configuration resource files and creating
- * {@link IJSFAppConfigProvider} instances to add to a
- * {@link JSFAppConfigManager} instance must implement.
- * 
- * @author Ian Trimble - Oracle
- */
-public interface IJSFAppConfigLocater {
-
-	/**
-	 * Locates and adds {@link IJSFAppConfigProvider} instances to the passed
-	 * {@link JSFAppConfigManager} instance.
-	 * 
-	 * @param manager {@link JSFAppConfigManager} instance to which
-	 * {@link IJSFAppConfigProvider} instances are added.
-	 */
-	public void locateProviders(JSFAppConfigManager manager);
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/jsfappconfig/IJSFAppConfigProvider.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/jsfappconfig/IJSFAppConfigProvider.java
deleted file mode 100644
index fd4ec4c..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/jsfappconfig/IJSFAppConfigProvider.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * 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:
- *    Ian Trimble - initial API and implementation
- *******************************************************************************/ 
-package org.eclipse.jst.jsf.core.internal.provisional.jsfappconfig;
-
-import org.eclipse.jst.jsf.facesconfig.emf.FacesConfigType;
-
-/**
- * IJSFAppConfigProvider is the interface that Objects capable of providing
- * JSF application configuration models must implement.
- * 
- * @author Ian Trimble - Oracle
- */
-public interface IJSFAppConfigProvider {
-
-	/**
-	 * Gets the root element of the application configuration model for read
-	 * or write access.
-	 * 
-	 * @param forWrite If true, gets the model for write access.
-	 * @return FacesConfigType instance, which is the root element of an
-	 * application configuration model.
-	 * @exception InvalidWriteAccessModeException thrown if model is attempted to be accessed
-	 * in write mode when not supported.
-	 */
-	public FacesConfigType getFacesConfigModel(boolean forWrite) throws InvalidWriteAccessModeException;
-
-	/**
-	 * Releases resources associated with acquiring the application
-	 * configuration model (if any).
-	 */
-	public void releaseFacesConfigModel();
-
-	/**
-	 * Indicates if this instance allows model to be opened for write access.
-	 * 
-	 * @return true if write access is allowed, else false.
-	 */
-	public boolean allowsWrite();
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/jsfappconfig/IJSFAppConfigProvidersChangeListener.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/jsfappconfig/IJSFAppConfigProvidersChangeListener.java
deleted file mode 100644
index 7bbf231..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/jsfappconfig/IJSFAppConfigProvidersChangeListener.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * 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:
- *    Ian Trimble - initial API and implementation
- *******************************************************************************/ 
-package org.eclipse.jst.jsf.core.internal.provisional.jsfappconfig;
-
-/**
- * Interface that an Object wishing to be notified about changes to the Set of
- * IJSFAppConfigProvider instances implements.
- * 
- * @author Ian Trimble - Oracle.
- */
-public interface IJSFAppConfigProvidersChangeListener {
-
-	/**
-	 * Callback method indicating a change in the Set of JSFAppConfigProvider
-	 * instances.
-	 * 
-	 * @param event JSFAppConfigProvidersChangeEvent instance.
-	 */
-	public void changedJSFAppConfigProviders(JSFAppConfigProvidersChangeEvent event);
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/jsfappconfig/InvalidWriteAccessModeException.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/jsfappconfig/InvalidWriteAccessModeException.java
deleted file mode 100644
index 55b815b..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/jsfappconfig/InvalidWriteAccessModeException.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * 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:
- *    Ian Trimble - initial API and implementation
- *******************************************************************************/ 
-package org.eclipse.jst.jsf.core.internal.provisional.jsfappconfig;
-
-/**
- * InvalidWriteAccessModeException is thrown to indicate a model was attempted to be opened
- * with an access mode (e.g. read, write) that it does not support.
- * 
- * @author Ian Trimble - Oracle
- */
-public class InvalidWriteAccessModeException extends Exception {
-
-	/**
-	 * Serial version ID
-	 */
-	private static final long serialVersionUID = -530337988461606646L;
-
-	/**
-	 * Creates an instance.
-	 */
-	public InvalidWriteAccessModeException() {
-		super();
-	}
-
-	/**
-	 * Creates an instance with the passed message.
-	 * 
-	 * @param message Message indicating reason for exception.
-	 */
-	public InvalidWriteAccessModeException(String message) {
-		super(message);
-	}
-
-	/**
-	 * Creates an instance with the passed message and root cause.
-	 * 
-	 * @param message Message indicating reason for exception.
-	 * @param cause Root cause of exception.
-	 */
-	public InvalidWriteAccessModeException(String message, Throwable cause) {
-		super(message, cause);
-	}
-
-	/**
-	 * Creates an instance with the passed root cause.
-	 * 
-	 * @param cause Root cause of exception.
-	 */
-	public InvalidWriteAccessModeException(Throwable cause) {
-		super(cause);
-	}
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/jsfappconfig/JARFileJSFAppConfigProvider.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/jsfappconfig/JARFileJSFAppConfigProvider.java
deleted file mode 100644
index 4c6021e..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/jsfappconfig/JARFileJSFAppConfigProvider.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * 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:
- *    Ian Trimble - initial API and implementation
- *******************************************************************************/ 
-package org.eclipse.jst.jsf.core.internal.provisional.jsfappconfig;
-
-import java.io.IOException;
-import java.util.Collections;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.core.internal.Messages;
-import org.eclipse.jst.jsf.facesconfig.emf.FacesConfigType;
-import org.eclipse.jst.jsf.facesconfig.util.FacesConfigResourceFactory;
-import org.eclipse.wst.common.internal.emf.resource.EMF2SAXRendererFactory;
-
-/**
- * JARFileJSFAppConfigProvider provides the root element of an application
- * configuration model by loading the model from a /META-INF/faces-config.xml
- * entry in a JAR file.
- * 
- * @author Ian Trimble - Oracle
- */
-public class JARFileJSFAppConfigProvider implements IJSFAppConfigProvider {
-
-	/**
-	 * Prefix required to turn filename into a JAR URI.
-	 */
-	public static final String JARFILE_URI_PREFIX = "jar:file:///";
-
-	/**
-	 * Suffix required to turn filename into a JAR URI.
-	 */
-	public static final String FACES_CONFIG_IN_JAR_SUFFIX = "!/META-INF/faces-config.xml";
-
-	/**
-	 * Name of a JAR file that contains a /META-INF/faces-config.xml entry.
-	 */
-	protected String filename = null;
-
-	/**
-	 * Creates an instance, storing the passed IProject instance and file name
-	 * String to be used for subsequent processing.
-	 * 
-	 * @param project IProject instance who's classpath contains this JAR file.
-	 * @param filename Name of a JAR file that contains a
-	 * /META-INF/faces-config.xml entry.
-	 */
-	public JARFileJSFAppConfigProvider(String filename) {
-		this.filename = filename;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.jsf.core.internal.provisional.jsfappconfig.IJSFAppConfigProvider#getFacesConfigModel(boolean)
-	 */
-	public FacesConfigType getFacesConfigModel(boolean forWrite) throws InvalidWriteAccessModeException {
-		FacesConfigType facesConfig = null;
-		if (forWrite && !allowsWrite()) {
-			throw new InvalidWriteAccessModeException(Messages.JSFAppConfigManager_InvalidWriteAccess);
-		}
-		if (filename != null) {
-			StringBuffer sb = new StringBuffer();
-			sb.append(JARFILE_URI_PREFIX);
-			sb.append(filename);
-			sb.append(FACES_CONFIG_IN_JAR_SUFFIX);
-			URI jarFileURI = URI.createURI(sb.toString());
-			FacesConfigResourceFactory resourceFactory = new FacesConfigResourceFactory(EMF2SAXRendererFactory.INSTANCE);
-			Resource resource = resourceFactory.createResource(jarFileURI);
-			try {
-				resource.load(Collections.EMPTY_MAP);
-				if (resource != null) {
-					EList resourceContents = resource.getContents();
-					if (resourceContents != null && resourceContents.size() > 0) {
-						facesConfig = (FacesConfigType)resourceContents.get(0);
-					}
-				}
-			} catch(IOException ioe) {
-				//log error
-				JSFCorePlugin.log(IStatus.ERROR, ioe.getLocalizedMessage(), ioe);
-			}
-		}
-		return facesConfig;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.jsf.core.internal.provisional.jsfappconfig.IJSFAppConfigProvider#releaseFacesConfigModel()
-	 */
-	public void releaseFacesConfigModel() {
-		//nothing to do
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.jsf.core.internal.provisional.jsfappconfig.IJSFAppConfigProvider#allowsWrite()
-	 */
-	public boolean allowsWrite() {
-		return false;
-	}
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/jsfappconfig/JSFAppConfigManager.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/jsfappconfig/JSFAppConfigManager.java
deleted file mode 100644
index 54ca77d..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/jsfappconfig/JSFAppConfigManager.java
+++ /dev/null
@@ -1,379 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * 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:
- *    Ian Trimble - initial API and implementation
- *******************************************************************************/ 
-package org.eclipse.jst.jsf.core.internal.provisional.jsfappconfig;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.LinkedHashSet;
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.facesconfig.emf.FacesConfigType;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-
-/**
- * JSFAppConfigManager provides an entry point to an entire JSF application
- * configuration, which is defined in one or more application configuration
- * resource files.
- * 
- * @author Ian Trimble - Oracle
- */
-public class JSFAppConfigManager {
-
-	/**
-	 * Key that is used for the IProject instance's session property that
-	 * holds a JSFAppConfigManager instance.
-	 */
-	public static final QualifiedName KEY_SESSIONPROPERTY =
-		new QualifiedName(JSFCorePlugin.PLUGIN_ID, "JSFAppConfigManager"); //$NON-NLS-1$
-
-	/**
-	 * IProject instance to which this JSFAppConfigManager instance is keyed.
-	 */
-	protected IProject project = null;
-
-	/**
-	 * Set of {@link IJSFAppConfigProvider} instances.
-	 */
-	protected LinkedHashSet configProviders = null;
-
-	/**
-	 * Collection of {@link IJSFAppConfigProvidersChangeListener} instances.
-	 */
-	protected ArrayList configProvidersChangeListeners = null;
-
-	/**
-	 * Set of {@link IJSFAppConfigLocater} instances.
-	 */
-	protected LinkedHashSet configLocaters = null;
-
-	/**
-	 * Constructor is private to prevent direct instantiation; call
-	 * getInstance(IProject).
-	 * 
-	 * @param project IProject instance to which the new JSFAppConfigManager
-	 * instance is keyed.
-	 */
-	private JSFAppConfigManager(IProject project) {
-		this.project = project;
-		initialize();
-	}
-
-	/**
-	 * Gets this instance's IProject instance.
-	 * 
-	 * @return This instance's IProject instance.
-	 */
-	public IProject getProject() {
-		return project;
-	}
-
-	/**
-	 * Initializes instance by:
-	 * <ul>
-	 * 	<li>creating configProviders Set</li>
-	 * 	<li>creating configProvidersChangeListeners collection</li>
-	 * 	<li>creating and populating configLocaters Set</li>
-	 * 	<li>invoking the locateProviders(...) method on all configLocaters</li>
-	 * 	<li>setting instance as a session property of the IProject instance</li>
-	 * </ul>
-	 */
-	protected void initialize() {
-		//create collections
-		configProviders = new LinkedHashSet();
-		configProvidersChangeListeners = new ArrayList();
-		configLocaters = new LinkedHashSet();
-		//populate initial Set of locaters
-		populateConfigLocaters();
-		//locate config providers (no need to clear; collection just created)
-		locateConfigProviders(false);
-		//set as session property of project
-		setAsSessionProperty();
-	}
-
-	/**
-	 * Populates configLocaters Set with "built-in" set of
-	 * {@link IJSFAppConfigLocater} implementations.
-	 */
-	protected void populateConfigLocaters() {
-		configLocaters.add(new DefaultJSFAppConfigLocater());
-		configLocaters.add(new ContextParamSpecifiedJSFAppConfigLocater());
-		configLocaters.add(new RuntimeClasspathJSFAppConfigLocater());
-	}
-
-	/**
-	 * Optionally clears known {@link IJSFAppConfigProvider} instances then
-	 * invokes the locate(JSFAppConfigManager) method of all known
-	 * {@link IJSFAppConfigLocater} instances.
-	 * 
-	 * @param clearFirst If true, clears known {@link IJSFAppConfigProvider}
-	 * instances before invoking known {@link IJSFAppConfigLocater} instances
-	 */
-	public void locateConfigProviders(boolean clearFirst) {
-		//clear known providers if requested
-		if (clearFirst) {
-			disposeConfigProviders();
-			configProviders.clear();
-		}
-		//invoke locateProviders method on all known locaters
-		Iterator itConfigLocaters = configLocaters.iterator();
-		while (itConfigLocaters.hasNext()) {
-			IJSFAppConfigLocater configLocater = (IJSFAppConfigLocater)itConfigLocaters.next();
-			configLocater.locateProviders(this);
-		}
-	}
-
-	/**
-	 * Calls releaseFacesConfigModel() method on all known
-	 * {@link IJSFAppConfigProvider} instances, in preparation for clearing
-	 * of known instances.
-	 */
-	public void disposeConfigProviders() {
-		Iterator itConfigProviders = configProviders.iterator();
-		while (itConfigProviders.hasNext()) {
-			IJSFAppConfigProvider configProvider = (IJSFAppConfigProvider)itConfigProviders.next();
-			configProvider.releaseFacesConfigModel();
-		}
-	}
-
-	/**
-	 * Gets a JSFAppConfigManager instance that is keyed to the passed IProject
-	 * parameter. May return null if the project is not valid or if a
-	 * CoreException is thrown while attempting to get or set the instance as
-	 * a session property.
-	 * 
-	 * @param project IProject instance to which the returned
-	 * JSFAppConfigManager instance is keyed
-	 * @return JSFAppConfigManager instance, or null
-	 */
-	public static JSFAppConfigManager getInstance(IProject project) {
-		JSFAppConfigManager manager = null;
-		if (isValidProject(project)) {
-			manager = getFromSessionProperty(project);
-			if (manager == null) {
-				manager = new JSFAppConfigManager(project);
-			}
-		}
-		return manager;
-	}
-
-	/**
-	 * Tests if the passed IProject instance is valid in the following ways:
-	 * <ul>
-	 * <li>project is not null and is accessible</li>
-	 * <li>project has the "jst.jsf" facet set on it</li>
-	 * </ul>
-	 * 
-	 * @param project IProject instance to be tested
-	 * @return true if the IProject instance is valid, else false
-	 */
-	protected static boolean isValidProject(IProject project) {
-		boolean isValid = false;
-		//check for null or inaccessible project
-		if (project != null && project.isAccessible()) {
-			//check for "jst.jsf" facet on project
-			try {
-				IFacetedProject facetedProject = ProjectFacetsManager.create(project);
-				if (facetedProject != null) {
-					Set projectFacets = facetedProject.getProjectFacets();
-					Iterator itProjectFacets = projectFacets.iterator();
-					while (itProjectFacets.hasNext()) {
-						IProjectFacetVersion projectFacetVersion = (IProjectFacetVersion)itProjectFacets.next();
-						IProjectFacet projectFacet = projectFacetVersion.getProjectFacet();
-						if ("jst.jsf".equals(projectFacet.getId())) { //$NON-NLS-1$
-							isValid = true;
-							break;
-						}
-					}
-				}
-			} catch(CoreException ce) {
-				//log error
-				JSFCorePlugin.log(IStatus.ERROR, ce.getLocalizedMessage(), ce);
-			}
-		}
-		return isValid;
-	}
-
-	/**
-	 * Attempts to get a JSFAppConfigManager instance from a session property
-	 * of the passed IProject instance. Will return null if the session
-	 * property has not yet been set.
-	 * 
-	 * @param project IProject instance from which to retrieve the
-	 * JSFAppConfigManager instance
-	 * @return JSFAppConfigManager instance, or null
-	 */
-	protected static JSFAppConfigManager getFromSessionProperty(IProject project) {
-		JSFAppConfigManager manager = null;
-		try {
-			Object obj = project.getSessionProperty(KEY_SESSIONPROPERTY);
-			if (obj != null && obj instanceof JSFAppConfigManager) {
-				manager = (JSFAppConfigManager)obj;
-			}
-		} catch(CoreException ce) {
-			//log error
-			JSFCorePlugin.log(IStatus.ERROR, ce.getLocalizedMessage(), ce);
-		}
-		return manager;
-	}
-
-	/**
-	 * Sets this JSFAppConfigManager instance as a session property of its
-	 * IProject instance.
-	 */
-	protected void setAsSessionProperty() {
-		if (project != null && project.isAccessible()) {
-			try {
-				project.setSessionProperty(KEY_SESSIONPROPERTY, this);
-			} catch(CoreException ce) {
-				//log error
-				JSFCorePlugin.log(IStatus.ERROR, ce.getLocalizedMessage(), ce);
-			}
-		}
-	}
-
-	/**
-	 * Unsets this JSFAppConfigManager instance as a session property of its
-	 * IProject instance.
-	 */
-	protected void unsetAsSessionProperty() {
-		if (project != null && project.isAccessible()) {
-			try {
-				project.setSessionProperty(KEY_SESSIONPROPERTY, null);
-			} catch(CoreException ce) {
-				//log error
-				JSFCorePlugin.log(IStatus.ERROR, ce.getLocalizedMessage(), ce);
-			}
-		}
-	}
-
-	/**
-	 * Adds an instance of IJSFAppConfigProvider to the configProviders Set.
-	 * 
-	 * @param configProvider Instance of IJSFAppConfigProvider.
-	 * @return true if instance was added (if it did not already exist in the
-	 * Set), else false.
-	 */
-	public boolean addJSFAppConfigProvider(IJSFAppConfigProvider configProvider) {
-		boolean added = configProviders.add(configProvider);
-		if (added) {
-			notifyJSFAppConfigProvidersChangeListeners(
-					configProvider, JSFAppConfigProvidersChangeEvent.ADDED);
-		}
-		return added;
-	}
-
-	/**
-	 * Removes an instance of IJSFAppConfigProvider from the configProviders
-	 * Set.
-	 * 
-	 * @param configProvider Instance of IJSFAppConfigProvider.
-	 * @return true if instance was removed (if it existed in the Set), else
-	 * false.
-	 */
-	public boolean removeJSFAppConfigProvider(IJSFAppConfigProvider configProvider) {
-		if (configProvider != null) {
-			configProvider.releaseFacesConfigModel();
-		}
-		boolean removed = configProviders.remove(configProvider);
-		if (removed) {
-			notifyJSFAppConfigProvidersChangeListeners(
-				configProvider, JSFAppConfigProvidersChangeEvent.REMOVED);
-		}
-		return removed;
-	}
-
-	/**
-	 * Adds an instance of {@link IJSFAppConfigProvidersChangeListener}.
-	 * 
-	 * @param listener An instance of {@link IJSFAppConfigProvidersChangeListener}
-	 * @return true if added, else false
-	 */
-	public boolean addJSFAppConfigProvidersChangeListener(IJSFAppConfigProvidersChangeListener listener) {
-		return configProvidersChangeListeners.add(listener);
-	}
-
-	/**
-	 * Removes an instance of {@link IJSFAppConfigProvidersChangeListener}.
-	 * 
-	 * @param listener an instance of {@link IJSFAppConfigProvidersChangeListener}
-	 * @return true if removed, else false
-	 */
-	public boolean removeJSFAppConfigProvidersChangeListener(IJSFAppConfigProvidersChangeListener listener) {
-		return configProvidersChangeListeners.remove(listener);
-	}
-
-	/**
-	 * Notifies all {@link IJSFAppConfigProvidersChangeListener} instances of
-	 * a change in the Set of {@link IJSFAppConfigProvider} instances.
-	 * 
-	 * @param configProvider {@link IJSFAppConfigProvider} instance that has
-	 * changed
-	 * @param eventType Event type
-	 */
-	protected void notifyJSFAppConfigProvidersChangeListeners(IJSFAppConfigProvider configProvider, int eventType) {
-		JSFAppConfigProvidersChangeEvent event = new JSFAppConfigProvidersChangeEvent(configProvider, eventType);
-		Iterator itListeners = configProvidersChangeListeners.iterator();
-		while (itListeners.hasNext()) {
-			IJSFAppConfigProvidersChangeListener listener =
-				(IJSFAppConfigProvidersChangeListener)itListeners.next();
-			listener.changedJSFAppConfigProviders(event);
-		}
-	}
-
-	/**
-	 * Gets array of all FacesConfigType instances for read access.
-	 * 
-	 * @return Array of all FacesConfigType instances for read access.
-	 */
-	public FacesConfigType[] getFacesConfigModelsForRead() {
-		ArrayList facesConfigList = new ArrayList();
-		Iterator itConfigProviders = configProviders.iterator();
-		while (itConfigProviders.hasNext()) {
-			IJSFAppConfigProvider configProvider = (IJSFAppConfigProvider)itConfigProviders.next();
-			try {
-				FacesConfigType facesConfig = configProvider.getFacesConfigModel(false);
-				if (facesConfig != null) {
-					facesConfigList.add(facesConfig);
-				}
-			} catch (InvalidWriteAccessModeException iwame) {
-				//log error
-				JSFCorePlugin.log(IStatus.ERROR, iwame.getLocalizedMessage(), iwame);
-			}
-		}
-		FacesConfigType[] facesConfigs = new FacesConfigType[facesConfigList.size()];
-		facesConfigs = (FacesConfigType[])facesConfigList.toArray(facesConfigs);
-		return facesConfigs;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see java.lang.Object#finalize()
-	 */
-	protected void finalize() {
-		//remove session property from project
-		unsetAsSessionProperty();
-		//clear collections
-		configLocaters.clear();
-		configProvidersChangeListeners.clear();
-		//release all models from providers
-		disposeConfigProviders();
-		configProviders.clear();
-	}
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/jsfappconfig/JSFAppConfigProvidersChangeEvent.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/jsfappconfig/JSFAppConfigProvidersChangeEvent.java
deleted file mode 100644
index 138b126..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/jsfappconfig/JSFAppConfigProvidersChangeEvent.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * 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:
- *    Ian Trimble - initial API and implementation
- *******************************************************************************/ 
-package org.eclipse.jst.jsf.core.internal.provisional.jsfappconfig;
-
-/**
- * JSFAppConfigProvidersChangeEvent provides change information to instances of
- * IJSFAppConfigProvidersChangeListener.
- * 
- * @author Ian Trimble - Oracle
- */
-public class JSFAppConfigProvidersChangeEvent {
-
-	/**
-	 * Event type; instance of IJSFAppConfigProvider was added (value == 1).
-	 */
-	public static final int ADDED = 1;
-
-	/**
-	 * Event type; instance of IJSFAppConfigProvider was removed (value == 2).
-	 */
-	public static final int REMOVED = 2;
-
-	/**
-	 * Instance of IJSFAppConfigProvider that was added or removed.
-	 */
-	protected IJSFAppConfigProvider configProvider = null;
-
-	/**
-	 * Event type.
-	 */
-	protected int eventType;
-
-	/**
-	 * Constructs an instance.
-	 * 
-	 * @param configProvider Instance of IJSFAppConfigProvider that was added
-	 * or removed
-	 * @param eventType Event type
-	 */
-	public JSFAppConfigProvidersChangeEvent(IJSFAppConfigProvider configProvider, int eventType) {
-		this.configProvider = configProvider;
-		this.eventType = eventType;
-	}
-
-	/**
-	 * Gets the instance of IJSFAppConfigProvider that was added or removed.
-	 * 
-	 * @return Instance of IJSFAppConfigProvider that was added or removed
-	 */
-	public IJSFAppConfigProvider getJSFAppConfigProvider() {
-		return configProvider;
-	}
-
-	/**
-	 * Gets the event type.
-	 * 
-	 * @return Event type
-	 */
-	public int getEventType() {
-		return eventType;
-	}
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/jsfappconfig/JSFAppConfigUtils.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/jsfappconfig/JSFAppConfigUtils.java
deleted file mode 100644
index 0a84004..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/jsfappconfig/JSFAppConfigUtils.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * 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:
- *    Ian Trimble - initial API and implementation
- *******************************************************************************/ 
-package org.eclipse.jst.jsf.core.internal.provisional.jsfappconfig;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.StringTokenizer;
-import java.util.jar.JarEntry;
-import java.util.jar.JarFile;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jst.j2ee.common.ParamValue;
-import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
-import org.eclipse.jst.j2ee.web.componentcore.util.WebArtifactEdit;
-import org.eclipse.jst.j2ee.webapplication.ContextParam;
-import org.eclipse.jst.j2ee.webapplication.WebApp;
-import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualFolder;
-
-/**
- * JSFAppConfigUtils provides utility methods useful in processing of a JSF
- * application configuration.
- * 
- * @author Ian Trimble - Oracle
- */
-public class JSFAppConfigUtils {
-
-	/**
-	 * Name of JSF CONFIG_FILES context parameter ("javax.faces.CONFIG_FILES").
-	 */
-	public static final String CONFIG_FILES_CONTEXT_PARAM_NAME = "javax.faces.CONFIG_FILES";
-
-	/**
-	 * Location in JAR file of application configuration resource file. 
-	 */
-	public static final String FACES_CONFIG_IN_JAR_PATH = "META-INF/faces-config.xml";
-
-	/**
-	 * Gets an IVirtualFolder instance which represents the root context's
-	 * web content folder.
-	 * 
-	 * @param project IProject instance for which to get the folder.
-	 * @return IVirtualFolder instance which represents the root context's
-	 * web content folder.
-	 */
-	public static IVirtualFolder getWebContentFolder(IProject project) {
-		IVirtualFolder folder = null;
-		IVirtualComponent component = ComponentCore.createComponent(project);
-		if (component != null) {
-			folder = component.getRootFolder();
-		}
-		return folder;
-	}
-
-	/**
-	 * Gets an IPath instance representing the path of the passed IFile
-	 * instance relative to the web content folder.
-	 * 
-	 * @param file IFile instance for which a path is required.
-	 * @return IPath instance representing the path relative to the web content
-	 * folder.
-	 */
-	public static IPath getWebContentFolderRelativePath(IFile file) {
-		IPath path = null;
-		IVirtualFolder webContentFolder = getWebContentFolder(file.getProject());
-		if (webContentFolder != null) {
-			IPath webContentPath = webContentFolder.getProjectRelativePath();
-			IPath filePath = file.getProjectRelativePath();
-			int matchingFirstSegments = webContentPath.matchingFirstSegments(filePath);
-			path = filePath.removeFirstSegments(matchingFirstSegments);
-		}
-		return path;
-	}
-
-	/**
-	 * Gets array of application configuration file names as listed in the JSF
-	 * CONFIG_FILES context parameter ("javax.faces.CONFIG_FILES"). Will return
-	 * an empty array if WebArtifactEdit is null, if WebApp is null, if context
-	 * parameter does not exist, or if trimmed context parameter's value is
-	 * an empty String.
-	 * 
-	 * @param project IProject instance for which to get the context
-	 * parameter's value.
-	 * @return Array of application configuration file names as listed in the
-	 * JSF CONFIG_FILES context parameter ("javax.faces.CONFIG_FILES"); array
-	 * may be empty.
-	 */
-	public static String[] getConfigFilesFromContextParam(IProject project) {
-		String[] files = null;
-		ArrayList filesList = new ArrayList();
-		WebArtifactEdit webArtifactEdit = WebArtifactEdit.getWebArtifactEditForRead(project);
-		if (webArtifactEdit != null) {
-			WebApp webApp = webArtifactEdit.getWebApp();
-			if (webApp != null) {
-				String filesString = null;
-				//need to branch here due to model version differences (BugZilla #119442)
-				if (webApp.getVersionID() == J2EEVersionConstants.WEB_2_3_ID) {
-					EList contexts = webApp.getContexts();
-					Iterator itContexts = contexts.iterator();
-					while (itContexts.hasNext()) {
-						ContextParam contextParam = (ContextParam)itContexts.next();
-						if (contextParam.getParamName().equals(CONFIG_FILES_CONTEXT_PARAM_NAME)) {
-							filesString = contextParam.getParamValue();
-							break;
-						}
-					}
-				} else {
-					EList contextParams = webApp.getContextParams();
-					Iterator itContextParams = contextParams.iterator();
-					while (itContextParams.hasNext()) {
-						ParamValue paramValue = (ParamValue)itContextParams.next();
-						if (paramValue.getName().equals(CONFIG_FILES_CONTEXT_PARAM_NAME)) {
-							filesString = paramValue.getValue();
-							break;
-						}
-					}
-				}
-				if (filesString != null && filesString.trim().length() > 0) {
-					StringTokenizer stFilesString = new StringTokenizer(filesString, ",");
-					while (stFilesString.hasMoreTokens()) {
-						String configFile = stFilesString.nextToken().trim();
-						filesList.add(configFile);
-					}
-				}
-			}
-			webArtifactEdit.dispose();
-		}
-		files = new String[filesList.size()];
-		files = (String[])filesList.toArray(files);
-		return files;
-	}
-
-	/**
-	 * Gets array of JAR file names, where each file name represents a JAR on
-	 * the classpath that contains a /META-INF/faces-config.xml entry. Will
-	 * return an empty array if no such JAR files are located.
-	 * 
-	 * @param project IProject instance for which to scan the classpath.
-	 * @return Array of JAR file names, where each file name represents a JAR
-	 * on the classpath that contains a ...META-INF/faces-config.xml entry;
-	 * array may be empty.
-	 * @throws CoreException Thrown when underlying calls into JavaCore fail.
-	 * @throws IOException Thrown when attempt to open JAR to determine if it
-	 * contains a /META-INF/faces-config.xml entry fails.
-	 */
-	public static String[] getConfigFileJARsFromClasspath(IProject project) throws CoreException, IOException {
-		String[] JARs = null;
-		ArrayList JARsList = new ArrayList();
-		if (project.hasNature(JavaCore.NATURE_ID)) {
-			IJavaProject javaProject = JavaCore.create(project);
-			if (javaProject != null) {
-				IClasspathEntry[] classpathEntries = javaProject.getResolvedClasspath(true);
-				if (classpathEntries != null && classpathEntries.length > 0) {
-					for (int i = 0; i < classpathEntries.length; i++) {
-						IClasspathEntry classpathEntry = classpathEntries[i];
-						if (classpathEntry.getEntryKind() == IClasspathEntry.CPE_LIBRARY) {
-							IPath libraryPath = classpathEntry.getPath();
-							if (libraryPath.getFileExtension() != null && libraryPath.getFileExtension().length() > 0) {
-								//TODO: find better way to determine if workspace must be prepended to path
-								if (libraryPath.getDevice() == null) {
-									IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
-									IPath workspaceRootPath = workspaceRoot.getLocation();
-									libraryPath = workspaceRootPath.append(libraryPath);
-								}
-								String libraryPathString = libraryPath.toString();
-								JarFile jarFile = new JarFile(libraryPathString);
-								if (jarFile != null) {
-									JarEntry jarEntry = jarFile.getJarEntry(FACES_CONFIG_IN_JAR_PATH);
-									if (jarEntry != null) {
-										JARsList.add(libraryPathString);
-									}
-								}
-							}
-						}
-					}
-				}
-			}
-		}
-		JARs = new String[JARsList.size()];
-		JARs = (String[])JARsList.toArray(JARs);
-		return JARs;
-	}
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/jsfappconfig/RuntimeClasspathJSFAppConfigLocater.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/jsfappconfig/RuntimeClasspathJSFAppConfigLocater.java
deleted file mode 100644
index 7d58135..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/jsfappconfig/RuntimeClasspathJSFAppConfigLocater.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * 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:
- *    Ian Trimble - initial API and implementation
- *******************************************************************************/ 
-package org.eclipse.jst.jsf.core.internal.provisional.jsfappconfig;
-
-import java.io.IOException;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-
-/**
- * RuntimeClasspathJSFAppConfigLocater attempts to locate application
- * configuration files in JAR files on the runtime classpath. The runtime
- * classpath includes the server runtime classpath and the JAR files that will
- * be deployed to the web application's .../WEB-INF/lib folder.
- * 
- * @author Ian Trimble - Oracle
- */
-public class RuntimeClasspathJSFAppConfigLocater implements IJSFAppConfigLocater {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.jsf.core.internal.provisional.jsfappconfig.IJSFAppConfigLocater#locateProviders(org.eclipse.jst.jsf.core.internal.provisional.jsfappconfig.JSFAppConfigManager)
-	 */
-	public void locateProviders(JSFAppConfigManager manager) {
-		IProject project = manager.getProject();
-		try {
-			String[] JARs = JSFAppConfigUtils.getConfigFileJARsFromClasspath(project);
-			if (JARs != null && JARs.length > 0) {
-				for (int i = 0; i < JARs.length; i++) {
-					JARFileJSFAppConfigProvider provider = new JARFileJSFAppConfigProvider(JARs[i]);
-					manager.addJSFAppConfigProvider(provider);
-				}
-			}
-		} catch(CoreException ce) {
-			//log error
-			JSFCorePlugin.log(IStatus.ERROR, ce.getLocalizedMessage(), ce);
-		} catch(IOException ioe) {
-			//log error
-			JSFCorePlugin.log(IStatus.ERROR, ioe.getLocalizedMessage(), ioe);
-		}
-	}
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/jsfappconfig/WebContentRelativeJSFAppConfigLocater.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/jsfappconfig/WebContentRelativeJSFAppConfigLocater.java
deleted file mode 100644
index 5124c89..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/provisional/jsfappconfig/WebContentRelativeJSFAppConfigLocater.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * 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:
- *    Ian Trimble - initial API and implementation
- *******************************************************************************/ 
-package org.eclipse.jst.jsf.core.internal.provisional.jsfappconfig;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.wst.common.componentcore.resources.IVirtualFolder;
-import org.eclipse.wst.common.componentcore.resources.IVirtualResource;
-
-/**
- * WebContentRelativeJSFAppConfigLocater is an abstract base class that attempts
- * to locate specified application configuration files relative to a web
- * content folder. Clients must override the getFilenames() method to return an
- * array of filenames that this locateProviders() method will attempt to
- * locate.
- * 
- * @author Ian Trimble - Oracle
- */
-public abstract class WebContentRelativeJSFAppConfigLocater implements IJSFAppConfigLocater {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.jsf.core.internal.provisional.jsfappconfig.IJSFAppConfigLocater#locateProviders(org.eclipse.jst.jsf.core.internal.provisional.jsfappconfig.JSFAppConfigManager)
-	 */
-	public void locateProviders(JSFAppConfigManager manager) {
-		IProject project = manager.getProject();
-		IVirtualFolder webContentFolder = JSFAppConfigUtils.getWebContentFolder(project);
-		if (webContentFolder != null) {
-			String[] filenames = getFilenames();
-			if (filenames != null && filenames.length > 0) {
-				for (int i = 0; i < filenames.length; i++) {
-					IVirtualResource appConfigResource = webContentFolder.findMember(filenames[i]);
-					if (appConfigResource != null && appConfigResource.getType() == IVirtualResource.FILE) {
-						IFile file = (IFile)appConfigResource.getUnderlyingResource();
-						if (file != null && file.exists()) {
-							ArtifactEditJSFAppConfigProvider provider = new ArtifactEditJSFAppConfigProvider(file);
-							manager.addJSFAppConfigProvider(provider);
-						}
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * Gets an array of Strings representing the filenames (relative to the web
-	 * content folder) that locateProviders() will attempt to locate.
-	 * 
-	 * @return an array of Strings representing the filenames (relative to the
-	 * web content folder) that locateProviders() will attempt to locate.
-	 */
-	protected abstract String[] getFilenames();
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryregistry/InvalidArchiveFilesCreationException.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryregistry/InvalidArchiveFilesCreationException.java
deleted file mode 100644
index 65db247..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryregistry/InvalidArchiveFilesCreationException.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * 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:
- *    Gerry Kessler - initial API and implementation
- *******************************************************************************/ 
-package org.eclipse.jst.jsf.core.jsflibraryregistry;
-
-/**
- * Exception class thrown by PluginProvidedJSFLibraryCreationHelper.
- * 
- * @author Gerry Kessler - Oracle
- */
-public class InvalidArchiveFilesCreationException extends Exception {
-	private static final long serialVersionUID = 1L;
-
-	/**
-	 * Creates an instance with the specified message.
-	 * @param msg This instance's message
-	 */
-	public InvalidArchiveFilesCreationException(String msg) {
-		super(msg);
-	}
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryregistry/JSFLibraryArchiveFilesDelegate.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryregistry/JSFLibraryArchiveFilesDelegate.java
deleted file mode 100644
index bb1cd68..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryregistry/JSFLibraryArchiveFilesDelegate.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * 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:
- *    Gerry Kessler - initial API and implementation
- *******************************************************************************/ 
-package org.eclipse.jst.jsf.core.jsflibraryregistry;
-
-import java.util.Collection;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryFactory;
-import org.osgi.framework.Bundle;
-
-/**
- * Abstract delegate class used by jsfLibraries ext-pt to return collection of 
- * ArchiveFiles to PluginProvidedJSFLibraryCreationHelper.
- * 
- * Caller must first setConfigurationElement(IConfigurationElement element)
- * before a call to getArchiveFiles().
- * <br>
- * <em><b>NOTE: experimental and very likely to change.</b></em>
- * 
- * @author Gerry Kessler - Oracle
- */
-public abstract class JSFLibraryArchiveFilesDelegate {
-	
-	protected IConfigurationElement extPtElement;
-	private String libID = null;
-	private IPath pluginPath = null;
-	private String pluginID;
-	private String relativeDestLocation = "WEB-INF/lib"; //$NON-NLS-1$
-
-	/**
-	 * Returns a Collection of <code>org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile</code>
-	 * instances.
-	 * 
-	 * @return A Collection of <code>org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile</code>
-	 * instances
-	 */
-	public abstract Collection getArchiveFiles();
-
-	/**
-	 * Sets the IConfigurationElement instance to be subsequently used to get
-	 * the plugin ID and the name defined for the JSF Library.
-	 * 
-	 * @param extPtElement IConfigurationElement instance
-	 */
-	public final void setConfigurationElement(IConfigurationElement extPtElement){
-		this.extPtElement = extPtElement;
-	}
-
-	/**
-	 * Constructs an instance.
-	 */
-	public JSFLibraryArchiveFilesDelegate() {
-		super();
-	}
-
-	/**
-	 * Sets the relative destination location subsequently used to set the
-	 * corresponding property on each created ArchiveFile.
-	 * 
-	 * @param relPath Relative destination location for ArchiveFile instances
-	 */
-	protected void setRelativeDestinationLocation(String relPath){
-		relativeDestLocation = relPath;
-	}
-	
-	/**
-	 * Returns ArchiveFile where the location is set relative to the plugin.   
-	 * As long as the ArchiveFile is on the local machine somewhere, it should
-	 * be locatable.
-	 *  
-	 * @param relativePathFileName Relative location of the ArchiveFile
-	 * @return ArchiveFile instance.
-	 */
-	protected ArchiveFile createArchiveFile(String relativePathFileName){
-		ArchiveFile file = JSFLibraryRegistryFactory.eINSTANCE.createArchiveFile();
-		file.setRelativeToWorkspace(false);
-		file.setSourceLocation(relativePathFileName);
-		file.setRelativeDestLocation(relativeDestLocation);
-		return file;
-	}
-	
-//	protected ArchiveFile createArchiveFileWithAbsolutePath(String fullPath){
-//		ArchiveFile file = JSFLibraryRegistryFactory.eINSTANCE.createArchiveFile();
-//		file.setRelativeToWorkspace(false);
-//		file.setSourceLocation(fullPath);
-//		file.setRelativeDestLocation(relativeDestLocation);
-//		return file;
-//	}
-
-	/**
-	 * Returns the JSFLibrary ID as set on the extension point.
-	 * 
-	 * @return JSFLibrary ID
-	 */
-	protected String getLibID(){
-		if (libID == null){
-			StringBuffer buf = new StringBuffer(getPluginID());
-			buf.append("/").append(extPtElement.getAttribute(PluginProvidedJSFLibraryCreationHelper.NAME)); //$NON-NLS-1$
-			libID = buf.toString();
-		}
-		return libID;
-	}
-
-	/**
-	 * Returns the plugin's path.
-	 * 
-	 * @return The plugin's path.
-	 */
-	protected IPath getPluginPath(){
-		if (pluginPath == null){
-			Bundle bundle = Platform.getBundle(getPluginID());
-			pluginPath = new Path(bundle.getLocation());
-		}
-		return pluginPath;
-	}
-
-	/**
-	 * Returns the plugin's ID.
-	 * 
-	 * @return The plugin's ID.
-	 */
-	private String getPluginID() {
-		if (pluginID == null){
-			pluginID = extPtElement.getDeclaringExtension().getNamespace();
-		}
-		return pluginID;
-	}
-	
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryregistry/PluginProvidedJSFLibraryCreationHelper.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryregistry/PluginProvidedJSFLibraryCreationHelper.java
deleted file mode 100644
index 61650c8..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryregistry/PluginProvidedJSFLibraryCreationHelper.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * 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:
- *    Gerry Kessler - initial API and implementation
- *******************************************************************************/ 
-package org.eclipse.jst.jsf.core.jsflibraryregistry;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.core.internal.Messages;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryFactory;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFVersion;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.PluginProvidedJSFLibrary;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Helper class used to create JSF Libraries from the
- * <code>org.eclipse.jst.jsf.core.jsflibraries</code> extension-point.
- * <br>
- * <em><b>NOTE: experimental and very likely to change.</b></em>
- * 
- * @author Gerry Kessler - Oracle
- */
-public final class PluginProvidedJSFLibraryCreationHelper {
-	private IConfigurationElement config_element;
-
-	/**
-	 * Key of the 'name' attribute of the extension point.
-	 */
-	public final static String NAME 		= "name"; //$NON-NLS-1$
-	/**
-	 * Key of the 'isImplementation' attribute of the extension point.
-	 */
-	public final static String IS_IMPL 		= "isImplementation"; //$NON-NLS-1$
-	/**
-	 * Key of the 'maxVersionSupported' attribute of the extension point.
-	 */
-	public final static String VERSION 		= "maxVersionSupported"; //$NON-NLS-1$
-	/**
-	 * Key of the 'archiveFilesDelegate' attribute of the extension point.
-	 */
-	public final static String DELEGATE 	= "archiveFilesDelegate"; //$NON-NLS-1$
-
-	/**
-	 * Creates an instance with the specified IConfigurationElement instance.
-	 * 
-	 * @param jsfLibrary IConfigurationElement instance
-	 */
-	public PluginProvidedJSFLibraryCreationHelper (IConfigurationElement jsfLibrary){
-		this.config_element = jsfLibrary;
-	}
-
-	/**
-	 * Creates a new PluginProvidedJSFLibrary from the JSFLibrary extension point.
-	 * 
-	 * @return PluginProvidedJSFLibrary instance.
-	 */
-	public JSFLibrary create(){
-		PluginProvidedJSFLibrary newLib = JSFLibraryRegistryFactory.eINSTANCE.createPluginProvidedJSFLibrary();
-		newLib.setID(getLibID());
-		newLib.setPluginID(getPluginID());
-		newLib.setName(config_element.getAttribute(NAME));
-		newLib.setImplementation(config_element.getAttribute(IS_IMPL).equals("true") ? true : false); //$NON-NLS-1$		
-		newLib.setJSFVersion(JSFVersion.getJSFVersion(config_element.getAttribute(VERSION)));
-		
-		try {
-			addArchives(newLib);			
-			return newLib;
-		} catch (Exception e) {
-			JSFCorePlugin.log(
-					e,
-					NLS.bind(
-							Messages.PluginProvidedJSFLibraryCreationHelper_ErrorCreating,
-							newLib.getName()));
-		}
-		return null;
-	}
-
-	/**
-	 * Adds ArchiveFile instances to the specified JSFLibrary instance.
-	 * 
-	 * @param newLib JSFLibrary instance
-	 * @throws InvalidArchiveFilesCreationException on attempt to create
-	 * multiple instances at same location.
-	 * @throws CoreException on core failure.
-	 */
-	private void addArchives(JSFLibrary newLib) throws InvalidArchiveFilesCreationException, CoreException {
-		JSFLibraryArchiveFilesDelegate jarCol = null;
-		ArchiveFile jar = null;
-
-		jarCol = (JSFLibraryArchiveFilesDelegate)config_element.createExecutableExtension(DELEGATE);
-		if (jarCol != null){
-			jarCol.setConfigurationElement(config_element);
-			Collection jars = jarCol.getArchiveFiles();
-			if (jars == null)//TODO: better validation and error handling
-				return;
-			Iterator it = jars.iterator();
-			while (it.hasNext()){
-				Object aJar = it.next();
-				if (aJar instanceof ArchiveFile){//for now check to see ArchiveFiles were being returned
-					jar = (ArchiveFile)aJar;
-					if (!newLib.containsArchiveFile(jar.getSourceLocation()))
-						newLib.getArchiveFiles().add(jar);
-				}
-				else {
-					throw new InvalidArchiveFilesCreationException(
-							NLS.bind(
-									Messages.PluginProvidedJSFLibraryCreationHelper_ErrorMultipleDefinition,
-									jar.getSourceLocation(),
-									config_element.getName()));
-				}
-					
-			}
-		}
-	}
-
-	/**
-	 * Returns the JSFLibrary instance's ID as specified in the plugin.
-	 * 
-	 * @return The JSFLibrary instance's ID
-	 */
-	private String getLibID(){
-		StringBuffer buf = new StringBuffer(config_element.getDeclaringExtension().getUniqueIdentifier());
-		buf.append("/").append(config_element.getAttribute(NAME)); //$NON-NLS-1$
-		return buf.toString();
-	}
-
-	/**
-	 * Returns the plugin's ID.
-	 * 
-	 * @return The plugin's ID
-	 */
-	private String getPluginID() {
-		return config_element.getDeclaringExtension().getNamespace();
-	}
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/META-INF/MANIFEST.MF b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/META-INF/MANIFEST.MF
index 3ae7471..80dabce 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/META-INF/MANIFEST.MF
+++ b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/META-INF/MANIFEST.MF
@@ -35,13 +35,15 @@
  org.eclipse.jst.jsf.facesconfig.edit,
  org.eclipse.jem.util,
  org.eclipse.jst.jsf.facesconfig.common,
- org.eclipse.jst.jsf.facesconfig
+ org.eclipse.jst.jsf.facesconfig,
+ org.eclipse.ui.cheatsheets
 Eclipse-LazyStart: true
 Export-Package: org.eclipse.jst.jsf.facesconfig.ui,
  org.eclipse.jst.jsf.facesconfig.ui.dialog,
  org.eclipse.jst.jsf.facesconfig.ui.page,
  org.eclipse.jst.jsf.facesconfig.ui.page.detail,
  org.eclipse.jst.jsf.facesconfig.ui.pageflow.util,
+ org.eclipse.jst.jsf.facesconfig.ui.preference,
  org.eclipse.jst.jsf.facesconfig.ui.provider,
  org.eclipse.jst.jsf.facesconfig.ui.section,
  org.eclipse.jst.jsf.facesconfig.ui.util,
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/build.properties b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/build.properties
index 34d2e4d..340b7dd 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/build.properties
+++ b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/build.properties
@@ -1,4 +1,8 @@
 source.. = src/
 output.. = bin/
 bin.includes = META-INF/,\
-               .
+               .,\
+               icons/,\
+               plugin.xml,\
+               plugin.properties,\
+               cheatsheets/
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/FacesConfig_Application.gif b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/FacesConfig_Application.gif
deleted file mode 100644
index 57e5b1e..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/FacesConfig_Application.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/FacesConfig_Component.gif b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/FacesConfig_Component.gif
deleted file mode 100644
index 347a8ff..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/FacesConfig_Component.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/FacesConfig_Converter.gif b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/FacesConfig_Converter.gif
deleted file mode 100644
index 16466ed..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/FacesConfig_Converter.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/FacesConfig_Factory.gif b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/FacesConfig_Factory.gif
deleted file mode 100644
index 955d5e8..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/FacesConfig_Factory.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/FacesConfig_LifeCycle.gif b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/FacesConfig_LifeCycle.gif
deleted file mode 100644
index 3a7608b..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/FacesConfig_LifeCycle.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/ManagedBeanType.gif b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/FacesConfig_ManagedBean.gif
similarity index 100%
rename from jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/ManagedBeanType.gif
rename to jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/FacesConfig_ManagedBean.gif
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/FacesConfig_RenderKit.gif b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/FacesConfig_RenderKit.gif
deleted file mode 100644
index 30ba00d..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/FacesConfig_RenderKit.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/FacesConfig_Validator.gif b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/FacesConfig_Validator.gif
deleted file mode 100644
index 86196e9..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/FacesConfig_Validator.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/Pageflow_Action.gif b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/Pageflow_Action.gif
deleted file mode 100644
index 1f54cdb..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/Pageflow_Action.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/Pageflow_Action24.gif b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/Pageflow_Action24.gif
deleted file mode 100644
index 9a13098..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/Pageflow_Action24.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/Pageflow_Begin.gif b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/Pageflow_Begin.gif
deleted file mode 100644
index 8beabfe..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/Pageflow_Begin.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/Pageflow_Begin16.gif b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/Pageflow_Begin16.gif
deleted file mode 100644
index 0a4554d..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/Pageflow_Begin16.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/Pageflow_Begin24.gif b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/Pageflow_Begin24.gif
deleted file mode 100644
index 8e76c4b..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/Pageflow_Begin24.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/Pageflow_End.gif b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/Pageflow_End.gif
deleted file mode 100644
index c099f2d..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/Pageflow_End.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/Pageflow_End16.gif b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/Pageflow_End16.gif
deleted file mode 100644
index cb8b1ae..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/Pageflow_End16.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/Pageflow_End24.gif b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/Pageflow_End24.gif
deleted file mode 100644
index 63d0854..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/Pageflow_End24.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/operation.gif b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/operation.gif
deleted file mode 100644
index 3a7608b..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/facesconfig/operation.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/form_banner.gif b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/form_banner.gif
new file mode 100644
index 0000000..aebc0b2
--- /dev/null
+++ b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/form_banner.gif
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/help.gif b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/help.gif
new file mode 100644
index 0000000..9d70301
--- /dev/null
+++ b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/help.gif
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/newsuade_wiz.gif b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/newsuade_wiz.gif
deleted file mode 100644
index ecd75f4..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/newsuade_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/wizards/Type.gif b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/wizards/Type.gif
deleted file mode 100644
index ecf38ae..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/wizards/Type.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/wizards/newsuade_wiz.gif b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/wizards/newsuade_wiz.gif
deleted file mode 100644
index ecd75f4..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/icons/wizards/newsuade_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/plugin.xml b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/plugin.xml
index 06e2167..44cefe8 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/plugin.xml
+++ b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/plugin.xml
@@ -1,6 +1,14 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?eclipse version="3.0"?>
 <plugin>
+  <extension
+        point="org.eclipse.ui.preferencePages">
+     <page
+           category="org.eclipse.wst.sse.ui.internal.provisional.preferences"
+           class="org.eclipse.jst.jsf.facesconfig.ui.preference.GEMPreferences"
+           id="org.eclipse.jst.jsf.facesconfig.ui.preference.GEMPreferences"
+           name="JSF FacesConfig UI"/>
+  </extension>
 <extension point="org.eclipse.ui.editors">
 		
 		<editor
@@ -32,7 +40,7 @@
 				text="%pageflow.editor.intro.start.text"
 				hyperlink="%pageflow.editor.intro.start.link"/>
 			<introductionelement
-				actionparameters="PageflowEditor.createCheatSheet"
+				actionparameters="FacesConfigEditor.CheatSheet"
 				icon="icons/FacesConfig_Tutorial.gif"
 				hyperlinkaction="org.eclipse.jst.jsf.facesconfig.common.actions.LoadCheatSheetAction"
 				text="%pageflow.editor.intro.cheatsheets.text"
@@ -64,4 +72,12 @@
 			<propertyCategory category="general"/>
 		</propertyContributor>
 	</extension>
+  <extension
+        point="org.eclipse.ui.cheatsheets.cheatSheetContent">
+     <cheatsheet
+           composite="false"
+           contentFile="cheatsheets/facesconfigeditor.xml"
+           id="FacesConfigEditor.CheatSheet"
+           name="FacesConfigEditor CheatSheet"/>
+  </extension>
 </plugin>
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/EditorMessages.java b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/EditorMessages.java
deleted file mode 100644
index 859c91b..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/EditorMessages.java
+++ /dev/null
@@ -1,328 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 Sybase, Inc. and others.
- *
- * 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:
- *     Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.facesconfig.ui;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * 
- * @author sfshi
- * 
- */
-public final class EditorMessages extends NLS {
-
-	private static final String BUNDLE_NAME = "org.eclipse.jst.jsf.facesconfig.ui.EditorMessages";//$NON-NLS-1$
-
-	private EditorMessages() {
-		// Do not instantiate
-	}
-
-	static {
-		NLS.initializeMessages(BUNDLE_NAME, EditorMessages.class);
-	}
-
-	public static String UI_Button_Add;
-
-	public static String UI_Button_Edit;
-
-	public static String UI_Button_Remove;
-
-	public static String UI_Button_Add_more;
-
-	public static String UI_Button_Edit_more;
-
-	public static String FacesConfigEditor_Introduction_TabName;
-
-	public static String FacesConfigEditor_Overview_TabName;
-
-	public static String FacesConfigEditor_Pageflow_TabName;
-
-	public static String FacesConfigEditor_ManagedBeans_TabName;
-
-	public static String FacesConfigEditor_Components_TabName;
-
-	public static String FacesConfigEditor_Others_TabName;
-
-	public static String FacesConfigEditor_Source_TabName;
-
-	public static String editor_pageflow_page_intro_name;
-
-	public static String editor_pageflow_page_intro_title;
-
-	public static String editor_pageflow_page_intro_help_HelpContextID;
-
-	public static String editor_pageflow_page_intro_help_HelpToolTip;
-
-	public static String ComponentsPage_Title;
-
-	// Component Master Section
-	public static String ComponentMasterSection_Name;
-
-	public static String ComponentMasterSection_Description;
-
-	public static String ComponentMasterSection_HelpContextID;
-
-	public static String ComponentMasterSection_HelpToolTip;
-
-	// Component General Section
-	public static String ComponentGeneralSection_Name;
-
-	public static String ComponentGeneralSection_Desc;
-
-	public static String ComponentGeneralSection_HelpContextID;
-
-	public static String ComponentGeneralSection_HelpToolTip;
-
-	public static String ComponentGeneralSection_DisplayName;
-
-	public static String ComponentGeneralSection_Description;
-
-	public static String ComponentGeneralSection_ComponentType;
-
-	public static String ComponentGeneralSection_ComponentClass;
-
-	// ##Attribute Section
-	public static String AttributeSection_Name;
-
-	public static String AttributeSection_Description;
-
-	public static String AttributeSection_HelpContextID;
-
-	public static String AttributeSection_HelpToolTip;
-
-	public static String AttributeSection_Table_NameColumn;
-
-	public static String AttributeSection_Table_ClassColumn;
-
-	public static String AttributeSection_Table_DefaultValueColumn;
-
-	public static String AttributeSection_Table_SuggestedValueColumn;
-
-	public static String AttributeSection_Dialog_Title_Add;
-
-	public static String AttributeSection_Dialog_Title_Edit;
-
-	public static String AttributeSection_Dialog_Tab_General;
-
-	public static String AttributeSection_Dialog_AttributeName;
-
-	public static String AttributeSection_Dialog_AttributeClass;
-
-	public static String AttributeSection_Dialog_DefaultValue;
-
-	public static String AttributeSection_Dialog_SuggestedValue;
-
-	public static String AttributeSection_Dialog_Error_NameEmpty;
-
-	public static String AttributeSection_Dialog_Error_ClassEmpty;
-
-	// ##Property Section
-	public static String PropertySection_Name;
-
-	public static String PropertySection_Description;
-
-	public static String PropertySection_HelpContextID;
-
-	public static String PropertySection_HelpToolTip;
-
-	public static String PropertySection_Table_NameColumn;
-
-	public static String PropertySection_Table_ClassColumn;
-
-	public static String PropertySection_Table_DefaultValueColumn;
-
-	public static String PropertySection_Table_SuggestedValueColumn;
-
-	public static String PropertySection_Dialog_Title_Add;
-
-	public static String PropertySection_Dialog_Title_Edit;
-
-	public static String PropertySection_Dialog_Tab_General;
-
-	public static String PropertySection_Dialog_PropertyName;
-
-	public static String PropertySection_Dialog_PropertyClass;
-
-	public static String PropertySection_Dialog_DefaultValue;
-
-	public static String PropertySection_Dialog_SuggestedValue;
-
-	public static String PropertySection_Dialog_Error_NameEmpty;
-
-	public static String PropertySection_Dialog_Error_ClassEmpty;
-
-	// ##Facet Section
-	public static String FacetSection_Name;
-
-	public static String FacetSection_Description;
-
-	public static String FacetSection_HelpContextID;
-
-	public static String FacetSection_HelpToolTip;
-
-	public static String FacetSection_Table_FacetNameColumn;
-
-	public static String FacetSection_Table_DisplayNameColumn;
-
-	public static String FacetSection_Table_DescriptionColumn;
-
-	public static String FacetSection_Dialog_Title_Add;
-
-	public static String FacetSection_Dialog_Title_Edit;
-
-	public static String FacetSection_Dialog_Tab_General;
-
-	public static String FacetSection_Dialog_FacetName;
-
-	public static String FacetSection_Dialog_DisplayName;
-
-	public static String FacetSection_Dialog_Description;
-
-	public static String FacetSection_Dialog_Error_NameEmpty;
-
-	// ##managed bean master section
-	public static String ManagedBeanMasterSection_Name;
-
-	public static String ManagedBeanMasterSection_Description;
-
-	public static String ManagedBeanMasterSection_HelpContextID;
-
-	public static String ManagedBeanMasterSection_HelpToolTip;
-	
-	public static String ConvertersPage_Title;
-
-	// Converter Master Section
-	public static String ConverterMasterSection_Name;
-
-	public static String ConverterMasterSection_Description;
-
-	public static String ConverterMasterSection_HelpContextID;
-
-	public static String ConverterMasterSection_HelpToolTip;
-
-	// Converter General Section
-	public static String ConverterGeneralSection_Name;
-
-	public static String ConverterGeneralSection_Desc;
-
-	public static String ConverterGeneralSection_HelpContextID;
-
-	public static String ConverterGeneralSection_HelpToolTip;
-
-	public static String ConverterGeneralSection_DisplayName;
-
-	public static String ConverterGeneralSection_Description;
-
-	public static String ConverterGeneralSection_ConverterID;
-
-	public static String ConverterGeneralSection_ConverterForClass;
-
-	public static String ConverterGeneralSection_ConverterClass;
-
-	// Validator Master Section
-	public static String ValidatorMasterSection_Name;
-
-	public static String ValidatorMasterSection_Description;
-
-	public static String ValidatorMasterSection_HelpContextID;
-
-	public static String ValidatorMasterSection_HelpToolTip;
-
-	// Validator General Section
-	public static String ValidatorGeneralSection_Name;
-
-	public static String ValidatorGeneralSection_Desc;
-
-	public static String ValidatorGeneralSection_HelpContextID;
-
-	public static String ValidatorGeneralSection_HelpToolTip;
-
-	public static String ValidatorGeneralSection_DisplayName;
-
-	public static String ValidatorGeneralSection_Description;
-
-	public static String ValidatorGeneralSection_ValidatorID;
-
-	public static String ValidatorGeneralSection_ValidatorForClass;
-
-	public static String ValidatorGeneralSection_ValidatorClass;
-
-
-	// Renderkit Master Section
-	public static String RenderkitMasterSection_Name;
-
-	public static String RenderkitMasterSection_Description;
-
-	public static String RenderkitMasterSection_HelpContextID;
-
-	public static String RenderkitMasterSection_HelpToolTip;
-
-	// Renderkit General Section
-	public static String RenderkitGeneralSection_Name;
-
-	public static String RenderkitGeneralSection_Desc;
-
-	public static String RenderkitGeneralSection_HelpContextID;
-
-	public static String RenderkitGeneralSection_HelpToolTip;
-
-	public static String RenderkitGeneralSection_DisplayName;
-
-	public static String RenderkitGeneralSection_Description;
-
-	public static String RenderkitGeneralSection_RenderkitID;
-
-	public static String RenderkitGeneralSection_RenderkitForClass;
-
-	public static String RenderkitGeneralSection_RenderkitClass;
-
-	// ##Renderer Section
-	public static String RendererSection_Name;
-
-	public static String RendererSection_Description;
-
-	public static String RendererSection_HelpContextID;
-
-	public static String RendererSection_HelpToolTip;
-
-	public static String RendererSection_Table_NameColumn;
-
-	public static String RendererSection_Table_ClassColumn;
-
-	public static String RendererSection_Table_ComponentFamilyColumn;
-
-	public static String RendererSection_Table_TypeColumn;
-
-	public static String RendererSection_Dialog_Title_Add;
-
-	public static String RendererSection_Dialog_Title_Edit;
-
-	public static String RendererSection_Dialog_Tab_General;
-
-	public static String RendererSection_Dialog_RendererName;
-
-	public static String RendererSection_Dialog_RendererClass;
-
-	public static String RendererSection_Dialog_ComponentFamilyValue;
-
-	public static String RendererSection_Dialog_ComponentFamilyCaption;
-	
-	public static String RendererSection_Dialog_ComponentFamilyLabel;
-	
-
-	public static String RendererSection_Dialog_TypeValue;
-
-	public static String RendererSection_Dialog_Error_NameEmpty;
-
-	public static String RendererSection_Dialog_Error_ClassEmpty;
-
-}
\ No newline at end of file
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/EditorMessages.properties b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/EditorMessages.properties
deleted file mode 100644
index 5389bbb..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/EditorMessages.properties
+++ /dev/null
@@ -1,221 +0,0 @@
-##################################################################################
-##/*******************************************************************************
-##* Copyright (c) 2004, 2005 Sybase, Inc. and others.
-##*
-##* 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:
-##*     Sybase, Inc. - initial API and implementation
-##*******************************************************************************/
-##################################################################################
-
-####################################################
-# Common UI resources
-####################################################
-UI_Button_Add = Add
-UI_Button_Edit = Edit
-UI_Button_Remove = Remove
-UI_Button_Add_more = Add...
-UI_Button_Edit_more = Edit...
-
-
-####################################################
-# Tab's name for multipageeditor of faces-config 
-####################################################
-FacesConfigEditor_Introduction_TabName			= Introduction
-FacesConfigEditor_Overview_TabName				= Overview
-FacesConfigEditor_Pageflow_TabName				= Navigation
-FacesConfigEditor_ManagedBeans_TabName			= ManagedBean
-FacesConfigEditor_Components_TabName			= Component
-FacesConfigEditor_Others_TabName				= Other
-FacesConfigEditor_Source_TabName				= Source
-
-
-####################################################
-#Introduction page 
-####################################################
-editor_pageflow_page_intro_name = Introduction
-editor_pageflow_page_intro_title = Faces Configuration Introduction
-editor_pageflow_page_intro_help_HelpContextID = com.sybase.stf.jmt.faces_config_editor_introduction
-editor_pageflow_page_intro_help_HelpToolTip = Introduction
-
-####################################################
-#Components page 
-####################################################
-ComponentsPage_Title    = Components
-
-##Component Master Section
-ComponentMasterSection_Name = Component
-ComponentMasterSection_Description = The following components are defined:
-ComponentMasterSection_HelpContextID = com.sybase.stf.jmt.faces_config_editor_components_component
-ComponentMasterSection_HelpToolTip = Component
-
-##Component General Section
-ComponentGeneralSection_Name = General
-ComponentGeneralSection_Desc =  This section describes the general information of this component.
-ComponentGeneralSection_HelpContextID = com.sybase.stf.jmt.faces_config_editor_components_component_general
-ComponentGeneralSection_HelpToolTip = ComponentGeneral
-ComponentGeneralSection_DisplayName = Display Name:
-ComponentGeneralSection_Description = Description:
-ComponentGeneralSection_ComponentType = Component Type*:
-ComponentGeneralSection_ComponentClass = Component Class:
-
-##Attribute Section
-AttributeSection_Name = Attributes
-AttributeSection_Description = This section lists all the attributes.
-AttributeSection_HelpContextID = com.sybase.stf.jmt.faces_config_editor_components_attribute
-AttributeSection_HelpToolTip = Attribute
-
-AttributeSection_Table_NameColumn = Name
-AttributeSection_Table_ClassColumn = Class
-AttributeSection_Table_DefaultValueColumn = Default Value
-AttributeSection_Table_SuggestedValueColumn = Suggested Value
-
-AttributeSection_Dialog_Title_Add = Add Attribute
-AttributeSection_Dialog_Title_Edit = Edit Attribute
-AttributeSection_Dialog_Tab_General = General
-AttributeSection_Dialog_AttributeName = Attribute Name:
-AttributeSection_Dialog_AttributeClass = Attribute Class:
-AttributeSection_Dialog_DefaultValue = Default value:
-AttributeSection_Dialog_SuggestedValue = Suggested value:
-AttributeSection_Dialog_Error_NameEmpty = The attribute name is empty.
-AttributeSection_Dialog_Error_ClassEmpty = The attribute class is empty.
-
-##Property Section
-PropertySection_Name = Properties
-PropertySection_Description = This section lists all the properties.
-PropertySection_HelpContextID = com.sybase.stf.jmt.faces_config_editor_components_property
-PropertySection_HelpToolTip = Property
-
-PropertySection_Table_NameColumn = Name
-PropertySection_Table_ClassColumn = Class
-PropertySection_Table_DefaultValueColumn = Default Value
-PropertySection_Table_SuggestedValueColumn = Suggested Value
-
-PropertySection_Dialog_Title_Add = Add Property
-PropertySection_Dialog_Title_Edit = Edit Property
-PropertySection_Dialog_Tab_General = General
-PropertySection_Dialog_PropertyName = Property Name:
-PropertySection_Dialog_PropertyClass = Property Class:
-PropertySection_Dialog_DefaultValue = Default value:
-PropertySection_Dialog_SuggestedValue = Suggested value:
-PropertySection_Dialog_Error_NameEmpty = The property name is empty.
-PropertySection_Dialog_Error_ClassEmpty = The property class is empty.
-
-##Facet Section
-FacetSection_Name = Facets
-FacetSection_Description = This section lists all the facets.
-FacetSection_HelpContextID = com.sybase.stf.jmt.faces_config_editor_components_facet
-FacetSection_HelpToolTip = Facet
-
-FacetSection_Table_FacetNameColumn = Facet Name
-FacetSection_Table_DisplayNameColumn = Display Name
-FacetSection_Table_DescriptionColumn = Description
-
-FacetSection_Dialog_Title_Add = Add Facet
-FacetSection_Dialog_Title_Edit = Edit Facet
-FacetSection_Dialog_Tab_General = General
-FacetSection_Dialog_FacetName = Facet Name:
-FacetSection_Dialog_DisplayName = Display Name:
-FacetSection_Dialog_Description = Description:
-FacetSection_Dialog_Error_NameEmpty = The facet name is empty.
-
-
-
-##managed bean master section
-ManagedBeanMasterSection_Name = Managed Beans
-ManagedBeanMasterSection_Description = The following managed beans are defined
-ManagedBeanMasterSection_HelpContextID = com.sybase.stf.jmt.faces_config_editor_managedbeans
-ManagedBeanMasterSection_HelpToolTip = ManagedBean
-
-####################################################
-#Converters page 
-####################################################
-ConvertersPage_Title    = Converters
-
-##Converter Master Section
-ConverterMasterSection_Name = Converter
-ConverterMasterSection_Description = The following Converters are defined:
-ConverterMasterSection_HelpContextID = com.sybase.stf.jmt.faces_config_editor_converters_converter
-ConverterMasterSection_HelpToolTip = Converter
-
-##Converter General Section
-ConverterGeneralSection_Name = General
-ConverterGeneralSection_Desc =  This section describes the general information of this converter.
-ConverterGeneralSection_HelpContextID = com.sybase.stf.jmt.faces_config_editor_converters_converter_general
-ConverterGeneralSection_HelpToolTip = ConverterGeneral
-ConverterGeneralSection_DisplayName = Display Name:
-ConverterGeneralSection_Description = Description:
-ConverterGeneralSection_ConverterID = Converter ID:
-ConverterGeneralSection_ConverterForClass = or Converter For Class:
-ConverterGeneralSection_ConverterClass = Converter Class:
-
-####################################################
-#Validators page 
-####################################################
-ValidatorsPage_Title    = Validators
-
-##Validator Master Section
-ValidatorMasterSection_Name = Validator
-ValidatorMasterSection_Description = The following validators are defined:
-ValidatorMasterSection_HelpContextID = com.sybase.stf.jmt.faces_config_editor_validators_validator
-ValidatorMasterSection_HelpToolTip = Validator
-
-##Validator General Section
-ValidatorGeneralSection_Name = General
-ValidatorGeneralSection_Desc =  This section describes the general information of this validator.
-ValidatorGeneralSection_HelpContextID = com.sybase.stf.jmt.faces_config_editor_validators_validator_general
-ValidatorGeneralSection_HelpToolTip = ValidatorGeneral
-ValidatorGeneralSection_DisplayName = Display Name:
-ValidatorGeneralSection_Description = Description:
-ValidatorGeneralSection_ValidatorID = Validator ID:
-ValidatorGeneralSection_ValidatorClass = Validator Class:
-
-####################################################
-#Renderkits page 
-####################################################
-RenderkitsPage_Title    = Render Kits
-
-##Renderkit Master Section
-RenderkitMasterSection_Name = Render Kits
-RenderkitMasterSection_Description = The following render-kits are defined:
-RenderkitMasterSection_HelpContextID = com.sybase.stf.jmt.faces_config_editor_renderkits_renderkit
-RenderkitMasterSection_HelpToolTip = RenderKit
-
-##Renderkit General Section
-RenderkitGeneralSection_Name = General
-RenderkitGeneralSection_Desc =  This section describes the general information of this render-kit.
-RenderkitGeneralSection_HelpContextID = com.sybase.stf.jmt.faces_config_editor_renderkits_renderkit_general
-RenderkitGeneralSection_HelpToolTip = RenderKitGeneral
-RenderkitGeneralSection_DisplayName = Display Name:
-RenderkitGeneralSection_Description = Description:
-RenderkitGeneralSection_RenderkitID = Renderkit ID:
-RenderkitGeneralSection_RenderkitClass = Renderkit Class:
-
-##Renderer Section
-RendererSection_Name = Renderers
-RendererSection_Description = This section lists all the renderers.
-RendererSection_HelpContextID = com.sybase.stf.jmt.faces_config_editor_components_renderer
-RendererSection_HelpToolTip = Renderer
-
-RendererSection_Table_NameColumn = Name
-RendererSection_Table_ClassColumn = Class
-RendererSection_Table_ComponentFamilyColumn = Component Family
-RendererSection_Table_TypeColumn = Type
-
-RendererSection_Dialog_Title_Add = Add Renderer
-RendererSection_Dialog_Title_Edit = Edit Renderer
-RendererSection_Dialog_Tab_General = General
-RendererSection_Dialog_RendererName = Display Name:
-RendererSection_Dialog_RendererClass =Class:
-RendererSection_Dialog_ComponentFamilyValue =Component Family:
-RendererSection_Dialog_ComponentFamilyCaption =Select Component Family
-RendererSection_Dialog_ComponentFamilyLabel =Enter or select a component family:
-
-RendererSection_Dialog_ComponentFamilyValue =Component Family:
-RendererSection_Dialog_TypeValue = Type:
-RendererSection_Dialog_Error_NameEmpty = The Renderer name is empty.
-RendererSection_Dialog_Error_ClassEmpty = The Renderer class is empty.
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/EditorPlugin.java b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/EditorPlugin.java
index ff29636..064096e 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/EditorPlugin.java
+++ b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/EditorPlugin.java
@@ -24,6 +24,7 @@
 import org.eclipse.jface.resource.ImageRegistry;
 import org.eclipse.jst.jsf.facesconfig.common.guiutils.Alerts;
 import org.eclipse.jst.jsf.facesconfig.common.logging.Logger;
+import org.eclipse.jst.jsf.facesconfig.ui.preference.GEMPreferences;
 import org.eclipse.swt.graphics.Image;
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.swt.widgets.Shell;
@@ -35,7 +36,7 @@
 /**
  * The main plugin class to be used in the desktop.
  */
-public class EditorPlugin extends AbstractUIPlugin {
+public class EditorPlugin extends AbstractUIPlugin {//implements IStartup {
 
 	// The shared instance.
 	private static EditorPlugin plugin;
@@ -48,14 +49,14 @@
 
 	private URL pluginBase;
 
-	private static IPreferenceStore preferenceStore;
-
 	/**
 	 * The constructor.
 	 */
 	public EditorPlugin() {
+		super();
 		plugin = this;
 	}
+	
 
 	/**
 	 * This method is called upon plug-in activation
@@ -72,7 +73,7 @@
 			// set up logging for this plugin and everthing under it.
 			log = new Logger(this.getBundle(), resourceBundle);
 
-//			log.info("log.StartMessage", CommonPlugin.getVersion());
+			// log.info("log.StartMessage", CommonPlugin.getVersion());
 		} catch (Exception ee) {
 			// only log if the logger was configured correctly.
 			if (log != null) {
@@ -84,6 +85,7 @@
 					.getSymbolicName(), IStatus.OK,
 					"Problems starting plug-in Faces Config Editor", ee));
 		}
+		
 	}
 
 	/**
@@ -271,11 +273,7 @@
 		return getDefault().getBundle().getSymbolicName();
 	}
 
-	public IPreferenceStore getPreferenceStore() {
-		if (null == preferenceStore) {
-			preferenceStore = new EditorPreferenceStore();
-		}
-
-		return preferenceStore;
+	protected void initializeDefaultPluginPreferences() {
+		new GEMPreferences();
 	}
 }
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/EditorPluginResources.properties b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/EditorPluginResources.properties
index 8ad39d2..27f8246 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/EditorPluginResources.properties
+++ b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/EditorPluginResources.properties
@@ -847,3 +847,40 @@
 ManagedBeanPropertyWizardPage.Alert.RemoveProperty.Information = Remove this property, are you sure?
 ServiceSelectionWizardPage.handleNewServiceCreation.error = Create New Service Exception {0}
 DataStoreSelectionWizardPage.PBLFileNotFound = Power Builder Library file \''{0}\'' can not found.
+
+
+#
+# Appearance preference labels
+#
+CanvasPreferenceTab.LABEL.UseSystemColors=Use System colors
+CanvasPreferenceTab.LABEL.BackgroundColor=Background color:
+CanvasPreferenceTab.LABEL.Canvas=Canvas
+CanvasPreferenceTab.LABEL.GridHeight=Grid height:
+CanvasPreferenceTab.LABEL.GridLineColor=Grid color:
+CanvasPreferenceTab.LABEL.GridWidth=Grid width:
+CanvasPreferenceTab.LABEL.IconLabelFont=Label font:
+CanvasPreferenceTab.LABEL.IconGroup=Icons
+CanvasPreferenceTab.LABEL.InputPortColor=Input Port color:
+CanvasPreferenceTab.LABEL.OutputPortColor=Output Port color:
+CanvasPreferenceTab.LABEL.LineGroup=Connection Lines
+CanvasPreferenceTab.LABEL.LineColor=Line color:
+CanvasPreferenceTab.LABEL.ShowLineLabels=Show labels
+CanvasPreferenceTab.LABEL.LineLabelColor=Label color:
+CanvasPreferenceTab.LABEL.LineLabelFont=Label font:
+CanvasPreferenceTab.LABEL.LineRouting=Line Routing:
+CanvasPreferenceTab.LABEL.LineWidth=Line width:
+CanvasPreferenceTab.LABEL.SnapToGeometry=Snap to geometry
+CanvasPreferenceTab.LABEL.SnapToGrid=Snap to grid
+CanvasPreferenceTab.LABEL.UndoStackSize="Undo\" stack size:
+CanvasPreferences.LABEL.Direct=Direct
+CanvasPreferences.LABEL.Manhattan=Manhattan
+CanvasPreferences.LABEL.Manual=Manual
+CanvasPreferenceTab.LABEL.LabelPlacement=Label Placement:
+CanvasPreferences.LABEL.Top=Top
+CanvasPreferences.LABEL.Bottom=Bottom
+CanvasPreferences.LABEL.Left=Left
+CanvasPreferences.LABEL.Right=Right
+CanvasPreferenceTab.LABEL.IconSize=Icon Size:
+CanvasPreferences.LABEL.Small=Small
+CanvasPreferences.LABEL.Medium=Medium
+CanvasPreferences.LABEL.Large=Large
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/EditorPreferenceStore.java b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/EditorPreferenceStore.java
deleted file mode 100644
index d179970..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/EditorPreferenceStore.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 Sybase, Inc. and others.
- *
- * 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:
- *     Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.facesconfig.ui;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.util.IPropertyChangeListener;
-
-/**
- * The holder of faces config graphical editor configuration.
- * 
- * @author sfshi
- * 
- */
-public class EditorPreferenceStore implements IPreferenceStore {
-
-	public void addPropertyChangeListener(IPropertyChangeListener listener) {
-
-	}
-
-	public boolean contains(String name) {
-		// TODO Auto-generated method stub
-		return false;
-	}
-
-	public void firePropertyChangeEvent(String name, Object oldValue,
-			Object newValue) {
-		// TODO Auto-generated method stub
-
-	}
-
-	public boolean getBoolean(String name) {
-		if (EditorPreferences.SNAP_TO_GEOMETRY.equals(name)) {
-			return true;
-		} else if (EditorPreferences.SNAP_TO_GRID.equals(name)) {
-			return true;
-		} else if (EditorPreferences.USE_SYSTEM_COLORS.equals(name)) {
-			return true;
-		} else if (EditorPreferences.SHOW_LINE_LABELS.equals(name)) {
-			return true;
-		}
-
-		return false;
-	}
-
-	public boolean getDefaultBoolean(String name) {
-		// TODO Auto-generated method stub
-		return false;
-	}
-
-	public double getDefaultDouble(String name) {
-		// TODO Auto-generated method stub
-		return 0;
-	}
-
-	public float getDefaultFloat(String name) {
-		// TODO Auto-generated method stub
-		return 0;
-	}
-
-	public int getDefaultInt(String name) {
-		// TODO Auto-generated method stub
-		return 0;
-	}
-
-	public long getDefaultLong(String name) {
-		// TODO Auto-generated method stub
-		return 0;
-	}
-
-	public String getDefaultString(String name) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	public double getDouble(String name) {
-		// TODO Auto-generated method stub
-		return 0;
-	}
-
-	public float getFloat(String name) {
-		// TODO Auto-generated method stub
-		return 0;
-	}
-
-	public int getInt(String name) {
-		if (EditorPreferences.LINE_WIDTH.equals(name)) {
-			return 1;
-		} else if (EditorPreferences.GRID_WIDTH.equals(name)) {
-			return 12;
-		} else if (EditorPreferences.GRID_HEIGHT.equals(name)) {
-			return 12;
-		}
-		return 0;
-	}
-
-	public long getLong(String name) {
-		// TODO Auto-generated method stub
-		return 0;
-	}
-
-	public String getString(String name) {
-		if (EditorPreferences.LINE_ROUTING.equals(name)) {
-			// defaultly use manual, another value
-			// is GEMPreferences.LINE_ROUTING_MANHATTAN
-			return EditorPreferences.LINE_ROUTING_MANUAL;
-		} else if (EditorPreferences.LABEL_PLACEMENT.equals(name)) {
-			return EditorPreferences.LABEL_PLACEMENT_BOTTOM;
-		} else if (EditorPreferences.LINE_LABEL_FONT.equals(name)) {
-			return "1|Tahoma|8|0|WINDOWS|1|-11|0|0|0|400|0|0|0|1|0|0|0|0|Tahoma;";
-		} else if (EditorPreferences.FIGURE_LABEL_FONT.equals(name)) {
-
-			return "1|Tahoma|8|0|WINDOWS|1|-11|0|0|0|400|0|0|0|1|0|0|0|0|Tahoma;";
-		}
-
-		return null;
-	}
-
-	public boolean isDefault(String name) {
-		// TODO Auto-generated method stub
-		return false;
-	}
-
-	public boolean needsSaving() {
-		// TODO Auto-generated method stub
-		return false;
-	}
-
-	public void putValue(String name, String value) {
-		// TODO Auto-generated method stub
-
-	}
-
-	public void removePropertyChangeListener(IPropertyChangeListener listener) {
-		// TODO Auto-generated method stub
-
-	}
-
-	public void setDefault(String name, double value) {
-		// TODO Auto-generated method stub
-
-	}
-
-	public void setDefault(String name, float value) {
-		// TODO Auto-generated method stub
-
-	}
-
-	public void setDefault(String name, int value) {
-		// TODO Auto-generated method stub
-
-	}
-
-	public void setDefault(String name, long value) {
-		// TODO Auto-generated method stub
-
-	}
-
-	public void setDefault(String name, String defaultObject) {
-		// TODO Auto-generated method stub
-
-	}
-
-	public void setDefault(String name, boolean value) {
-		// TODO Auto-generated method stub
-
-	}
-
-	public void setToDefault(String name) {
-		// TODO Auto-generated method stub
-
-	}
-
-	public void setValue(String name, double value) {
-		// TODO Auto-generated method stub
-
-	}
-
-	public void setValue(String name, float value) {
-		// TODO Auto-generated method stub
-
-	}
-
-	public void setValue(String name, int value) {
-		// TODO Auto-generated method stub
-
-	}
-
-	public void setValue(String name, long value) {
-		// TODO Auto-generated method stub
-
-	}
-
-	public void setValue(String name, String value) {
-		// TODO Auto-generated method stub
-
-	}
-
-	public void setValue(String name, boolean value) {
-		// TODO Auto-generated method stub
-
-	}
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/EditorPreferences.java b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/EditorPreferences.java
deleted file mode 100644
index 4662a75..0000000
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/EditorPreferences.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 Sybase, Inc. and others.
- *
- * 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:
- *     Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.facesconfig.ui;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.swt.graphics.Color;
-
-public class EditorPreferences {
-	// appearance
-	public final static String USE_SYSTEM_COLORS = "UseSystemColors"; //$NON-NLS-1$
-
-	public final static String CANVAS_COLOR = "CanvasColor"; //$NON-NLS-1$
-
-	public final static String FIGURE_LABEL_FONT = "FigureLabelFont"; //$NON-NLS-1$
-
-	public final static String FIGURE_LABEL_FONT_COLOR = "FigureLabelFontColor"; //$NON-NLS-1$
-
-	public final static String LABEL_PLACEMENT = "LabelPlacement";
-
-	public final static String INPUT_PORT_COLOR = "InputPortColor";
-
-	public final static String OUTPUT_PORT_COLOR = "OutputPortColor";
-
-	public final static String SHOW_LINE_LABELS = "ShowLineLabels";
-
-	public final static String LINE_LABEL_FONT = "LineLabelFont"; //$NON-NLS-1$
-
-	public final static String LINE_LABEL_FONT_COLOR = "LineLabelFontColor"; //$NON-NLS-1$
-
-	public final static String LINE_LABEL_COLOR = "LineLabelColor"; //$NON-NLS-1$
-
-	public final static String LINE_WIDTH = "LineWidth"; //$NON-NLS-1$
-
-	public final static String LINE_COLOR = "LineColor"; //$NON-NLS-1$
-
-	public final static String LINE_ROUTING = "LineRouting"; //$NON-NLS-1$
-
-	public final static String SNAP_TO_GRID = "SnapToGrid"; //$NON-NLS-1$
-
-	public final static String SNAP_TO_GEOMETRY = "SnapToGeometry"; //$NON-NLS-1$
-
-	public final static String GRID_WIDTH = "GridWidth"; //$NON-NLS-1$
-
-	public final static String GRID_HEIGHT = "GridHeight"; //$NON-NLS-1$
-
-	public final static String GRID_COLOR = "GridColor"; //$NON-NLS-1$
-
-	public final static String LABEL_PLACEMENT_TOP = "Top";
-
-	public final static String LABEL_PLACEMENT_BOTTOM = "Bottom";
-
-	public final static String LABEL_PLACEMENT_LEFT = "Left";
-
-	public final static String LABEL_PLACEMENT_RIGHT = "Right";
-
-	// "Direct" routing was intended for connections lines without bendpoints;
-	// this has been removed because it is unnecessary.
-	// public final static String LINE_ROUTING_DIRECT = "Direct";
-	// "Manhattan" line routing creates orthogonal lines
-	public final static String LINE_ROUTING_MANHATTAN = "Manhattan";
-
-	// "Manual" routing allows user to create bendpoints
-	public final static String LINE_ROUTING_MANUAL = "Manaul";
-
-	public static Color getColor(IPreferenceStore store, String property) {
-		boolean useSystemColors = store.getBoolean(USE_SYSTEM_COLORS);
-
-		Color c = ColorConstants.black;
-		if (useSystemColors) {
-			if (GRID_COLOR.equals(property))
-				c = ColorConstants.button;
-			;
-			if (LINE_COLOR.equals(property))
-				c = ColorConstants.listForeground;
-			if (LINE_LABEL_FONT_COLOR.equals(property))
-				c = ColorConstants.listForeground;
-			if (LINE_LABEL_COLOR.equals(property))
-				c = ColorConstants.listBackground;
-			if (CANVAS_COLOR.equals(property))
-				c = ColorConstants.listBackground;
-			if (INPUT_PORT_COLOR.equals(property))
-				c = ColorConstants.listForeground;
-			if (OUTPUT_PORT_COLOR.equals(property))
-				c = ColorConstants.listForeground;
-			if (FIGURE_LABEL_FONT_COLOR.equals(property))
-				c = ColorConstants.listForeground;
-		}
-
-		return c;
-	}
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/EditorResources.properties b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/EditorResources.properties
index 2594379..6d529b8 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/EditorResources.properties
+++ b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/EditorResources.properties
@@ -311,8 +311,9 @@
 # managed bean section
 OverviewPage.ManagedBeanSection.name = ManagedBean Information
 OverviewPage.ManagedBeanSection.description = This section describes the managed beans
-OverviewPage.ManagedBeanSection.table.namecol = ManagedBean
+OverviewPage.ManagedBeanSection.table.namecol = Name
 OverviewPage.ManagedBeanSection.table.scopecol = Scope
+OverviewPage.ManagedBeanSection.table.classcol = Class
 OverviewPage.ManagedBeanSection.managedbeanPageID = com.sybase.stf.jmt.editors.pageflow.managedbean.DataBindingPage
 OverviewPage.ManagedBeanSection.Help.HelpContextID = com.sybase.stf.jmt.faces_config_editor_overview_managedbean
 OverviewPage.ManagedBeanSection.Help.HelpToolTip = Managed Bean
@@ -320,8 +321,8 @@
 #components section
 OverviewPage.ComponentsSection.name = Component Information
 OverviewPage.ComponentsSection.description = This section describes component, render-kit, converter and validator elements
-OverviewPage.ComponentsSection.table.typecol = Element Type
-OverviewPage.ComponentsSection.table.namecol = Element Name
+OverviewPage.ComponentsSection.table.typecol = Name
+OverviewPage.ComponentsSection.table.namecol = Class
 OverviewPage.ComponentsSection.componentsPageID = com.sybase.stf.jmt.editors.pageflow.components.ComponentsPage
 OverviewPage.ComponentsSection.Help.HelpContextID = com.sybase.stf.jmt.faces_config_editor_overview_component
 OverviewPage.ComponentsSection.Help.HelpToolTip = Component
@@ -329,9 +330,9 @@
 #other section
 OverviewPage.OthersSection.name = Others Information
 OverviewPage.OthersSection.description = This section describes application, factory and lifecycle elements
-OverviewPage.OthersSection.table.typecol = Element Type
-OverviewPage.OthersSection.table.namecol = Element Name
-OverviewPage.OthersSection.table.valuecol = Element Value
+OverviewPage.OthersSection.table.typecol = Parent Name
+OverviewPage.OthersSection.table.namecol = Name
+OverviewPage.OthersSection.table.valuecol = Value
 OverviewPage.OthersSection.othersPageID = com.sybase.stf.jmt.editors.pageflow.OthersPage
 OverviewPage.OthersSection.Help.HelpContextID = com.sybase.stf.jmt.faces_config_editor_overview_others
 OverviewPage.OthersSection.Help.HelpToolTip = Others
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/FacesConfigEditor.java b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/FacesConfigEditor.java
index 3915963..8113d58 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/FacesConfigEditor.java
+++ b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/FacesConfigEditor.java
@@ -85,6 +85,7 @@
 import org.eclipse.jst.jsf.facesconfig.ui.page.IntroductionPage;
 import org.eclipse.jst.jsf.facesconfig.ui.page.ManagedBeanPage;
 import org.eclipse.jst.jsf.facesconfig.ui.page.OthersPage;
+import org.eclipse.jst.jsf.facesconfig.ui.page.OverviewPage;
 import org.eclipse.jst.jsf.facesconfig.ui.pageflow.DelegatingZoomManager;
 import org.eclipse.jst.jsf.facesconfig.ui.pageflow.FacesConfigEditorActionBarContributor;
 import org.eclipse.jst.jsf.facesconfig.ui.pageflow.PageflowEditor;
@@ -110,6 +111,7 @@
 import org.eclipse.ui.dialogs.SaveAsDialog;
 import org.eclipse.ui.forms.editor.FormEditor;
 import org.eclipse.ui.forms.editor.FormPage;
+import org.eclipse.ui.forms.editor.IFormPage;
 import org.eclipse.ui.ide.IGotoMarker;
 import org.eclipse.ui.part.FileEditorInput;
 import org.eclipse.ui.views.contentoutline.ContentOutline;
@@ -142,7 +144,13 @@
 	/** id of the pageflowPage */
 	private int pageflowPageID;
 
-//	private IEditorPart _prevPart;
+	private int managedBeanPageID;
+
+	private int componentsPageID;
+
+	private int othersPageID;
+
+	// private IEditorPart _prevPart;
 
 	/** The pageflow viewer */
 	private PageflowEditor pageflowPage;
@@ -417,28 +425,20 @@
 		try {
 			IntroductionPage page1 = new IntroductionPage(this);
 			addPage(page1, null);
+			
+			IFormPage overviewPage = new OverviewPage(this);
+			addPage(overviewPage, null);
+			
 			// Page flow
 			createAndAddPageflowPage();
-			getFacesConfigAdapter().setFacesConfigEMFModel(getFacesConfig());
-			FC2PFTransformer.getInstance().setFacesConfig(getFacesConfig());
-			FC2PFTransformer.getInstance().setPageflow(
-					pageflowPage.getPageflow());
-			boolean fornew = getFacesConfigAdapter()
-					.updatePageflowFromFacesConfig();
-			pageflowPage.getGraphicalViewer().setContents(
-					pageflowPage.getPageflow());
-			if (fornew) {
-				PageflowLayoutManager.getInstance().layoutPageflow(
-						pageflowPage.getPageflow());
-			}
-			FC2PFTransformer.getInstance().setListenToNotify(true);
+			
 			// pages
-			ManagedBeanPage page3 = new ManagedBeanPage(this);
-			addPage(page3, null);
-			ComponentsPage page2 = new ComponentsPage(this);
-			addPage(page2, null);
-			OthersPage othersPage = new OthersPage(this);
-			addPage(othersPage, null);
+			IFormPage managedBeanPage = new ManagedBeanPage(this);
+			managedBeanPageID = addPage(managedBeanPage, null);
+			IFormPage componentsPage = new ComponentsPage(this);
+			componentsPageID = addPage(componentsPage, null);
+			IFormPage othersPage = new OthersPage(this);
+			othersPageID = addPage(othersPage, null);
 
 			sourcePage = new StructuredTextEditor();
 
@@ -452,7 +452,8 @@
 		} catch (PartInitException e) {
 			EditorPlugin.getDefault().getLog().log(
 					new Status(IStatus.ERROR, EditorPlugin.getPluginId(),
-							IStatus.OK, e.getMessage(), e));
+							IStatus.OK, e.getMessage() == null ? "" : e
+									.getMessage(), e));
 		}
 
 	}
@@ -469,7 +470,17 @@
 
 		getFacesConfigAdapter().setPageflowManager(
 				pageflowPage.getPageflowManager());
-
+		getFacesConfigAdapter().setFacesConfigEMFModel(getFacesConfig());
+		FC2PFTransformer.getInstance().setFacesConfig(getFacesConfig());
+		FC2PFTransformer.getInstance().setPageflow(pageflowPage.getPageflow());
+		boolean fornew = getFacesConfigAdapter()
+				.updatePageflowFromFacesConfig();
+		pageflowPage.setGraphicalViewerContents(pageflowPage.getPageflow());
+		if (fornew) {
+			PageflowLayoutManager.getInstance().layoutPageflow(
+					pageflowPage.getPageflow());
+		}
+		FC2PFTransformer.getInstance().setListenToNotify(true);
 		// getFacesConfigAdapter().updatePageflowFromFacesConfig();
 	}
 
@@ -530,18 +541,18 @@
 	public FacesConfigType getFacesConfig() {
 		// return modelResource.getFacesConfig();
 		FacesConfigType facesConfig = facesConfigAtrifactEdit.getFacesConfig();
-		if (!facesConfig.eAdapters().contains(FC2PFTransformer.getInstance())) {
+		if (!FC2PFTransformer.getInstance().isAdapted(facesConfig)) {
 			Iterator contents = facesConfig.getNavigationRule().iterator();
 			while (contents.hasNext()) {
 				EObject next = ((EObject) contents.next());
 				TreeIterator children = next.eAllContents();
 				while (children.hasNext()) {
-					((EObject) children.next()).eAdapters().add(
-						FC2PFTransformer.getInstance());
+					FC2PFTransformer.getInstance().adapt(
+							(EObject) children.next());
+				}
+				FC2PFTransformer.getInstance().adapt(next);
 			}
-				next.eAdapters().add(FC2PFTransformer.getInstance());
-			}
-			facesConfig.eAdapters().add(FC2PFTransformer.getInstance());
+			FC2PFTransformer.getInstance().adapt(facesConfig);
 		}
 		return facesConfig;
 	}
@@ -562,36 +573,35 @@
 	 * update the source editor to sychronize the saved pageflow.
 	 * 
 	 */
-	private void updateSourcePageFromPageflow() {
-		System.out
-				.println("FacesConfigEditor: update source page from page flow");
-		// InputStream inputStreamOfFacesConfig = null;
-		// try {
-		// ISourceEditingTextTools editingTools = (ISourceEditingTextTools)
-		// sourcePage
-		// .getAdapter(ISourceEditingTextTools.class);
-		//
-		// if (editingTools != null) {
-		// inputStreamOfFacesConfig = new ByteArrayInputStream(
-		// editingTools.getDocument().get().getBytes("UTF-8"));//$NON-NLS-1$
+	// private void updateSourcePageFromPageflow() {
+	// // System.out
+	// // .println("FacesConfigEditor: update source page from page flow");
+	// // InputStream inputStreamOfFacesConfig = null;
+	// // try {
+	// // ISourceEditingTextTools editingTools = (ISourceEditingTextTools)
+	// // sourcePage
+	// // .getAdapter(ISourceEditingTextTools.class);
+	// //
+	// // if (editingTools != null) {
+	// // inputStreamOfFacesConfig = new ByteArrayInputStream(
+	// // editingTools.getDocument().get().getBytes("UTF-8"));//$NON-NLS-1$
+	// // }
+	// //
+	// // } catch (UnsupportedEncodingException e) {
+	// // // PageflowEditor.Encoding.Unsupported = Unsupported Encoding.
+	// // // log.error("PageflowEditor.Encoding.Unsupported", e);
+	// // // //$NON-NLS-1$
+	// // }
+	// //
+	// // if (inputStreamOfFacesConfig == null) {
+	// // return;
+	// // }
+	// // UpdateFacesConfigCommand updateCommand = new
+	// // UpdateFacesConfigCommand(
+	// // getFacesConfigAdapter(), inputStreamOfFacesConfig);
+	// //
+	// // updateCommand.execute();
 		// }
-		//
-		// } catch (UnsupportedEncodingException e) {
-		// // PageflowEditor.Encoding.Unsupported = Unsupported Encoding.
-		// // log.error("PageflowEditor.Encoding.Unsupported", e);
-		// // //$NON-NLS-1$
-		// }
-		//
-		// if (inputStreamOfFacesConfig == null) {
-		// return;
-		// }
-		// UpdateFacesConfigCommand updateCommand = new
-		// UpdateFacesConfigCommand(
-		// getFacesConfigAdapter(), inputStreamOfFacesConfig);
-		//
-		// updateCommand.execute();
-	}
-
 	/**
 	 * This class listens for command stack changes of the pages contained in
 	 * this editor and decides if the editor is dirty or not.
@@ -822,20 +832,21 @@
 					// modelResource.save(Collections.EMPTY_MAP);
 					facesConfigAtrifactEdit.getDeploymentDescriptorResource()
 							.save(Collections.EMPTY_MAP);
-					if (getActiveEditor() == sourcePage) {
-						if (getFacesConfigAdapter().isFacesConfigDirty()) {
-							// if the faces-config file is updated in the source
-							// page,
-							// the pageflow should be updated!
-							updatePageflowPage(false, false);
-						}
-					} else if (getActiveEditor() == pageflowPage) {
-						if (getFacesConfigAdapter().isPageflowDirty()) {
-							// if the pageflow is modified in the pageflow page,
-							// the source editor should be updated.
-							updateSourcePageFromPageflow();
-						}
-					}
+					// if (getActiveEditor() == sourcePage) {
+					// if (getFacesConfigAdapter().isFacesConfigDirty()) {
+					// // if the faces-config file is updated in the source
+					// // page,
+					// // the pageflow should be updated!
+					// updatePageflowPage(false, false);
+					// }
+					// }
+					// else if (getActiveEditor() == pageflowPage) {
+					// if (getFacesConfigAdapter().isPageflowDirty()) {
+					// // if the pageflow is modified in the pageflow page,
+					// // the source editor should be updated.
+					// updateSourcePageFromPageflow();
+					// }
+					// }
 					IFile file = ((IFileEditorInput) getEditorInput())
 							.getFile();
 					pageflowPage.doSave(file, monitor);
@@ -844,8 +855,9 @@
 				} catch (Exception e) {
 					EditorPlugin.getDefault().getLog().log(
 							new Status(IStatus.ERROR, EditorPlugin
-									.getPluginId(), IStatus.OK, e.getMessage(),
-									e));
+									.getPluginId(), IStatus.OK,
+									e.getMessage() == null ? "" : e
+											.getMessage(), e));
 				}
 			}
 		};
@@ -958,20 +970,6 @@
 
 	}
 
-	// /**
-	// * Returns the <code>IContentOutlinePage</code> for this editor.
-	// *
-	// * @return - the <code>IContentOutlinePage</code>
-	// */
-	// protected IContentOutlinePage getOutlinePage() {
-	// // return (IContentOutlinePage)
-	// // _pageflowPage.getAdapter(IContentOutlinePage.class);
-	// if (null == outlinePage) {
-	// outlinePage = new MultiPageEditorOutlinePage();
-	// }
-	// return outlinePage;
-	// }
-
 	/** the delegating ZoomManager */
 	private DelegatingZoomManager delegatingZoomManager = null;
 
@@ -1226,7 +1224,7 @@
 			((FacesConfigEditorActionBarContributor) contributor)
 					.setActivePage(activeEditor);
 		}
-//		_prevPart = activeEditor;
+		// _prevPart = activeEditor;
 	}
 
 	/*
@@ -1238,8 +1236,6 @@
 		super.pageChange(newPageIndex);
 
 		// refresh content depending on current page
-
-		// ((MultiPageEditorPropertySheetPage)getPropertySheetPage()).pagechange(this.getActiveEditor());
 		currentPageChanged();
 	}
 
@@ -1294,17 +1290,17 @@
 	// }
 	public void dispose() {
 		FC2PFTransformer.getInstance().dispose();
-		Iterator contents = getFacesConfig().getNavigationRule().iterator();
-		while (contents.hasNext()) {
-			EObject next = ((EObject) contents.next());
-			TreeIterator children = next.eAllContents();
-			while (children.hasNext()) {
-				((EObject) children.next()).eAdapters().remove(
-					FC2PFTransformer.getInstance());
-		}
-			next.eAdapters().remove(FC2PFTransformer.getInstance());
-		}
-		getFacesConfig().eAdapters().remove(FC2PFTransformer.getInstance());
+//		Iterator contents = getFacesConfig().getNavigationRule().iterator();
+//		while (contents.hasNext()) {
+//			EObject next = ((EObject) contents.next());
+//			TreeIterator children = next.eAllContents();
+//			while (children.hasNext()) {
+//				FC2PFTransformer.getInstance().unAdapt(
+//						(EObject) children.next());
+//			}
+//			FC2PFTransformer.getInstance().unAdapt((EObject) next);
+//		}
+		// FC2PFTransformer.getInstance().unAdapt(getFacesConfig());
 
 		ResourcesPlugin.getWorkspace().removeResourceChangeListener(
 				resourceChangeListener);
@@ -1358,15 +1354,10 @@
 	 * @return - the <code>IContentOutlinePage</code>
 	 */
 	protected IContentOutlinePage getOutlinePage() {
-		// return (IContentOutlinePage)
-		// _pageflowPage.getAdapter(IContentOutlinePage.class);
 		if (null == outlinePage) {
 			outlinePage = new MultiPageEditorOutlinePage();
 		}
 		return outlinePage;
-		// use the source page's outline.
-		// return (IContentOutlinePage) this.getEditor(sourcePageId).getAdapter(
-		// IContentOutlinePage.class);
 	}
 
 	public void addSelectionChangedListener(ISelectionChangedListener listener) {
@@ -1406,8 +1397,8 @@
 
 	public void gotoMarker(IMarker marker) {
 		// TODO Auto-generated method stub
-//			setActivePage(sourcePageId);
-//			IDE.gotoMarker(fTextEditor, marker);
+		// setActivePage(sourcePageId);
+		// IDE.gotoMarker(fTextEditor, marker);
 	}
 
 	public EditingDomainActionBarContributor getActionBarContributor() {
@@ -1490,19 +1481,15 @@
 		}
 	}
 
-	public void setActiveEditorPage(String className) {
-		// TODO Auto-generated method stub
-		if (className.equals(PageflowEditor.PAGE_ID)) {
+	public void setActiveEditorPage(String pageID) {
+		if (pageID.equals(PageflowEditor.PAGE_ID)) {
 			setActivePage(pageflowPageID);
+		} else if (pageID.equals(ManagedBeanPage.PAGE_ID)) {
+			setActivePage(managedBeanPageID);
+		} else if (pageID.equals(ComponentsPage.PAGE_ID)) {
+			setActivePage(componentsPageID);
+		} else if (pageID.equals(OthersPage.PAGE_ID)) {
+			setActivePage(othersPageID);
 		}
-		// else if (className.equals(ManagedBeanPage.PAGE_ID)) {
-		// setActivePage(managedBeanPageID);
-		// } else if (className.equals(OthersPage.PAGE_ID)) {
-		// setActivePage(othersPageID);
-		// } else if (className.equals(ComponentsPage.PAGE_ID)) {
-		// setActivePage(componentsPageID);
-		// } else if (className.indexOf("StructuredTextEditor") > 0) {
-		// setActivePage(sourcePageID);
-		// }
 	}
 }
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/IconResources.properties b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/IconResources.properties
index dfe699d..3b27961 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/IconResources.properties
+++ b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/IconResources.properties
@@ -30,7 +30,7 @@
 Pageflow.elementPropertySource.integralValue = facesconfig/Pageflow_IntegralValue.gif
 Pageflow.elementPropertySource.genericValue = facesconfig/Pageflow_GenericValue.gif
 
-Databinding.managedbeanType = facesconfig/ManagedBeanType.gif
+Databinding.managedbeanType = facesconfig/FacesConfig_ManagedBean.gif
 Databinding.operation = facesconfig/operation.gif
 
 Components.component = facesconfig/FacesConfig_Component.gif
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/NewEditorResources.properties b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/NewEditorResources.properties
index 6856be4..ea2d9b5 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/NewEditorResources.properties
+++ b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/NewEditorResources.properties
@@ -148,12 +148,12 @@
 # managed bean section
 OverviewPage.ManagedBeanSection.name = ManagedBean Information
 OverviewPage.ManagedBeanSection.description = This section describes the managed beans
-OverviewPage.ManagedBeanSection.table.namecol = ManagedBean
+OverviewPage.ManagedBeanSection.table.namecol = Name
 OverviewPage.ManagedBeanSection.table.scopecol = Scope
+OverviewPage.ManagedBeanSection.table.classcol = Class
 OverviewPage.ManagedBeanSection.managedbeanPageID = com.sybase.stf.jmt.editors.pageflow.managedbean.DataBindingPage
 OverviewPage.ManagedBeanSection.Help.HelpContextID = com.sybase.stf.jmt.faces_config_editor_overview_managedbean
 OverviewPage.ManagedBeanSection.Help.HelpToolTip = Managed Bean
-
 #components section
 OverviewPage.ComponentsSection.name = Component Information
 OverviewPage.ComponentsSection.description = This section describes component, render-kit, converter and validator elements
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/NewEditorResourcesNLS.java b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/NewEditorResourcesNLS.java
index 3dc9d8a..9e97080 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/NewEditorResourcesNLS.java
+++ b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/NewEditorResourcesNLS.java
@@ -204,6 +204,8 @@
 
 	public static String OverviewPage_ManagedBeanSection_table_scopecol;
 
+	public static String OverviewPage_ManagedBeanSection_table_classcol;
+
 	public static String OverviewPage_ManagedBeanSection_managedbeanPageID;
 
 	public static String OverviewPage_ManagedBeanSection_Help_HelpContextID;
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/NewEditorResourcesNLS.properties b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/NewEditorResourcesNLS.properties
index c6451c6..cbc3432 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/NewEditorResourcesNLS.properties
+++ b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/NewEditorResourcesNLS.properties
@@ -148,12 +148,12 @@
 # managed bean section
 OverviewPage_ManagedBeanSection_name = ManagedBean Information
 OverviewPage_ManagedBeanSection_description = This section describes the managed beans
-OverviewPage_ManagedBeanSection_table_namecol = ManagedBean
+OverviewPage_ManagedBeanSection_table_namecol = Name
 OverviewPage_ManagedBeanSection_table_scopecol = Scope
+OverviewPage_ManagedBeanSection_table_classcol = Class
 OverviewPage_ManagedBeanSection_managedbeanPageID = com.sybase.stf.jmt.editors.pageflow.managedbean.DataBindingPage
 OverviewPage_ManagedBeanSection_Help_HelpContextID = com.sybase.stf.jmt.faces_config_editor_overview_managedbean
 OverviewPage_ManagedBeanSection_Help_HelpToolTip = Managed Bean
-
 #components section
 OverviewPage_ComponentsSection_name = Component Information
 OverviewPage_ComponentsSection_description = This section describes component, render-kit, converter and validator elements
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/page/ComponentsPage.java b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/page/ComponentsPage.java
index c8a93b8..6b2dd9e 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/page/ComponentsPage.java
+++ b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/page/ComponentsPage.java
@@ -57,6 +57,8 @@
  */
 public class ComponentsPage extends FacesConfigMasterDetailPage {
 
+	public static final String PAGE_ID = "org.eclipse.jst.jsf.facesconfig.ui.page.ComponentsPage";
+
 	private IContentOutlinePage contentOutlinePage;
 
 	/**
@@ -204,10 +206,11 @@
 					.addSelectionChangedListener(new ISelectionChangedListener() {
 						// This ensures that we handle selections correctly.
 						public void selectionChanged(SelectionChangedEvent event) {
-							handleContentOutlineSelection(event.getSelection());
+							setSelection(event.getSelection());
 						}
 					});
 
+			addSelectionChangedListener((ContentOutlinePage) contentOutlinePage);
 		}
 
 		return contentOutlinePage;
@@ -219,10 +222,18 @@
 	 * 
 	 * @param selection
 	 */
-	protected void handleContentOutlineSelection(ISelection selection) {
+	public void setSelection(ISelection selection) {
 
 		if (selection instanceof IStructuredSelection) {
 			IStructuredSelection ss = (IStructuredSelection) selection;
+			IStructuredSelection currentSelection = (IStructuredSelection) this
+					.getSelection();
+			if ((!ss.isEmpty())
+					&& (!currentSelection.isEmpty())
+					&& (ss.getFirstElement() == currentSelection
+							.getFirstElement())) {
+				return;
+			}
 			EObject component = null;
 			if (ss.getFirstElement() instanceof AttributeType
 					|| ss.getFirstElement() instanceof PropertyType
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/page/FacesConfigMasterDetailPage.java b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/page/FacesConfigMasterDetailPage.java
index dd0b9ca..05a5c00 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/page/FacesConfigMasterDetailPage.java
+++ b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/page/FacesConfigMasterDetailPage.java
@@ -25,9 +25,8 @@
 import org.eclipse.jface.viewers.ISelectionProvider;
 import org.eclipse.jface.viewers.SelectionChangedEvent;
 import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jst.jsf.facesconfig.common.CommonPlugin;
+import org.eclipse.jst.jsf.facesconfig.ui.EditorPlugin;
 import org.eclipse.jst.jsf.facesconfig.ui.FacesConfigEditor;
-import org.eclipse.jst.jsf.facesconfig.ui.IconResources;
 import org.eclipse.jst.jsf.facesconfig.ui.section.FacesConfigMasterSection;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.SashForm;
@@ -58,8 +57,8 @@
 		IFacesConfigPage, IDetailsPageProvider, ISelectionChangedListener,
 		ISelectionProvider {
 
-	private final static Image BANNER_IMAGE = CommonPlugin.getDefault()
-			.getImage(IconResources.getString("Common.formbanner"));
+	private final static Image BANNER_IMAGE = EditorPlugin.getDefault()
+			.getImage("form_banner.gif");
 
 	protected FacesConfigMasterSection[] facesConfigMasterSections;
 
@@ -319,14 +318,11 @@
 
 	public void removeSelectionChangedListener(
 			ISelectionChangedListener listener) {
-		// TODO Auto-generated method stub
 		selectionChangedListeners.remove(listener);
 	}
 
 	public void setSelection(ISelection selection) {
 		// TODO Auto-generated method stub
-		if (selection != null && getActiveSection() != null)
-			getActiveSection().setSelection(selection);
 
 	}
 
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/page/IntroductionPage.java b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/page/IntroductionPage.java
index 0a73df3..5f5cc6f 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/page/IntroductionPage.java
+++ b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/page/IntroductionPage.java
@@ -15,10 +15,9 @@
 import org.eclipse.jface.viewers.ISelectionChangedListener;
 import org.eclipse.jface.viewers.ISelectionProvider;
 import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jst.jsf.facesconfig.common.CommonPlugin;
 import org.eclipse.jst.jsf.facesconfig.common.guiutils.IntroductionSection;
+import org.eclipse.jst.jsf.facesconfig.ui.EditorPlugin;
 import org.eclipse.jst.jsf.facesconfig.ui.FacesConfigEditor;
-import org.eclipse.jst.jsf.facesconfig.ui.IconResources;
 import org.eclipse.jst.jsf.facesconfig.ui.NewEditorResourcesNLS;
 import org.eclipse.ui.forms.IManagedForm;
 import org.eclipse.ui.forms.editor.FormPage;
@@ -52,8 +51,7 @@
 		FormToolkit toolkit = getEditor().getToolkit();
 		form.setText(NewEditorResourcesNLS.editor_pageflow_page_intro_title);
 
-		form.setBackgroundImage(CommonPlugin.getDefault().getImage(
-				IconResources.getString("Common.formbanner")));
+		form.setBackgroundImage(EditorPlugin.getDefault().getImage("form_banner.gif"));
 
 		// create a layout
 		TableWrapLayout layout = new TableWrapLayout();
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/page/ManagedBeanPage.java b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/page/ManagedBeanPage.java
index c167b63..9e9afbe 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/page/ManagedBeanPage.java
+++ b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/page/ManagedBeanPage.java
@@ -47,6 +47,8 @@
  */
 public class ManagedBeanPage extends FacesConfigMasterDetailPage {
 
+	public static final String PAGE_ID = "org.eclipse.jst.jsf.facesconfig.ui.page.ManagedBeanPage";
+
 	private IContentOutlinePage contentOutlinePage;
 
 	public ManagedBeanPage(FacesConfigEditor editor) {
@@ -131,7 +133,7 @@
 					.addSelectionChangedListener(new ISelectionChangedListener() {
 						// This ensures that we handle selections correctly.
 						public void selectionChanged(SelectionChangedEvent event) {
-							handleContentOutlineSelection(event.getSelection());
+							setSelection(event.getSelection());
 						}
 					});
 
@@ -148,7 +150,7 @@
 	 * 
 	 * @param selection
 	 */
-	protected void handleContentOutlineSelection(ISelection selection) {
+	public void setSelection(ISelection selection) {
 
 		if (selection instanceof IStructuredSelection) {
 			IStructuredSelection ss = (IStructuredSelection) selection;
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/page/OthersPage.java b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/page/OthersPage.java
index 0e1592d..b894345 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/page/OthersPage.java
+++ b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/page/OthersPage.java
@@ -18,6 +18,7 @@
 import org.eclipse.emf.common.notify.AdapterFactory;
 import org.eclipse.emf.common.notify.Notification;
 import org.eclipse.emf.common.notify.impl.AdapterImpl;
+import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
 import org.eclipse.emf.edit.domain.EditingDomain;
 import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;
@@ -26,20 +27,20 @@
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.ISelectionChangedListener;
 import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.viewers.SelectionChangedEvent;
 import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.jface.viewers.TreeViewer;
 import org.eclipse.jface.viewers.Viewer;
 import org.eclipse.jface.viewers.ViewerFilter;
 import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.jst.jsf.facesconfig.common.CommonPlugin;
 import org.eclipse.jst.jsf.facesconfig.emf.ApplicationType;
 import org.eclipse.jst.jsf.facesconfig.emf.FacesConfigPackage;
 import org.eclipse.jst.jsf.facesconfig.emf.FacesConfigType;
 import org.eclipse.jst.jsf.facesconfig.emf.FactoryType;
 import org.eclipse.jst.jsf.facesconfig.emf.LifecycleType;
+import org.eclipse.jst.jsf.facesconfig.ui.EditorPlugin;
 import org.eclipse.jst.jsf.facesconfig.ui.FacesConfigEditor;
-import org.eclipse.jst.jsf.facesconfig.ui.IconResources;
 import org.eclipse.jst.jsf.facesconfig.ui.NewEditorResourcesNLS;
 import org.eclipse.jst.jsf.facesconfig.ui.section.AbstractFacesConfigSection;
 import org.eclipse.jst.jsf.facesconfig.ui.section.ApplicationSection;
@@ -73,8 +74,10 @@
 public class OthersPage extends FormPage implements IFacesConfigPage,
 		ISelectionProvider, ISelectionChangedListener {
 
-	private final static Image BANNER_IMAGE = CommonPlugin.getDefault()
-			.getImage(IconResources.getString("Common.formbanner"));
+	public static final String PAGE_ID = "org.eclipse.jst.jsf.facesconfig.ui.page.OthersPage";
+
+	private final static Image BANNER_IMAGE = EditorPlugin.getDefault()
+			.getImage("form_banner.gif");
 
 	private List leftSections;
 
@@ -450,12 +453,6 @@
 		selectionChangedListeners.remove(listener);
 	}
 
-	public void setSelection(ISelection selection) {
-		// TODO Auto-generated method stub
-		if (selection != null && getActiveSection() != null)
-			getActiveSection().setSelection(selection);
-	}
-
 	public void selectionChanged(SelectionChangedEvent event) {
 
 		if (event.getSource() instanceof OthersPageBaseSection) {
@@ -641,7 +638,7 @@
 					.addSelectionChangedListener(new ISelectionChangedListener() {
 						// This ensures that we handle selections correctly.
 						public void selectionChanged(SelectionChangedEvent event) {
-							handleContentOutlineSelection(event.getSelection());
+							setSelection(event.getSelection());
 						}
 					});
 
@@ -656,49 +653,76 @@
 	 * 
 	 * @param selection
 	 */
-	protected void handleContentOutlineSelection(ISelection selection) {
+	public void setSelection(ISelection selection) {
 
-		//TODO sfshi
-		
-		// if (selection instanceof IStructuredSelection) {
-		// IStructuredSelection ss = (IStructuredSelection) selection;
-		// EObject component = null;
-		// if (ss.getFirstElement() instanceof AttributeType
-		// || ss.getFirstElement() instanceof PropertyType
-		// || ss.getFirstElement() instanceof FacetType
-		// || ss.getFirstElement() instanceof RendererType) {
-		// component = ((EObject) ss.getFirstElement()).eContainer();
-		// } else if (ss.getFirstElement() instanceof EObject) {
-		// component = (EObject) ss.getFirstElement();
-		// }
-		//
-		// if (component != null) {
-		// FacesConfigMasterSection section = null;
-		// if (FacesConfigPackage.eINSTANCE.getComponentType().isInstance(
-		// component)) {
-		// section = facesConfigMasterSections[0];
-		// } else if (FacesConfigPackage.eINSTANCE.getConverterType()
-		// .isInstance(component)) {
-		// section = facesConfigMasterSections[1];
-		// } else if (FacesConfigPackage.eINSTANCE.getRenderKitType()
-		// .isInstance(component)) {
-		// section = facesConfigMasterSections[2];
-		// } else if (FacesConfigPackage.eINSTANCE.getValidatorType()
-		// .isInstance(component)) {
-		// section = facesConfigMasterSections[3];
-		// }
-		//
-		// if (!section.getSection().isExpanded()) {
-		// this.closeOtherSections(section);
-		// GridData gd = new GridData(GridData.FILL_BOTH);
-		// section.getSection().setLayoutData(gd);
-		// section.getSection().setExpanded(true);
-		// }
-		// IStructuredSelection newselection = new StructuredSelection(
-		// component);
-		// section.getStructuredViewer().setSelection(newselection);
-		// }
-		// }
+		if (selection instanceof IStructuredSelection) {
+			IStructuredSelection ss = (IStructuredSelection) selection;
+			if (ss.isEmpty())
+				return;
 
+			EObject object = (EObject) ss.getFirstElement();
+			OthersPageBaseSection section = null;
+
+			if (FacesConfigPackage.eINSTANCE.getActionListenerType()
+					.isInstance(object)) {
+				section = (OthersPageBaseSection) leftSections.get(0);
+			} else if (FacesConfigPackage.eINSTANCE.getDefaultRenderKitIdType()
+					.isInstance(object)) {
+				section = (OthersPageBaseSection) leftSections.get(1);
+			} else if (FacesConfigPackage.eINSTANCE.getLocaleConfigType()
+					.isInstance(object)) {
+				section = (OthersPageBaseSection) leftSections.get(2);
+			} else if (FacesConfigPackage.eINSTANCE.getDefaultLocaleType()
+					.isInstance(object)) {
+				section = (OthersPageBaseSection) leftSections.get(2);
+			} else if (FacesConfigPackage.eINSTANCE.getSupportedLocaleType()
+					.isInstance(object)) {
+				section = (OthersPageBaseSection) leftSections.get(2);
+			} else if (FacesConfigPackage.eINSTANCE.getMessageBundleType()
+					.isInstance(object)) {
+				section = (OthersPageBaseSection) leftSections.get(3);
+			} else if (FacesConfigPackage.eINSTANCE.getNavigationHandlerType()
+					.isInstance(object)) {
+				section = (OthersPageBaseSection) leftSections.get(4);
+			} else if (FacesConfigPackage.eINSTANCE.getPropertyResolverType()
+					.isInstance(object)) {
+				section = (OthersPageBaseSection) leftSections.get(5);
+			} else if (FacesConfigPackage.eINSTANCE.getStateManagerType()
+					.isInstance(object)) {
+				section = (OthersPageBaseSection) leftSections.get(6);
+			} else if (FacesConfigPackage.eINSTANCE.getVariableResolverType()
+					.isInstance(object)) {
+				section = (OthersPageBaseSection) leftSections.get(7);
+			} else if (FacesConfigPackage.eINSTANCE.getViewHandlerType()
+					.isInstance(object)) {
+				section = (OthersPageBaseSection) leftSections.get(8);
+			} else if (FacesConfigPackage.eINSTANCE.getApplicationFactoryType()
+					.isInstance(object)) {
+				section = (OthersPageBaseSection) rightSections.get(0);
+			} else if (FacesConfigPackage.eINSTANCE
+					.getFacesContextFactoryType().isInstance(object)) {
+				section = (OthersPageBaseSection) rightSections.get(1);
+			} else if (FacesConfigPackage.eINSTANCE.getLifecycleFactoryType()
+					.isInstance(object)) {
+				section = (OthersPageBaseSection) rightSections.get(2);
+			} else if (FacesConfigPackage.eINSTANCE.getRenderKitFactoryType()
+					.isInstance(object)) {
+				section = (OthersPageBaseSection) rightSections.get(3);
+			} else if (FacesConfigPackage.eINSTANCE.getPhaseListenerType()
+					.isInstance(object)) {
+				section = (OthersPageBaseSection) rightSections.get(4);
+			}
+			if (section != null) {
+				if (!section.getSection().isExpanded()) {
+					this.closeOtherSections(section);
+					GridData gd = new GridData(GridData.FILL_BOTH);
+					section.getSection().setLayoutData(gd);
+					section.getSection().setExpanded(true);
+				}
+				IStructuredSelection newselection = new StructuredSelection(
+						object);
+				section.getTableViewer().setSelection(newselection);
+			}
+		}
 	}
 }
\ No newline at end of file
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/page/OverviewPage.java b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/page/OverviewPage.java
index 9ffa4ef..1faf20b 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/page/OverviewPage.java
+++ b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/page/OverviewPage.java
@@ -17,8 +17,8 @@
 import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.jst.jsf.facesconfig.emf.FacesConfigType;
 import org.eclipse.jst.jsf.facesconfig.ui.EditorPlugin;
-import org.eclipse.jst.jsf.facesconfig.ui.EditorResourcesNLS;
 import org.eclipse.jst.jsf.facesconfig.ui.FacesConfigEditor;
+import org.eclipse.jst.jsf.facesconfig.ui.NewEditorResourcesNLS;
 import org.eclipse.jst.jsf.facesconfig.ui.section.OverviewComponentsSection;
 import org.eclipse.jst.jsf.facesconfig.ui.section.OverviewGeneralSection;
 import org.eclipse.jst.jsf.facesconfig.ui.section.OverviewManagedBeanSection;
@@ -74,7 +74,7 @@
 	protected void createFormContent(IManagedForm managedForm) {
 
 		ScrolledForm form = managedForm.getForm();
-		form.setText(EditorResourcesNLS.OverviewPage_PageflowOverview_summary);
+		form.setText(NewEditorResourcesNLS.OverviewPage_PageflowOverview_summary);
 		form.setBackgroundImage(EditorPlugin.getDefault().getImage(
 				"form_banner.gif")); //$NON-NLS-1$
 		Composite body = form.getBody();
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/PageflowEditor.java b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/PageflowEditor.java
index 991ea75..1d08b95 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/PageflowEditor.java
+++ b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/PageflowEditor.java
@@ -83,7 +83,7 @@
 import org.eclipse.jst.jsf.facesconfig.ui.pageflow.editpart.INodePreference;
 import org.eclipse.jst.jsf.facesconfig.ui.pageflow.editpart.PageflowEditPartsFactory;
 import org.eclipse.jst.jsf.facesconfig.ui.pageflow.editpart.PageflowNodeEditPart;
-import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PFPage;
+import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PageflowPage;
 import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.Pageflow;
 import org.eclipse.jst.jsf.facesconfig.ui.pageflow.util.PageflowAnnotationUtil;
 import org.eclipse.jst.jsf.facesconfig.ui.pageflow.util.PageflowModelManager;
@@ -308,7 +308,7 @@
 		addEditPartAction(new ShowPropertyViewAction((IWorkbenchPart) this));
 
 		// Allows showing property view for the pageflow
-		addEditPartAction(new ShowPaletteViewAction((IWorkbenchPart) this));
+		// addEditPartAction(new ShowPaletteViewAction((IWorkbenchPart) this));
 
 		// register alignment actions
 		addEditPartAction(new AlignmentAction((IWorkbenchPart) this,
@@ -418,7 +418,7 @@
 
 		// initialize the viewer with input
 		viewer.setEditPartFactory(new PageflowEditPartsFactory());
-		 viewer.setContents(getPageflow());
+//		 viewer.setContents(getPageflow());
 
 		// support the resource drag&drop
 		viewer
@@ -430,7 +430,7 @@
 				});
 
 		// apply Editor's preferences
-		propertyChange(null);
+//		propertyChange(null);
 		// add listener to Editor's preferences changing
 		EditorPlugin.getDefault().getPreferenceStore()
 				.addPropertyChangeListener(this);
@@ -809,6 +809,11 @@
 	public GraphicalViewer getGraphicalViewer() {
 		return viewer;
 	}
+	
+	public void setGraphicalViewerContents(Object contents){
+		viewer.setContents(contents);
+		propertyChange(null);
+	}
 
 	/*
 	 * (non-Javadoc)
@@ -1141,7 +1146,7 @@
 	 * @param fullPath
 	 */
 	public void webPageChanged(IPath fullPath) {
-		PFPage page = getPageflowManager().foundPage(
+		PageflowPage page = getPageflowManager().foundPage(
 				WebrootUtil.getWebPath(fullPath));
 
 		if (page != null && getGraphicalViewer() != null
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/PageflowEditorContextMenuProvider.java b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/PageflowEditorContextMenuProvider.java
index 86ce278..4679a89 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/PageflowEditorContextMenuProvider.java
+++ b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/PageflowEditorContextMenuProvider.java
@@ -95,11 +95,11 @@
 			submenu.add(action);
 		}
 
-		action = getActionRegistry().getAction(
-				ShowPaletteViewAction.SHOW_PALETTE_VIEW);
-		if (null != action && action.isEnabled()) {
-			submenu.add(action);
-		}
+//		action = getActionRegistry().getAction(
+//				ShowPaletteViewAction.SHOW_PALETTE_VIEW);
+//		if (null != action && action.isEnabled()) {
+//			submenu.add(action);
+//		}
 
 		if (!submenu.isEmpty()) {
 			menuManager.appendToGroup(GEFActionConstants.GROUP_REST, submenu);
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/PageflowMessages.properties b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/PageflowMessages.properties
index bbb29d9..4e26800 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/PageflowMessages.properties
+++ b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/PageflowMessages.properties
@@ -95,6 +95,9 @@
 Pageflow.Model.Attributes.outcome = from-outcome
 Pageflow.Model.Attributes.redirect = redirect
 
+Pageflow.Model.Attributes.fromaction = from-action
+Pageflow.Model.Attributes.referenceLink = reference
+
 Pageflow.Model.Items.Pageflow = File
 Pageflow.Model.Items.PFBegin = Begin
 Pageflow.Model.Items.PFEnd = End
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/PageflowPaletteRoot.java b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/PageflowPaletteRoot.java
index 316da5f..b68938d 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/PageflowPaletteRoot.java
+++ b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/PageflowPaletteRoot.java
@@ -24,8 +24,8 @@
 import org.eclipse.jst.jsf.facesconfig.ui.EditorPlugin;
 import org.eclipse.jst.jsf.facesconfig.ui.EditorResources;
 import org.eclipse.jst.jsf.facesconfig.ui.IconResources;
-import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PFLink;
-import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PFPage;
+import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PageflowLink;
+import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PageflowPage;
 import org.eclipse.jst.jsf.facesconfig.ui.pageflow.util.ModelCreationFactory;
 
 /**
@@ -77,7 +77,7 @@
 						"Pageflow.PaletteTool.Link.Label"), //$NON-NLS-1$
 				EditorResources.getInstance().getString(
 						"Pageflow.PaletteTool.Link.Description"), //$NON-NLS-1$
-				new ModelCreationFactory(PFLink.class),
+				new ModelCreationFactory(PageflowLink.class),
 				EditorPlugin.getDefault().getImageDescriptor(
 						IconResources.getString("Pageflow.link.small")), //$NON-NLS-1$
 				EditorPlugin.getDefault().getImageDescriptor(
@@ -102,7 +102,7 @@
 						"Pageflow.PaletteTool.Page.Label"), //$NON-NLS-1$
 				EditorResources.getInstance().getString(
 						"Pageflow.PaletteTool.Page.Description"), //$NON-NLS-1$
-				PFPage.class, new ModelCreationFactory(PFPage.class),
+				PageflowPage.class, new ModelCreationFactory(PageflowPage.class),
 				EditorPlugin.getDefault().getImageDescriptor(
 						IconResources.getString("Pageflow.page.small")), //$NON-NLS-1$
 				EditorPlugin.getDefault().getImageDescriptor(
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/action/OpenEditorAction.java b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/action/OpenEditorAction.java
index a5d69ac..dbdb51b 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/action/OpenEditorAction.java
+++ b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/action/OpenEditorAction.java
@@ -21,7 +21,7 @@
 import org.eclipse.gef.ui.actions.SelectionAction;
 import org.eclipse.jst.jsf.facesconfig.ui.EditorResources;
 import org.eclipse.jst.jsf.facesconfig.ui.FacesConfigEditor;
-import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PFPage;
+import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PageflowPage;
 import org.eclipse.ui.IWorkbenchPart;
 
 /**
@@ -82,7 +82,7 @@
 				return false;
 			}
 			EditPart part = (EditPart) o;
-			if (!(part.getModel() instanceof PFPage)) {
+			if (!(part.getModel() instanceof PageflowPage)) {
 				return false;
 			}
 		}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/command/BendpointCommand.java b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/command/BendpointCommand.java
index fb91977..cf03f6c 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/command/BendpointCommand.java
+++ b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/command/BendpointCommand.java
@@ -15,7 +15,7 @@
 import org.eclipse.draw2d.geometry.Dimension;
 import org.eclipse.draw2d.geometry.Point;
 import org.eclipse.gef.commands.Command;
-import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PFLink;
+import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PageflowLink;
 
 /**
  * base class for bend point commands.
@@ -29,7 +29,7 @@
 	protected Point location;
 
 	/** the parent link */
-	protected PFLink link;
+	protected PageflowLink link;
 
 	/** relative dimension between the bendpoint with start point of the pflink */
 	private Dimension dimStart;
@@ -82,7 +82,7 @@
 	 * 
 	 * @return - parent link
 	 */
-	protected PFLink getPFLink() {
+	protected PageflowLink getPFLink() {
 		return link;
 	}
 
@@ -134,7 +134,7 @@
 	 * @param newLink -
 	 *            new parent pflink
 	 */
-	public void setPFLink(PFLink newLink) {
+	public void setPFLink(PageflowLink newLink) {
 		link = newLink;
 	}
 }
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/command/ConnectionCommand.java b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/command/ConnectionCommand.java
index 86d8eaa..412b10d 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/command/ConnectionCommand.java
+++ b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/command/ConnectionCommand.java
@@ -15,7 +15,7 @@
 import org.eclipse.gef.commands.Command;
 import org.eclipse.jst.jsf.facesconfig.ui.EditorResources;
 import org.eclipse.jst.jsf.facesconfig.ui.pageflow.layout.PageflowLayoutManager;
-import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PFLink;
+import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PageflowLink;
 import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.Pageflow;
 import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PageflowNode;
 import org.eclipse.jst.jsf.facesconfig.ui.pageflow.util.PageflowValidation;
@@ -39,7 +39,7 @@
 	protected PageflowNode target;
 
 	/** pageflow link */
-	protected PFLink link;
+	protected PageflowLink link;
 
 	public ConnectionCommand() {
 		// Pageflow.Commands.ConnectionCommand.Label = Connection
@@ -255,7 +255,7 @@
 	 * 
 	 * @return - the pageflow link.
 	 */
-	public PFLink getPFLink() {
+	public PageflowLink getPFLink() {
 		return link;
 	}
 
@@ -285,7 +285,7 @@
 	 * @param link -
 	 *            new pageflow link
 	 */
-	public void setPFLink(PFLink link) {
+	public void setPFLink(PageflowLink link) {
 		this.link = link;
 		oldSource = link.getSource();
 		oldTarget = link.getTarget();
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/command/CreateBendpointCommand.java b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/command/CreateBendpointCommand.java
index ae643e1..a0a2285 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/command/CreateBendpointCommand.java
+++ b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/command/CreateBendpointCommand.java
@@ -16,7 +16,7 @@
 
 import org.eclipse.emf.ecore.EPackage;
 import org.eclipse.jst.jsf.facesconfig.ui.EditorResources;
-import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PFLinkBendpoint;
+import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PageflowLinkBendpoint;
 import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PageflowFactory;
 import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PageflowPackage;
 
@@ -43,7 +43,7 @@
 		PageflowPackage pageflowPackage = (PageflowPackage) registry
 				.get(pageflowURI);
 		PageflowFactory factory = pageflowPackage.getPageflowFactory();
-		PFLinkBendpoint _newBendpoint = factory.createPFLinkBendpoint();
+		PageflowLinkBendpoint _newBendpoint = factory.createPFLinkBendpoint();
 
 		_newBendpoint.setRelativeDimensions(getFirstRelativeDimension(),
 				getSecondRelativeDimension());
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/command/CreateNodeCommand.java b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/command/CreateNodeCommand.java
index f1d28cb..2a0eb7b 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/command/CreateNodeCommand.java
+++ b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/command/CreateNodeCommand.java
@@ -21,7 +21,7 @@
 import org.eclipse.jst.jsf.facesconfig.common.dialogs.CommonResourceDialog;
 import org.eclipse.jst.jsf.facesconfig.ui.EditorPlugin;
 import org.eclipse.jst.jsf.facesconfig.ui.EditorResources;
-import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PFPage;
+import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PageflowPage;
 import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.Pageflow;
 import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PageflowNode;
 import org.eclipse.jst.jsf.facesconfig.ui.pageflow.util.PageflowValidation;
@@ -170,8 +170,8 @@
 							return false;
 						}
 
-						((PFPage) (child)).setPath(jsfSelection);
-						((PFPage) (child)).setName(WebrootUtil
+						((PageflowPage) (child)).setPath(jsfSelection);
+						((PageflowPage) (child)).setName(WebrootUtil
 								.getPageNameFromWebPath(jsfSelection));
 					}
 
@@ -229,12 +229,12 @@
 	public boolean preExecute() {
 		// note that the model adds the ports to the node in this call
 		// pop up the new the wizard to create the new jsf file
-		if (child instanceof PFPage) {
+		if (child instanceof PageflowPage) {
 			// if the new page's file path is not empty, i.e., drag a file from
 			// resource navigator view
-			if (null != ((PFPage) child).getPath()) {
+			if (null != ((PageflowPage) child).getPath()) {
 				if (PageflowValidation.getInstance().isExistedPage(parent,
-						(PFPage) child)) {
+						(PageflowPage) child)) {
 					// Pageflow.PageflowEditor.Alert.DNDResourceTitle = Pageflow
 					// Creation Error
 					// Pageflow.PageflowEditor.Alert.ExistingPage = The web page
@@ -242,7 +242,7 @@
 					EditorPlugin.getAlerts().error(
 							"Pageflow.PageflowEditor.Alert.DNDResourceTitle",
 							"Pageflow.PageflowEditor.Alert.ExistingPage",
-							((PFPage) child).getPath());
+							((PageflowPage) child).getPath());
 					return false;
 				}
 			} else
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/command/DeleteBendpointCommand.java b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/command/DeleteBendpointCommand.java
index 749bfeb..3505a59 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/command/DeleteBendpointCommand.java
+++ b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/command/DeleteBendpointCommand.java
@@ -13,7 +13,7 @@
 package org.eclipse.jst.jsf.facesconfig.ui.pageflow.command;
 
 import org.eclipse.jst.jsf.facesconfig.ui.EditorResources;
-import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PFLinkBendpoint;
+import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PageflowLinkBendpoint;
 
 /**
  * 
@@ -21,7 +21,7 @@
 public class DeleteBendpointCommand extends BendpointCommand {
 
 	/** the deleting bendpoint */
-	private PFLinkBendpoint bendpoint;
+	private PageflowLinkBendpoint bendpoint;
 
 	public DeleteBendpointCommand() {
 
@@ -38,7 +38,7 @@
 	 */
 	public void execute() {
 		super.execute();
-		bendpoint = (PFLinkBendpoint) getPFLink().getBendPoints().get(
+		bendpoint = (PageflowLinkBendpoint) getPFLink().getBendPoints().get(
 				getIndex());
 		getPFLink().removeBendpoint(getIndex());
 	}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/command/DeleteNodeCommand.java b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/command/DeleteNodeCommand.java
index 0b79261..dac8bb7 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/command/DeleteNodeCommand.java
+++ b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/command/DeleteNodeCommand.java
@@ -17,7 +17,7 @@
 
 import org.eclipse.gef.commands.Command;
 import org.eclipse.jst.jsf.facesconfig.ui.EditorResources;
-import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PFLink;
+import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PageflowLink;
 import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.Pageflow;
 import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PageflowNode;
 
@@ -95,7 +95,7 @@
 			// Note:should save the source and target of the link, otherwise
 			// source and target will be lost,
 			// when the source and target node remove the link.
-			PFLink link = (PFLink) node.getOutlinks().get(0);
+			PageflowLink link = (PageflowLink) node.getOutlinks().get(0);
 			sourceConnections.add(link);
 			sourceConnectionSources.add(link.getSource());
 			sourceConnectionTargets.add(link.getTarget());
@@ -109,7 +109,7 @@
 			// Note: should save the source and target of the link, otherwise
 			// source and target will be lost,
 			// when the source and target node remove the link.
-			PFLink link = (PFLink) node.getInlinks().get(0);
+			PageflowLink link = (PageflowLink) node.getInlinks().get(0);
 			targetConnections.add(link);
 			targetConnectionSources.add(link.getSource());
 			targetConnectionTargets.add(link.getTarget());
@@ -140,7 +140,7 @@
 	private void restoreConnections(PageflowNode node) {
 		for (int i = 0; i < sourceConnections.size(); i++) {
 			// restore the link with the source and target
-			PFLink link = (PFLink) sourceConnections.get(i);
+			PageflowLink link = (PageflowLink) sourceConnections.get(i);
 			PageflowNode source = (PageflowNode) sourceConnectionSources.get(i);
 			PageflowNode target = (PageflowNode) sourceConnectionTargets.get(i);
 			link.setSource(source);
@@ -153,7 +153,7 @@
 		sourceConnections.clear();
 		for (int i = 0; i < targetConnections.size(); i++) {
 			// restore the link with the source and target
-			PFLink link = (PFLink) targetConnections.get(i);
+			PageflowLink link = (PageflowLink) targetConnections.get(i);
 			PageflowNode source = (PageflowNode) targetConnectionSources.get(i);
 			PageflowNode target = (PageflowNode) targetConnectionTargets.get(i);
 			link.setSource(source);
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/command/MoveBendpointCommand.java b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/command/MoveBendpointCommand.java
index d5a9d31..0927476 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/command/MoveBendpointCommand.java
+++ b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/command/MoveBendpointCommand.java
@@ -16,7 +16,7 @@
 
 import org.eclipse.emf.ecore.EPackage;
 import org.eclipse.jst.jsf.facesconfig.ui.EditorResources;
-import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PFLinkBendpoint;
+import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PageflowLinkBendpoint;
 import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PageflowFactory;
 import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PageflowPackage;
 
@@ -27,7 +27,7 @@
 	/**
 	 * old bend point of the link
 	 */
-	private PFLinkBendpoint oldBendpoint;
+	private PageflowLinkBendpoint oldBendpoint;
 
 	public MoveBendpointCommand() {
 		// Pageflow.Commands.MoveBendpointCommand.Label = Move Bendpoint
@@ -46,11 +46,11 @@
 		PageflowPackage pageflowPackage = (PageflowPackage) registry
 				.get(pageflowURI);
 		PageflowFactory factory = pageflowPackage.getPageflowFactory();
-		PFLinkBendpoint _newBendpoint = factory.createPFLinkBendpoint();
+		PageflowLinkBendpoint _newBendpoint = factory.createPFLinkBendpoint();
 
 		_newBendpoint.setRelativeDimensions(getFirstRelativeDimension(),
 				getSecondRelativeDimension());
-		setOldBendpoint((PFLinkBendpoint) getPFLink().getBendPoints().get(
+		setOldBendpoint((PageflowLinkBendpoint) getPFLink().getBendPoints().get(
 				getIndex()));
 
 		getPFLink().setBendpoint(getIndex(), _newBendpoint);
@@ -62,7 +62,7 @@
 	 * 
 	 * @return - old bend point
 	 */
-	protected PFLinkBendpoint getOldBendpoint() {
+	protected PageflowLinkBendpoint getOldBendpoint() {
 		return oldBendpoint;
 	}
 
@@ -72,7 +72,7 @@
 	 * @param bp -
 	 *            old bend point
 	 */
-	public void setOldBendpoint(PFLinkBendpoint bp) {
+	public void setOldBendpoint(PageflowLinkBendpoint bp) {
 		oldBendpoint = bp;
 	}
 
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/command/OpenEditorCommand.java b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/command/OpenEditorCommand.java
index 784ad70..590c5e0 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/command/OpenEditorCommand.java
+++ b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/command/OpenEditorCommand.java
@@ -22,7 +22,7 @@
 import org.eclipse.jst.jsf.facesconfig.ui.EditorPlugin;
 import org.eclipse.jst.jsf.facesconfig.ui.EditorResources;
 import org.eclipse.jst.jsf.facesconfig.ui.FacesConfigEditor;
-import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PFPage;
+import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PageflowPage;
 import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.impl.PageflowNodeImpl;
 import org.eclipse.jst.jsf.facesconfig.ui.util.WebrootUtil;
 import org.eclipse.swt.widgets.Display;
@@ -91,7 +91,7 @@
 	 */
 	private void executeOpenPFPage() {
 		IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
-		String pagePath = ((PFPage) (part.getModel())).getPath();
+		String pagePath = ((PageflowPage) (part.getModel())).getPath();
 
 		// Check the fileName is empty or not
 		if (pagePath != null && pagePath.length() > 0) {
@@ -169,7 +169,7 @@
 		} else
 		// otherwise, pop-up a error message box
 		{
-			String pagePath = ((PFPage) (part.getModel())).getPath();
+			String pagePath = ((PageflowPage) (part.getModel())).getPath();
 			// Pageflow.PageflowEditor.Alert.errorOpenEditor4JSFTitle = Open JSF
 			// File Error
 			// Pageflow.PageflowEditor.Alert.errorOpenEditor4JSFInfo = The JSF
@@ -217,7 +217,7 @@
 	 * Executes the OpenEditorCommand and opens the editor
 	 */
 	public void execute() {
-		if (part.getModel() instanceof PFPage) {
+		if (part.getModel() instanceof PageflowPage) {
 			executeOpenPFPage();
 		}
 
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/editpart/PageflowEditPart.java b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/editpart/PageflowEditPart.java
index 10013cc..297a63f 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/editpart/PageflowEditPart.java
+++ b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/editpart/PageflowEditPart.java
@@ -33,6 +33,7 @@
 import org.eclipse.gef.SnapToGrid;
 import org.eclipse.gef.SnapToGuides;
 import org.eclipse.gef.SnapToHelper;
+import org.eclipse.gef.editparts.AbstractEditPart;
 import org.eclipse.gef.editparts.GridLayer;
 import org.eclipse.gef.editpolicies.RootComponentEditPolicy;
 import org.eclipse.gef.editpolicies.SnapFeedbackPolicy;
@@ -184,6 +185,7 @@
 
 		case Notification.SET:
 			refreshVisuals();
+			refreshChildren();
 			break;
 		}
 
@@ -197,6 +199,9 @@
 	 */
 	protected void refreshVisuals() {
 		super.refreshVisuals();
+		for (int i = 0; i < this.getChildren().size(); i++) {
+			((AbstractEditPart) getChildren().get(i)).refresh();
+		}
 		ConnectionLayer cLayer = (ConnectionLayer) getLayer(CONNECTION_LAYER);
 
 		if (cLayer.getConnectionRouter() == null) {
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/editpart/PageflowEditPartsFactory.java b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/editpart/PageflowEditPartsFactory.java
index 5b7de6f..fe57235 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/editpart/PageflowEditPartsFactory.java
+++ b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/editpart/PageflowEditPartsFactory.java
@@ -14,7 +14,7 @@
 
 import org.eclipse.gef.EditPart;
 import org.eclipse.gef.EditPartFactory;
-import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PFLink;
+import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PageflowLink;
 import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.Pageflow;
 import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PageflowNode;
 
@@ -35,8 +35,8 @@
 			return new PageflowEditPart((Pageflow) obj);
 		} else if (obj instanceof PageflowNode) {
 			return new PageflowNodeEditPart((PageflowNode) obj);
-		} else if (obj instanceof PFLink) {
-			return new PFLinkEditPart((PFLink) obj);
+		} else if (obj instanceof PageflowLink) {
+			return new PageflowLinkEditPart((PageflowLink) obj);
 		}
 		return null;
 	}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/editpart/PageflowElementEditPart.java b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/editpart/PageflowElementEditPart.java
index c348081..0ec0b0d 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/editpart/PageflowElementEditPart.java
+++ b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/editpart/PageflowElementEditPart.java
@@ -30,7 +30,7 @@
 import org.eclipse.jst.jsf.facesconfig.ui.EditorPlugin;
 import org.eclipse.jst.jsf.facesconfig.ui.IconResources;
 import org.eclipse.jst.jsf.facesconfig.ui.pageflow.figure.PageflowNodeFigure;
-import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PFPage;
+import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PageflowPage;
 import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.Pageflow;
 import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PageflowElement;
 import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PageflowPackage;
@@ -91,7 +91,7 @@
 		if (image == null) {
 			ImageDescriptor imageDescriptor = null;
 
-			if (element instanceof PFPage) {
+			if (element instanceof PageflowPage) {
 				imageDescriptor = IMG_PAGE;
 			} else {
 				imageDescriptor = IMG_NODE;
@@ -120,7 +120,7 @@
 	public static String getTypeName(PageflowElement element) {
 		if (element instanceof Pageflow) {
 			return "Pageflow"; //$NON-NLS-1$
-		} else if (element instanceof PFPage) {
+		} else if (element instanceof PageflowPage) {
 			return "Page"; //$NON-NLS-1$
 		}
 
@@ -278,9 +278,7 @@
 	 */
 	protected void hookIntoPageflowElement(PageflowElement element) {
 		if (null != element) {
-			if (!element.eAdapters().contains(FC2PFTransformer.getInstance())) {
-				element.eAdapters().add(FC2PFTransformer.getInstance());
-			}
+			FC2PFTransformer.getInstance().adapt(element);
 			if (!element.eAdapters().contains(this)) {
 				element.eAdapters().add(this);
 			}
@@ -297,7 +295,7 @@
 	protected void unhookFromPageflowElement(PageflowElement element) {
 		if (null != element) {
 			element.eAdapters().remove(this);
-			element.eAdapters().remove(FC2PFTransformer.getInstance());
+//			FC2PFTransformer.getInstance().unAdapt(element);
 		}
 	}
 
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/editpart/PageflowElementTreeEditPart.java b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/editpart/PageflowElementTreeEditPart.java
index 7bd6212..839ab84 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/editpart/PageflowElementTreeEditPart.java
+++ b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/editpart/PageflowElementTreeEditPart.java
@@ -19,7 +19,7 @@
 import org.eclipse.jface.resource.ImageDescriptor;
 import org.eclipse.jst.jsf.facesconfig.ui.EditorPlugin;
 import org.eclipse.jst.jsf.facesconfig.ui.IconResources;
-import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PFPage;
+import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PageflowPage;
 import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PageflowElement;
 import org.eclipse.jst.jsf.facesconfig.ui.pageflow.properties.PageflowElementPropertySource;
 import org.eclipse.swt.graphics.Image;
@@ -65,7 +65,7 @@
 	public static Image getImage(PageflowElement element) {
 		ImageDescriptor imageDescriptor = null;
 
-		if (element instanceof PFPage) {
+		if (element instanceof PageflowPage) {
 			imageDescriptor = IMG_PAGE;
 		} else {
 			imageDescriptor = IMG_NODE;
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/editpart/PageflowLinkEditPart.java b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/editpart/PageflowLinkEditPart.java
new file mode 100644
index 0000000..b36eced
--- /dev/null
+++ b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/editpart/PageflowLinkEditPart.java
@@ -0,0 +1,525 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 2005 Sybase, Inc. and others.
+ *
+ * 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:
+ *     Sybase, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.jst.jsf.facesconfig.ui.pageflow.editpart;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.core.resources.IResource;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.RelativeBendpoint;
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.util.TreeIterator;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gef.EditPolicy;
+import org.eclipse.gef.editparts.AbstractConnectionEditPart;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.text.source.Annotation;
+import org.eclipse.jst.jsf.facesconfig.emf.NavigationCaseType;
+import org.eclipse.jst.jsf.facesconfig.ui.EditorPlugin;
+import org.eclipse.jst.jsf.facesconfig.ui.IconResources;
+import org.eclipse.jst.jsf.facesconfig.ui.pageflow.editpolicy.PFLinkBendpointEditPolicy;
+import org.eclipse.jst.jsf.facesconfig.ui.pageflow.editpolicy.PFLinkEditPolicy;
+import org.eclipse.jst.jsf.facesconfig.ui.pageflow.editpolicy.PFLinkEndpointEditPolicy;
+import org.eclipse.jst.jsf.facesconfig.ui.pageflow.figure.PFLinkFigure;
+import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PageflowLink;
+import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PageflowLinkBendpoint;
+import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PageflowPackage;
+import org.eclipse.jst.jsf.facesconfig.ui.pageflow.properties.PageflowElementPropertySource;
+import org.eclipse.jst.jsf.facesconfig.ui.pageflow.util.PageflowAnnotationUtil;
+import org.eclipse.jst.jsf.facesconfig.ui.preference.GEMPreferences;
+import org.eclipse.jst.jsf.facesconfig.ui.util.WebrootUtil;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.Font;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.ui.views.properties.IPropertySource;
+
+/**
+ * <code>PFLinkEditPart</code> is the EditPart for PFLink model elements. The
+ * figure for this EditPart is simply a PolylineConnection. Because both
+ * AbstractConnectionEditPart and the Adapter interface have a getTarget method,
+ * we use an inner class to implement the Adapter interface in order to work
+ * around the name collision.
+ * 
+ * 
+ */
+public class PageflowLinkEditPart extends AbstractConnectionEditPart implements
+		IConnectionPreference, IAnnotationEditPart {
+	/** adapter for notification */
+	private PFLinkAdapter adapter = new PFLinkAdapter();
+
+	private FCAdapter fcAdapter = new FCAdapter();
+
+	/** property source of the pflink */
+	private IPropertySource propertySource = null;
+
+	/** image description for different edit part */
+	public static final ImageDescriptor IMG_WARNING = EditorPlugin.getDefault()
+			.getImageDescriptor(
+					IconResources.getString("Pageflow.quickfixerrorobject"));
+
+	private int connectionStyle = -1;
+
+	private PFLinkBendpointEditPolicy bendpointEditPolicy;
+
+	/**
+	 * @param element
+	 */
+	public PageflowLinkEditPart(PageflowLink element) {
+		super();
+		// element.getPageflow()
+		setModel(element);
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see AbstractGraphicalEditPart#createFigure()
+	 */
+	protected IFigure createFigure() {
+		IFigure figure = new PFLinkFigure();
+		return figure;
+
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see AbstractEditPart#createEditPolicies()
+	 */
+	protected void createEditPolicies() {
+		installEditPolicy(EditPolicy.CONNECTION_ENDPOINTS_ROLE,
+				new PFLinkEndpointEditPolicy());
+
+		if (getConnectionRouterStyle() == ILayerPanePreference.LINE_ROUTING_MANUAL) {
+			installEditPolicy(EditPolicy.CONNECTION_BENDPOINTS_ROLE,
+					getBendpointEditPolicy());
+		}
+		PFLinkEditPolicy policy = new PFLinkEditPolicy();
+		// policy.setSseModel(model);
+		installEditPolicy(EditPolicy.CONNECTION_ROLE, new PFLinkEditPolicy());
+
+	}
+
+	private PFLinkBendpointEditPolicy getBendpointEditPolicy() {
+		if (bendpointEditPolicy == null) {
+			bendpointEditPolicy = new PFLinkBendpointEditPolicy();
+		}
+		return bendpointEditPolicy;
+	}
+
+	public PageflowLink getPFLink() {
+		return (PageflowLink) getModel();
+	}
+
+	private class FCAdapter implements Adapter {
+
+		public Notifier getTarget() {
+			// TODO Auto-generated method stub
+			return null;
+		}
+
+		public boolean isAdapterForType(Object type) {
+			return getModel().getClass() == type;
+		}
+
+		public void notifyChanged(Notification notification) {
+			int type = notification.getEventType();
+			int featureId = notification.getFeatureID(PageflowPackage.class);
+			// FC2PFTransformer.getInstance().NotifyChanged(notification,
+			// getPFLink());
+			switch (type) {
+			case Notification.ADD:
+			case Notification.ADD_MANY:
+			case Notification.REMOVE:
+			case Notification.SET:
+				// FIXME: need the more detailed updation.
+				refreshVisuals();
+				break;
+			}
+		}
+
+		public void setTarget(Notifier newTarget) {
+			// TODO Auto-generated method stub
+
+		}
+
+	}
+
+	private class PFLinkAdapter implements Adapter {
+		private Notifier _newTarget = null;
+
+		// private IPropertySource _propertySource = null;
+
+		/*
+		 * (non-Javadoc)
+		 * 
+		 * @see org.eclipse.emf.common.notify.Adapter#getTarget()
+		 */
+		public Notifier getTarget() {
+			return _newTarget;
+		}
+
+		/*
+		 * (non-Javadoc)
+		 * 
+		 * @see org.eclipse.emf.common.notify.Adapter#isAdapterForType(java.lang.Object)
+		 */
+		public boolean isAdapterForType(Object type) {
+			return getModel().getClass() == type;
+		}
+
+		/*
+		 * (non-Javadoc)
+		 * 
+		 * @see org.eclipse.emf.common.notify.Adapter#notifyChanged(org.eclipse.emf.common.notify.Notification)
+		 */
+		public void notifyChanged(Notification notification) {
+			int type = notification.getEventType();
+			int featureId = notification.getFeatureID(PageflowPackage.class);
+			// FC2PFTransformer.getInstance().NotifyChanged(notification,
+			// getPFLink());
+			switch (type) {
+			case Notification.ADD:
+			case Notification.ADD_MANY:
+			case Notification.REMOVE:
+			case Notification.SET:
+				if (featureId == PageflowPackage.PF_LINK__OUTCOME
+						|| featureId == PageflowPackage.PF_LINK__SOURCE
+						|| featureId == PageflowPackage.PF_LINK__TARGET) {
+					PageflowAnnotationUtil
+							.validateLink(PageflowLinkEditPart.this);
+				}
+
+				refreshVisuals();
+				break;
+			}
+		}
+
+		/*
+		 * (non-Javadoc)
+		 * 
+		 * @see org.eclipse.emf.common.notify.Adapter#setTarget(org.eclipse.emf.common.notify.Notifier)
+		 */
+		public void setTarget(Notifier newTarget) {
+			this._newTarget = newTarget;
+		}
+
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see EditPart#activate()
+	 */
+	public void activate() {
+		getPFLink().eAdapters().add(adapter);
+		PageflowLink element = (PageflowLink) getModel();
+		if (!element.getFCElements().isEmpty()) {
+			NavigationCaseType navCase = ((NavigationCaseType) element
+					.getFCElements().getData().get(0));
+			if (!navCase.eAdapters().contains(fcAdapter)) {
+				navCase.eAdapters().add(fcAdapter);
+				TreeIterator iterator = navCase.eAllContents();
+				while (iterator.hasNext()) {
+					EObject next = (EObject) iterator.next();
+					if (!next.eAdapters().contains(fcAdapter)) {
+						next.eAdapters().add(fcAdapter);
+					}
+				}
+			}
+		}
+		super.activate();
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see EditPart#deactivate()
+	 */
+	public void deactivate() {
+		// getPFLink().eAdapters().remove(adapter);
+		// PageflowLink element = (PageflowLink) getModel();
+		// NavigationCaseType navCase = ((NavigationCaseType) element
+		// .getFCElements().getData().get(0));
+		// navCase.eAdapters().remove(fcAdapter);
+		// TreeIterator iterator = navCase.eAllContents();
+		// while (iterator.hasNext()) {
+		// ((EObject) iterator.next()).eAdapters().remove(fcAdapter);
+		// }
+
+		super.deactivate();
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see IAdaptable#getAdapter(java.lang.Class)
+	 */
+	public Object getAdapter(Class key) {
+		/*
+		 * override the default behavior defined in AbstractEditPart which would
+		 * expect the model to be a property sourced. instead the editpart can
+		 * provide a property source
+		 */
+		if (key == IPropertySource.class) {
+			return getPropertySource();
+		}
+		return super.getAdapter(key);
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see PageflowElementEditPart#getPropertySource()
+	 */
+	protected IPropertySource getPropertySource() {
+		if (propertySource == null) {
+			propertySource = new PageflowElementPropertySource(getPFLink());
+		}
+		return propertySource;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see AbstractEditPart#refreshVisuals()
+	 */
+	protected void refreshVisuals() {
+		super.refreshVisuals();
+		resetLabel();
+		if (getConnectionRouterStyle() == ILayerPanePreference.LINE_ROUTING_MANUAL) {
+			refreshBendpoints();
+		}
+	}
+
+	/**
+	 * set the bendpoint constraints of the pflink connection
+	 * 
+	 */
+	protected void refreshBendpoints() {
+		// bendpoints stored in pflink
+		List modelConstraint = getPFLink().getBendPoints();
+		// bendpoint constraint list
+		List figureConstraint = new ArrayList();
+		for (int i = 0; i < modelConstraint.size(); i++) {
+			PageflowLinkBendpoint wbp = (PageflowLinkBendpoint) modelConstraint
+					.get(i);
+			RelativeBendpoint rbp = new RelativeBendpoint(getConnectionFigure());
+			rbp.setRelativeDimensions(wbp.getFirstRelativeDimension(), wbp
+					.getSecondRelativeDimension());
+			rbp.setWeight((i + 1) / ((float) modelConstraint.size() + 1));
+			figureConstraint.add(rbp);
+		}
+		// set the router constaints.
+		getConnectionFigure().setRoutingConstraint(figureConstraint);
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see com.sybase.stf.jmt.editors.pageflow.editparts.IConnectionPreference#setLineWidth(int)
+	 */
+	public void setLineWidth(int w) {
+		((PFLinkFigure) getFigure()).setLineWidth(w);
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see com.sybase.stf.jmt.editors.pageflow.editparts.IConnectionPreference#setLabelVisible(boolean)
+	 */
+	public void setLabelVisible(boolean b) {
+		((PFLinkFigure) getFigure()).setLabelVisible(b);
+
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see com.sybase.stf.jmt.editors.pageflow.editparts.IFigurePreference#setForegroundColor(org.eclipse.swt.graphics.Color)
+	 */
+	public void setForegroundColor(Color c) {
+		((PFLinkFigure) getFigure()).setForegroundColor(c);
+
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see com.sybase.stf.jmt.editors.pageflow.editparts.IFigurePreference#setBackgroundColor(org.eclipse.swt.graphics.Color)
+	 */
+	public void setBackgroundColor(Color c) {
+		((PFLinkFigure) getFigure()).setBackgroundColor(c);
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see com.sybase.stf.jmt.editors.pageflow.editparts.IFigurePreference#setFont(org.eclipse.swt.graphics.Font)
+	 */
+	public void setFont(Font f) {
+		((PFLinkFigure) getFigure()).setFont(f);
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see com.sybase.stf.jmt.editors.pageflow.editparts.IConnectionPreference#setLabelForeground(org.eclipse.swt.graphics.Color)
+	 */
+	public void setLabelForegroundColor(Color c) {
+		((PFLinkFigure) getFigure()).setLabelForegroundColor(c);
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see com.sybase.stf.jmt.editors.pageflow.editparts.IConnectionPreference#setLabelBackground(org.eclipse.swt.graphics.Color)
+	 */
+	public void setLabelBackgroundColor(Color c) {
+		((PFLinkFigure) getFigure()).setLabelBackgroundColor(c);
+	}
+
+	private boolean needDrawingLabel() {
+		return (((PageflowLink) getModel()).getOutcome() != null && ((PageflowLink) getModel())
+				.getOutcome().trim().length() > 0);
+	}
+
+	private boolean needDrawingAction() {
+		return (((PageflowLink) getModel()).getFromaction() != null && ((PageflowLink) getModel())
+				.getFromaction().trim().length() > 0);
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see com.sybase.stf.jmt.editors.pageflow.editparts.IEditPartDecorator#decorateEditPart()
+	 */
+	public void addAnnotation(final Annotation annotation) {
+		getViewer().getControl().getDisplay().asyncExec(new Runnable() {
+			public void run() {
+				((PFLinkFigure) getFigure()).setImage(getImage(IMG_WARNING));
+				((PFLinkFigure) getFigure()).setToolTipText(annotation
+						.getText());
+			}
+		});
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see com.sybase.stf.jmt.editors.pageflow.editparts.IEditPartDecorator#undecorateEditPart()
+	 */
+	public void removeAnnotation() {
+		getViewer().getControl().getDisplay().asyncExec(new Runnable() {
+			public void run() {
+				((PFLinkFigure) getFigure()).clearIcon();
+				resetLabel();
+			}
+		});
+	}
+