Browse Source

merged with GHServlet

svn path=/branches/mainsoft/JSF/mcs/; revision=90266
Igor Zelmanovich 18 years ago
parent
commit
8bf1d4e81d

+ 4 - 4
mcs/class/Mainsoft.Web/Mainsoft.Web.Hosting/AspNetFacesContext.cs

@@ -11,9 +11,9 @@ namespace Mainsoft.Web.Hosting
 	{
 		readonly FacesContext _facesContex;
 		readonly HttpContext _httpContext;
-		readonly IHttpHandler _handler;
+		readonly Page _handler;
 
-		public IHttpHandler Handler {
+		public Page Handler {
 			get { return _handler; }
 		}
 
@@ -21,13 +21,13 @@ namespace Mainsoft.Web.Hosting
 			get { return _httpContext; }
 		}
 
-		AspNetFacesContext (FacesContext facesContex, HttpContext httpContext, IHttpHandler handler) {
+		protected AspNetFacesContext (FacesContext facesContex, HttpContext httpContext, Page handler) {
 			_facesContex = facesContex;
 			_httpContext = httpContext;
 			_handler = handler;
 		}
 
-		public static AspNetFacesContext WrapFacesContext (FacesContext facesContex, HttpContext httpContext, IHttpHandler page) {
+		public static AspNetFacesContext WrapFacesContext (FacesContext facesContex, HttpContext httpContext, Page page) {
 			AspNetFacesContext ctx = new AspNetFacesContext (facesContex, httpContext, page);
 			FacesContext.setCurrentInstance (ctx);
 			return ctx;

+ 53 - 0
mcs/class/Mainsoft.Web/Mainsoft.Web.Hosting/BaseFacesStateManager.cs

@@ -0,0 +1,53 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using javax.faces.application;
+using javax.faces.component;
+using javax.faces.context;
+
+namespace Mainsoft.Web.Hosting
+{
+	public abstract class BaseFacesStateManager : StateManager
+	{
+		public override StateManager.SerializedView saveSerializedView (FacesContext facesContext) {
+			Object treeStruct = getTreeStructureToSave (facesContext);
+			Object compStates = getComponentStateToSave (facesContext);
+			SerializedView serializedView = new SerializedView (this, treeStruct, compStates);
+			return serializedView;
+		}
+
+		protected override Object getTreeStructureToSave (FacesContext facesContext) {
+			return null;
+		}
+
+		public override UIViewRoot restoreView (FacesContext facesContext,
+																 String viewId,
+																String renderKitId) {
+
+			UIViewRoot uiViewRoot = restoreTreeStructure (facesContext, viewId, renderKitId);
+			if (uiViewRoot != null) {
+				uiViewRoot.setViewId (viewId);
+				restoreComponentState (facesContext, uiViewRoot, renderKitId);
+				String restoredViewId = uiViewRoot.getViewId ();
+				if (restoredViewId == null || !(restoredViewId.Equals (viewId))) {
+					return null;
+				}
+			}
+			return uiViewRoot;
+		}
+
+		protected override Object getComponentStateToSave (FacesContext facesContext) {
+			Console.WriteLine ("Entering getComponentStateToSave");
+
+			UIViewRoot viewRoot = facesContext.getViewRoot ();
+			if (viewRoot.isTransient ()) {
+				return null;
+			}
+
+			Object serializedComponentStates = viewRoot.processSaveState (facesContext);
+			//Locale is a state attribute of UIViewRoot and need not be saved explicitly
+			Console.WriteLine ("Exiting getComponentStateToSave");
+			return serializedComponentStates;
+		}
+	}
+}

+ 132 - 0
mcs/class/Mainsoft.Web/Mainsoft.Web.Hosting/BaseFacesViewHandler.cs

@@ -0,0 +1,132 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using javax.faces.application;
+using java.util;
+using javax.faces.context;
+using javax.faces.component;
+using javax.faces.render;
+
+namespace Mainsoft.Web.Hosting
+{
+	public abstract class BaseFacesViewHandler : ViewHandler
+	{
+
+		public override Locale calculateLocale (FacesContext facesContext) {
+			Iterator locales = facesContext.getExternalContext ().getRequestLocales ();
+			while (locales.hasNext ()) {
+				Locale locale = (Locale) locales.next ();
+				for (Iterator it = facesContext.getApplication ().getSupportedLocales (); it.hasNext (); ) {
+					Locale supportLocale = (Locale) it.next ();
+					// higher priority to a language match over an exact match
+					// that occures further down (see Jstl Reference 1.0 8.3.1)
+					if (locale.getLanguage ().Equals (supportLocale.getLanguage ()) &&
+						(supportLocale.getCountry () == null ||
+							supportLocale.getCountry ().Length == 0)) {
+						return supportLocale;
+					}
+					else if (supportLocale.Equals (locale)) {
+						return supportLocale;
+					}
+				}
+			}
+
+			Locale defaultLocale = facesContext.getApplication ().getDefaultLocale ();
+			return defaultLocale != null ? defaultLocale : Locale.getDefault ();
+		}
+
+		public override String calculateRenderKitId (FacesContext facesContext) {
+			String renderKitId = facesContext.getApplication ().getDefaultRenderKitId ();
+			return (renderKitId != null) ? renderKitId : RenderKitFactory.HTML_BASIC_RENDER_KIT;
+			//TODO: how to calculate from client?
+		}
+
+		/**
+		 */
+		public override UIViewRoot createView (FacesContext facesContext, String viewId) {
+			Application application = facesContext.getApplication ();
+			ViewHandler applicationViewHandler = application.getViewHandler ();
+
+			Locale currentLocale = null;
+			String currentRenderKitId = null;
+			UIViewRoot uiViewRoot = facesContext.getViewRoot ();
+			if (uiViewRoot != null) {
+				//Remember current locale and renderKitId
+				currentLocale = uiViewRoot.getLocale ();
+				currentRenderKitId = uiViewRoot.getRenderKitId ();
+			}
+
+			uiViewRoot = (UIViewRoot) application.createComponent (UIViewRoot.COMPONENT_TYPE);
+			//      as of JSF spec page 7-16:
+			//      "It is the callers responsibility to ensure that setViewId() is called
+			//      on the returned view, passing the same viewId value."
+			//      so we do not set the viewId here
+
+			//      ok, but the RI does so, so let's do it, too.
+			uiViewRoot.setViewId (viewId);
+
+			if (currentLocale != null) {
+				//set old locale
+				uiViewRoot.setLocale (currentLocale);
+			}
+			else {
+				//calculate locale
+				uiViewRoot.setLocale (applicationViewHandler.calculateLocale (facesContext));
+			}
+
+			if (currentRenderKitId != null) {
+				//set old renderKit
+				uiViewRoot.setRenderKitId (currentRenderKitId);
+			}
+			else {
+				//calculate renderKit
+				uiViewRoot.setRenderKitId (applicationViewHandler.calculateRenderKitId (facesContext));
+			}
+
+			AspNetFacesContext aspNetFacesContext = (AspNetFacesContext) facesContext;
+			uiViewRoot.getChildren ().add (0, (UIComponent) (object) aspNetFacesContext.Handler);
+			return uiViewRoot;
+		}
+
+		public override String getResourceURL (FacesContext facesContext, String path) {
+			if (path.Length > 0 && path [0] == '/') {
+				return facesContext.getExternalContext ().getRequestContextPath () + path;
+			}
+			else {
+				return path;
+			}
+		}
+
+		public override void renderView (FacesContext facesContext, UIViewRoot viewToRender) {
+			if (viewToRender == null) {
+				throw new ArgumentNullException ("viewToRender", "viewToRender must not be null");
+			}
+
+			AspNetFacesContext aspNetFacesContext = (AspNetFacesContext) facesContext;
+			((UIComponent) (object) aspNetFacesContext.Handler).encodeChildren (facesContext);
+		}
+
+
+		public override UIViewRoot restoreView (FacesContext facesContext, String viewId) {
+			Application application = facesContext.getApplication ();
+			ViewHandler applicationViewHandler = application.getViewHandler ();
+			String renderKitId = applicationViewHandler.calculateRenderKitId (facesContext);
+			UIViewRoot viewRoot = application.getStateManager ().restoreView (facesContext,
+																			viewId,
+																			renderKitId);
+			return viewRoot;
+		}
+
+		/**
+		 * Writes a state marker that is replaced later by one or more hidden form
+		 * inputs.
+		 *
+		 * @param facesContext
+		 * @throws IOException
+		 */
+		public override void writeState (FacesContext facesContext) {
+			throw new NotImplementedException ();
+		}
+
+	}
+}

+ 46 - 1
mcs/class/Mainsoft.Web/Mainsoft.Web.Hosting/BaseHttpServlet.cs

@@ -82,7 +82,8 @@ namespace Mainsoft.Web.Hosting
 				servletDomain.SetData (".appId", currentTime.ToString ("x"));
 				servletDomain.SetData (".appName", context.getServletContextName ());
 
-				servletDomain.SetData (J2EEConsts.CLASS_LOADER, vmw.common.TypeUtils.ToClass (evidence).getClassLoader ());
+				servletDomain.SetData (J2EEConsts.CLASS_LOADER, java.lang.Thread.currentThread ().getContextClassLoader ());
+				//servletDomain.SetData (J2EEConsts.CLASS_LOADER, vmw.common.TypeUtils.ToClass (evidence).getClassLoader ());
 				//servletDomain.SetData(J2EEConsts.SERVLET_CONFIG, config);
 				servletDomain.SetData (J2EEConsts.RESOURCE_LOADER, new [email protected] (context));
 
@@ -299,3 +300,47 @@ namespace System.Web.J2EE
 	}
 
 }
+
+public class GhDynamicHttpServlet : System.Web.GH.BaseHttpServlet
+{
+}
+
+public class GhStaticHttpServlet : System.Web.GH.BaseStaticHttpServlet
+{ 
+}
+
+public class GhHttpServlet : System.Web.GH.BaseHttpServlet
+{
+	GhStaticHttpServlet staticServlet;
+
+	public GhHttpServlet () {
+		staticServlet = new GhStaticHttpServlet ();
+	}
+
+	override public void init (ServletConfig config) {
+		base.init (config);
+		staticServlet.init (config);
+	}
+
+	override protected void service (HttpServletRequest req, HttpServletResponse resp) {
+		string pathInfo = req.getRequestURI ();
+		string contextPath = req.getContextPath ();
+		if (pathInfo.Equals (contextPath) ||
+			((pathInfo.Length - contextPath.Length) == 1) &&
+			pathInfo [pathInfo.Length - 1] == '/' && pathInfo.StartsWith (contextPath))
+			pathInfo = contextPath + req.getServletPath ();
+		if (pathInfo.EndsWith (".aspx") ||
+			pathInfo.EndsWith (".asmx") ||
+			pathInfo.EndsWith (".invoke")) {
+			base.service (req, resp);
+		}
+		else {
+			staticServlet.service (req, resp);
+		}
+	}
+
+	override public void destroy () {
+		staticServlet.destroy ();
+		base.destroy ();
+	}
+}

+ 1 - 1
mcs/class/Mainsoft.Web/Mainsoft.Web.Hosting/ServletFacesPageHandlerFactory.cs

@@ -54,7 +54,7 @@ namespace Mainsoft.Web.Hosting
 														   response,
 														   _lifecycle);
 
-			return new ServletFacesPageHandler (AspNetFacesContext.WrapFacesContext (facesContext, context, handler), _lifecycle);
+			return new ServletFacesPageHandler (AspNetFacesContext.WrapFacesContext (facesContext, context, (Page) handler), _lifecycle);
 		}
 
 		public virtual void ReleaseHandler (IHttpHandler handler) {

+ 4 - 94
mcs/class/Mainsoft.Web/Mainsoft.Web.Hosting/ServletFacesStateManager.cs

@@ -14,54 +14,11 @@ using java.util;
 
 namespace Mainsoft.Web.Hosting
 {
-	public sealed class ServletFacesStateManager : StateManager
+	public sealed class ServletFacesStateManager : BaseFacesStateManager
 	{
 		static RenderKitFactory RenderKitFactory = (RenderKitFactory) FactoryFinder.getFactory (FactoryFinder.RENDER_KIT_FACTORY);
 
-		public override StateManager.SerializedView saveSerializedView (FacesContext facesContext) {
-			Object treeStruct = getTreeStructureToSave (facesContext);
-			Object compStates = getComponentStateToSave (facesContext);
-			SerializedView serializedView = new SerializedView (this, treeStruct, compStates);
-
-			//if (!isSavingStateInClient (facesContext))
-			//    saveSerializedViewInSession (facesContext, facesContext.getViewRoot ().getViewId (), serializedView);
-
-			return serializedView;
-		}
-
-		static readonly object [] emptyArray = new object [0];
-
-		protected override Object getTreeStructureToSave (FacesContext facesContext) {
-			UIViewRoot viewRoot = facesContext.getViewRoot ();
-			//kostat ???
-			//if (((StateHolder) viewRoot).isTransient ()) {
-			//    return null;
-			//}
-
-			Console.WriteLine ("saving root:" + viewRoot.getViewId ());
-			return new int [] { 1, 2, 3 };
-
-			//myfaces save id. What is it for?
-			// save ViewRoot tree
-			//return new String [] { viewRoot.GetType().FullName, viewRoot.getId () };
-		}
-
-		protected override Object getComponentStateToSave (FacesContext facesContext) {
-			Console.WriteLine ("Entering getComponentStateToSave");
-
-			UIViewRoot viewRoot = facesContext.getViewRoot ();
-			if (viewRoot.isTransient ()) {
-				return null;
-			}
-
-			Object serializedComponentStates = viewRoot.processSaveState (facesContext);
-			//Locale is a state attribute of UIViewRoot and need not be saved explicitly
-			Console.WriteLine ("Exiting getComponentStateToSave");
-			return serializedComponentStates;
-		}
-
-		public override void writeState (FacesContext facesContext,
-										StateManager.SerializedView serializedView) {
+		public override void writeState (FacesContext facesContext, StateManager.SerializedView serializedView) {
 			if (serializedView != null) {
 				UIViewRoot uiViewRoot = facesContext.getViewRoot ();
 				//save state in response (client-side: full state; server-side: sequence)
@@ -71,22 +28,6 @@ namespace Mainsoft.Web.Hosting
 			}
 		}
 
-		public override UIViewRoot restoreView (FacesContext facesContext,
-																 String viewId,
-																String renderKitId) {
-
-			UIViewRoot uiViewRoot = restoreTreeStructure (facesContext, viewId, renderKitId);
-			if (uiViewRoot != null) {
-				uiViewRoot.setViewId (viewId);
-				restoreComponentState (facesContext, uiViewRoot, renderKitId);
-				String restoredViewId = uiViewRoot.getViewId ();
-				if (restoredViewId == null || !(restoredViewId.Equals (viewId))) {
-					return null;
-				}
-			}
-			return uiViewRoot;
-		}
-
 		protected override UIViewRoot restoreTreeStructure (FacesContext facesContext,
 																			 String viewId,
 																			 String renderKitId) {
@@ -96,19 +37,12 @@ namespace Mainsoft.Web.Hosting
 			if (isSavingStateInClient (facesContext)) {
 				RenderKit rk = RenderKitFactory.getRenderKit (facesContext, renderKitId);
 				ResponseStateManager responseStateManager = rk.getResponseStateManager ();
-				Object treeStructure = responseStateManager.getTreeStructureToRestore (facesContext, viewId);
-				if (treeStructure == null) {
+				Object componentState = responseStateManager.getComponentStateToRestore (facesContext);
+				if (componentState == null) {
 					Console.WriteLine ("Exiting restoreTreeStructure - No tree structure state found in client request");
 					return null;
 				}
-
-				AspNetFacesContext aspNetFacesContext = (AspNetFacesContext) facesContext;
-				UIComponent page = aspNetFacesContext.Handler as UIComponent;
-				if (page == null)
-					return null;
-				
 				uiViewRoot = facesContext.getApplication ().getViewHandler ().createView (facesContext, viewId);
-				uiViewRoot.getChildren ().add (0, page);
 			}
 			else {
 				throw new NotImplementedException ();
@@ -152,29 +86,5 @@ namespace Mainsoft.Web.Hosting
 			Console.WriteLine ("Exiting restoreComponentState");
 		}
 
-		//readonly object _stateKey = new object ();
-
-
-		//SerializedView getSerializedViewFromServletSession (FacesContext facesContext, string viewId) {
-		//    Map sessionMap = facesContext.getExternalContext ().getSessionMap ();
-		//    System.Collections.Hashtable states = sessionMap.get (_stateKey) as System.Collections.Hashtable;
-		//    if (states == null)
-		//        return null;
-
-		//    return states [viewId] as SerializedView;
-		//}
-
-		//void saveSerializedViewInSession (FacesContext context, string viewId, SerializedView serializedView) {
-		//    Map sessionMap = context.getExternalContext ().getSessionMap ();
-
-		//    System.Collections.Hashtable states = sessionMap.get (_stateKey) as System.Collections.Hashtable;
-		//    if (states == null) {
-		//        states = new System.Collections.Hashtable ();
-		//        sessionMap.put (_stateKey, states);
-		//    }
-
-		//    states [viewId] = serializedView;
-		//}
-
 	}
 }

+ 1 - 138
mcs/class/Mainsoft.Web/Mainsoft.Web.Hosting/ServletFacesViewHandler.cs

@@ -11,94 +11,10 @@ using javax.faces.render;
 
 namespace Mainsoft.Web.Hosting
 {
-	public class ServletFacesViewHandler : ViewHandler
+	public class ServletFacesViewHandler : BaseFacesViewHandler
 	{
-		public static readonly String FORM_STATE_MARKER = "<!--@@JSF_FORM_STATE_MARKER@@-->";
-		public static readonly int FORM_STATE_MARKER_LEN = FORM_STATE_MARKER.Length;
-
-		public override Locale calculateLocale (FacesContext facesContext) {
-			Iterator locales = facesContext.getExternalContext ().getRequestLocales ();
-			while (locales.hasNext ()) {
-				Locale locale = (Locale) locales.next ();
-				for (Iterator it = facesContext.getApplication ().getSupportedLocales (); it.hasNext (); ) {
-					Locale supportLocale = (Locale) it.next ();
-					// higher priority to a language match over an exact match
-					// that occures further down (see Jstl Reference 1.0 8.3.1)
-					if (locale.getLanguage ().Equals (supportLocale.getLanguage ()) &&
-						(supportLocale.getCountry () == null ||
-							supportLocale.getCountry ().Length == 0)) {
-						return supportLocale;
-					}
-					else if (supportLocale.Equals (locale)) {
-						return supportLocale;
-					}
-				}
-			}
-
-			Locale defaultLocale = facesContext.getApplication ().getDefaultLocale ();
-			return defaultLocale != null ? defaultLocale : Locale.getDefault ();
-		}
-
-		public override String calculateRenderKitId (FacesContext facesContext) {
-			String renderKitId = facesContext.getApplication ().getDefaultRenderKitId ();
-			return (renderKitId != null) ? renderKitId : RenderKitFactory.HTML_BASIC_RENDER_KIT;
-			//TODO: how to calculate from client?
-		}
-
-		/**
-		 */
-		public override UIViewRoot createView (FacesContext facesContext, String viewId) {
-			Application application = facesContext.getApplication ();
-			ViewHandler applicationViewHandler = application.getViewHandler ();
-
-			Locale currentLocale = null;
-			String currentRenderKitId = null;
-			UIViewRoot uiViewRoot = facesContext.getViewRoot ();
-			if (uiViewRoot != null) {
-				//Remember current locale and renderKitId
-				currentLocale = uiViewRoot.getLocale ();
-				currentRenderKitId = uiViewRoot.getRenderKitId ();
-			}
-
-			uiViewRoot = (UIViewRoot) application.createComponent (UIViewRoot.COMPONENT_TYPE);
-			//      as of JSF spec page 7-16:
-			//      "It is the callers responsibility to ensure that setViewId() is called
-			//      on the returned view, passing the same viewId value."
-			//      so we do not set the viewId here
-
-			//      ok, but the RI does so, so let's do it, too.
-			uiViewRoot.setViewId (viewId);
-
-			if (currentLocale != null) {
-				//set old locale
-				uiViewRoot.setLocale (currentLocale);
-			}
-			else {
-				//calculate locale
-				uiViewRoot.setLocale (applicationViewHandler.calculateLocale (facesContext));
-			}
-
-			if (currentRenderKitId != null) {
-				//set old renderKit
-				uiViewRoot.setRenderKitId (currentRenderKitId);
-			}
-			else {
-				//calculate renderKit
-				uiViewRoot.setRenderKitId (applicationViewHandler.calculateRenderKitId (facesContext));
-			}
-
-			return uiViewRoot;
-		}
-
 		public override String getActionURL (FacesContext facesContext, String viewId) {
 
-			//if (PortletUtil.isRenderResponse (facesContext)) {
-			//    RenderResponse response = (RenderResponse) facesContext.getExternalContext ().getResponse ();
-			//    PortletURL url = response.createActionURL ();
-			//    url.setParameter (MyFacesGenericPortlet.VIEW_ID, viewId);
-			//    return url.toString ();
-			//}
-
 			String path = viewId;//			getViewIdPath (facesContext, viewId);
 			if (path.Length > 0 && path [0] == '/') {
 				return facesContext.getExternalContext ().getRequestContextPath () + path;
@@ -107,58 +23,5 @@ namespace Mainsoft.Web.Hosting
 				return path;
 			}
 		}
-
-		public override String getResourceURL (FacesContext facesContext, String path) {
-			if (path.Length > 0 && path [0] == '/') {
-				return facesContext.getExternalContext ().getRequestContextPath () + path;
-			}
-			else {
-				return path;
-			}
-		}
-
-		public override void renderView (FacesContext facesContext, UIViewRoot viewToRender) {
-			if (viewToRender == null) {
-				throw new ArgumentNullException ("viewToRender", "viewToRender must not be null");
-			}
-
-			AspNetFacesContext aspNetFacesContext = (AspNetFacesContext) facesContext;
-			UIComponent page = aspNetFacesContext.Handler as UIComponent;
-			if (page == null)
-				return;
-
-			if (viewToRender.getChildCount () == 0) {
-				// GET
-				// ensure uiViewRoot contains the page
-				viewToRender.getChildren ().add (0, page);
-				// process GET request
-				aspNetFacesContext.Handler.ProcessRequest (aspNetFacesContext.Context);
-			}
-			else
-				page.encodeChildren (facesContext);
-		}
-
-
-		public override UIViewRoot restoreView (FacesContext facesContext, String viewId) {
-			Application application = facesContext.getApplication ();
-			ViewHandler applicationViewHandler = application.getViewHandler ();
-			String renderKitId = applicationViewHandler.calculateRenderKitId (facesContext);
-			UIViewRoot viewRoot = application.getStateManager ().restoreView (facesContext,
-																			viewId,
-																			renderKitId);
-			return viewRoot;
-		}
-
-		/**
-		 * Writes a state marker that is replaced later by one or more hidden form
-		 * inputs.
-		 *
-		 * @param facesContext
-		 * @throws IOException
-		 */
-		public override void writeState (FacesContext facesContext) {
-			facesContext.getResponseWriter ().write (FORM_STATE_MARKER);
-		}
-
 	}
 }

+ 5 - 3
mcs/class/Mainsoft.Web/Mainsoft.Web.J2EE.csproj

@@ -101,7 +101,7 @@
   -->
   <ProjectExtensions>
     <VisualStudio>
-      <UserProperties REFS-RefInfo-myfaces-api-1-1-0="j2il:" REFS-JarPath-myfaces-api-1-1-0="..\lib\myfaces-api-1.1.0.jar" REFS-JarPath-JavaEE="" REFS-JarPath-rt="..\lib\rt.jar" REFS-JarPath-mscorlib="..\lib\mscorlib.jar" REFS-JarPath-system="..\lib\System.jar" REFS-JarPath-system-data="..\lib\System.Data.jar" REFS-JarPath-system-xml="..\lib\System.Xml.jar" REFS-JarPath-system-configuration="..\lib\System.Configuration.jar" REFS-JarPath-system-web="..\lib\System.Web.jar" REFS-JarPath-j2se-helpers="..\lib\J2SE.Helpers.jar" REFS-JarPath-j2ee-helpers="..\lib\J2EE.Helpers.jar" REFS-RefInfo-javaee="repository:JavaEE:tomcat:1.3" />
+      <UserProperties REFS-RefInfo-j2ee-helpers="repository:vmw:framework:2.0" REFS-RefInfo-system-web="repository:vmw:framework:2.0" REFS-RefInfo-javaee="repository:JavaEE:tomcat:1.3" REFS-JarPath-j2ee-helpers="" REFS-JarPath-j2se-helpers="..\lib\J2SE.Helpers.jar" REFS-JarPath-system-web="" REFS-JarPath-system-configuration="..\lib\System.Configuration.jar" REFS-JarPath-system-xml="..\lib\System.Xml.jar" REFS-JarPath-system-data="..\lib\System.Data.jar" REFS-JarPath-system="..\lib\System.jar" REFS-JarPath-mscorlib="..\lib\mscorlib.jar" REFS-JarPath-rt="..\lib\rt.jar" REFS-JarPath-JavaEE="" REFS-JarPath-jsf-api="..\lib\jsf-api.jar" REFS-RefInfo-jsf-api="j2il:" />
     </VisualStudio>
   </ProjectExtensions>
   <ItemGroup>
@@ -114,9 +114,9 @@
       <Private>False</Private>
     </Reference>
     <Reference Include="JavaEE, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL" />
-    <Reference Include="myfaces-api-1.1.0, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
+    <Reference Include="jsf-api, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
       <SpecificVersion>False</SpecificVersion>
-      <HintPath>..\lib\myfaces-api-1.1.0.dll</HintPath>
+      <HintPath>..\lib\jsf-api.dll</HintPath>
       <Private>False</Private>
     </Reference>
     <Reference Include="rt">
@@ -135,6 +135,8 @@
       <Link>MonoTODOAttribute.cs</Link>
     </Compile>
     <Compile Include="Mainsoft.Web.Hosting\AspNetFacesContext.cs" />
+    <Compile Include="Mainsoft.Web.Hosting\BaseFacesStateManager.cs" />
+    <Compile Include="Mainsoft.Web.Hosting\BaseFacesViewHandler.cs" />
     <Compile Include="Mainsoft.Web.Hosting\ServletFacesStateManager.cs" />
     <Compile Include="Mainsoft.Web.Hosting\ServletFacesViewHandler.cs" />
     <Compile Include="Mainsoft.Web.Hosting\BaseHttpServlet.cs" />