jsr372-experts@javaserverfaces-spec-public.java.net

[jsr372-experts] Re: Resolving "pending" in Mojarra source, mostly wrt contracts?

From: Frank Caputo <frank_at_frankcaputo.de>
Date: Tue, 3 Feb 2015 10:40:47 +0100

Hi Arjan,

I think, we can resolve the PENDINGs for 2.3 (most of them should be obsolete). This was my first bigger contribution to Mojarra, so I was a little bit insecure, if this is all correct.

Ciao Frank

> Am 02.02.2015 um 20:17 schrieb arjan tijms <arjan.tijms_at_gmail.com>:
>
> Hi,
>
> While reading up on resource handling in the Mojarra source code, I
> noticed there were quite a few PENDING markers there.
>
> E.g.
>
>
> com.sun.faces.facelets.impl.DefaultFaceletFactory.needsToBeRefreshed(URL)
>
> // PENDING(FCAPUTO) not sure, if this is what we want.
> for (FaceletCache<DefaultFacelet> faceletCache :
> cachePerContract.values()) {
>
>
> com.sun.faces.facelets.impl.DefaultFaceletFactory.getCache(FacesContext)
>
> // PENDING(FCAPUTO) we don't support
> com.sun.faces.config.WebConfiguration.WebContextInitParameter#FaceletCache
> for contracts
> faceletCache = initCache(null);
>
>
> com.sun.faces.facelets.impl.DefaultFaceletFactory.resolveURL(String)
>
> // PENDING(FCAPUTO) Deactivated caching for resource library
> contracts. If we still want to cache it, we need a cache per contract
> libraries list.
> // But the ResourceHandler caches on his own (using
> ResourceManager).
> URL url = this.resolveURL(this.baseUrl, uri);
>
>
> com.sun.faces.facelets.impl.DefaultFaceletFactory._createComponent(FacesContext,
> String, String, Map<String, Object>)
>
> // PENDING(FCAPUTO) does this work for resource library contracts? I think so.
> UIComponent result = null;
> Application app = context.getApplication();
>
>
> com.sun.faces.application.resource.ResourceHandlerImpl.libraryExists(String)
>
> // PENDING(fcaputo) do we need to iterate over the contracts here? I
> don't think so.
> LibraryInfo info = manager.findLibrary(libraryName, null,
> null, context);
>
> com.sun.faces.application.resource.ResourceHelper.getInputStream(ResourceInfo,
> FacesContext)
>
> // PENDING(edburns): this is a sub-optimal implementation choice
> // done in the interest of prototyping. It's never a good idea
> // to do a switch statement based on the type of an object.
>
> InputStream in = null;
>
>
> com.sun.faces.application.resource.ResourceManager.findResource(String)
>
> // PENDING(fcaputo) do we need to handle contracts here?
> String libraryName = null;
> String resourceName = null;
>
>
> I wonder if there should be a kind of theme in JSF 2.3 to resolve
> those pending issues, especially where it concerns the contracts /
> resource handling?
>
> Kind regards,
> Arjan Tijms
>