The following is not the offending code. The Resource loading happened
to happen here. The offending code is at
JavaScriptUtilities.getThemeJavaScript which is exposed via this method.
BTW, work around in this code is because of the image properties
specified as fully qualified name
Ex.
ALARM_CRITICAL_SMALL=/com/sun/webui/jsf/suntheme/images/alarms/critical_small.gif
It should be
ALARM_CRITICAL_SMALL=com/sun/webui/jsf/suntheme/images/alarms/critical_small.gif
NB complains about this, since it is against the recommendation by JLS
>If you VWP/Creator had fully implemented FacesContext like we had been
asking over the years
> then these design time tests would also not have to be necessary and
again this issue would not have
> arisen.
We do. We use JSF RI 1.2 directly at designtime via JSF support module.
- Winston
>
> You should have also referenced this code in your email since you
> reference JSFThemeContext
>
> /**
> * Return an appropriate resource path within this theme context.
> * Use is Beans.isDesignTime to prevent ThemeServlet prefix from
> * being appended. Creator handles doing the right thing with
> * getRequestContextPath()
> */
> public String getResourcePath(String path) {
> String resourcePath = path;
> if (Beans.isDesignTime()) {
> <<<====================================
> ClassLoader cl = getDefaultClassLoader();
> // NB6 gives warnings if the path has a leading "/". So,
> strip it of
> f if it has one
> URL url = cl.getResource(path.startsWith("/") ?
> path.substring(1) :
> path);
> if (url != null) {
> resourcePath = url.toExternalForm();
> }
> } else if (path != null) {
> FacesContext context = FacesContext.getCurrentInstance();
> String servletContext = getThemeServletContext();
> StringBuilder sb = new StringBuilder(128);
> // Just to make sure
> //
> if (!servletContext.startsWith("/")) {
> sb.append("/");
> }
> sb.append(servletContext);
> if (!path.startsWith("/") && !servletContext.endsWith("/")) {
> sb.append("/");
> }
> sb.append(path);
> resourcePath = context.getApplication().getViewHandler().
> getResourceURL(context, sb.toString());
> }
> return resourcePath;
> }
>
> If you VWP/Creator had fully implemented FacesContext like we had been
> asking over the years
> then these design time tests would also not have to be necessary and
> again this issue would not have
> arisen.
>
> -rick
>
>>
>> -rick
>>
>>>
>>> - Winston
>>>
>>>>> Netbeans enforces it by throwing an exception. Since this part of the
>>>>> code in JSFThemeContext viloates seems to violate this principle,
>>>>> NB keeps throwing
>>>>> the informational exception
>>>>>
>>>>> java.lang.IllegalStateException: You are trying to access file:
>>>>> from the default package. Please see
>>>>> http://www.netbeans.org/download/dev/javadoc/org-openide-modules/org/openide/modules/doc-files/classpath.html#default_package
>>>>>
>>>>> at
>>>>> org.netbeans.ProxyClassLoader.printDefaultPackageWarning(ProxyClassLoader.java:478)
>>>>>
>>>>> at
>>>>> org.netbeans.ProxyClassLoader.getResource(ProxyClassLoader.java:258)
>>>>> at java.lang.ClassLoader.getResource(ClassLoader.java:972)
>>>>> at java.lang.ClassLoader.getResource(ClassLoader.java:972)
>>>>> at
>>>>> com.sun.webui.jsf.theme.JSFThemeContext.getResourcePath(JSFThemeContext.java:148)
>>>>>
>>>>> at
>>>>> com.sun.webui.jsf.util.JavaScriptUtilities.getThemeJavaScript(JavaScriptUtilities.java:509)
>>>>>
>>>>> at
>>>>> com.sun.webui.jsf.util.JavaScriptUtilities.getDojoConfig(JavaScriptUtilities.java:131)
>>>>>
>>>>> at
>>>>> com.sun.webui.jsf.renderkit.html.HeadRenderer.renderAttributes(HeadRenderer.java:134)
>>>>>
>>>>> at
>>>>> com.sun.webui.jsf.renderkit.html.AbstractRenderer.encodeBegin(AbstractRenderer.java:156)
>>>>>
>>>>> at
>>>>> javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:785)
>>>>>
>>>>> at
>>>>> org.netbeans.modules.visualweb.insync.faces.FacesPageUnit.renderBean(FacesPageUnit.java:1276)
>>>>>
>>>>> at
>>>>> org.netbeans.modules.visualweb.insync.faces.FacesPageUnit.renderNode(FacesPageUnit.java:1532)
>>>>>
>>>>> at
>>>>> org.netbeans.modules.visualweb.insync.faces.FacesPageUnit.renderBean(FacesPageUnit.java:1324)
>>>>>
>>>>>
>>>>> - Winston
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: dev-unsubscribe_at_woodstock.dev.java.net
>>>>> For additional commands, e-mail: dev-help_at_woodstock.dev.java.net
>>>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe_at_woodstock.dev.java.net
>> For additional commands, e-mail: dev-help_at_woodstock.dev.java.net
>>