Coder Social home page Coder Social logo

javaee / jsf-extensions Goto Github PK

View Code? Open in Web Editor NEW
5.0 5.0 6.0 59.05 MB

JSF has been contributed to Eclipse Foundation and this repository is now called mojarra-jsf-extensions. Please follow the link below for the current repository

Home Page: https://github.com/eclipse-ee4j/mojarra-jsf-extensions

Java 69.18% HTML 11.18% JavaScript 7.60% CSS 12.04%

jsf-extensions's People

Contributors

jayasheelankumar avatar rlubke avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jsf-extensions's Issues

can't use onclick for DynaFaces on commandLinks

The JSF 1.2 RI renderer uses a hidden field and some onclick javascript to
identify which commandLink is clicked on a page. This means you can't ajaxify a
commandLink using onclick="DynaFaces.fireAjaxTransaction' , because that
overrides the RI javascript and the view can no longer tell which link was clicked.

Environment

Operating System: All
Platform: All

Affected Versions

[current]

Can't use DynaFaces to rerender forms

When I submit a form that was rendered with AJAX, the javax.faces.VIEW_STATE
request parameter is not sent.

Environment

Operating System: All
Platform: All

Affected Versions

[current]

Execute should coincide with inputs

As said in the wiki, DynaFaces should be by default as similar as possible to
standard JSF lifecycle. So if inputs property is not speficied the form is
submitted.
Anyway I wonder why not execute the whole form if not execute option is specified.
And also, I would like that execute option coincide with inputs option, if
execute is not specified:

  • if inputs and execute == null --> the whole form is submitted and executed;
  • if inputs != null and execute == null --> execute array is equals to input array.

I don't see reason why execute shouldn't be the same of inputs array by default:
why send the value to the server if you don't want to decode, validate etc?

Environment

Operating System: All
Platform: All

Affected Versions

[current]

Missing init-param by app developer is difficult to diagnose

When the application developer forget to add the following to their web.xml:

javax.faces.LIFECYCLE_ID com.sun.faces.lifecycle.PARTIAL

The error message in the server.log is very difficult to diagnose. It would be
a great enhancement (particularly to new DF developers) if a check was done for
this initParam and a more useful error message was shown.

Environment

Operating System: All
Platform: All

Affected Versions

[current]

inline javascript calls not interpreted with xhtml content type

When content type 'application/xhtml+xml' is sent by facelets the
ajaxify-javascript calls are not interpreted by firefox as they are within xml comment tags. Perhaps one should add for xhtml output?

Environment

Operating System: All
Platform: All

Affected Versions

[current]

NPE during restoreView after GlassFish is restarted

I believe this issue is related to GF's feature of saving session information
accross server restarts. When this occurs and the restoreView() phase is
executed, a NPE is thrown from Dynamic Faces code (I'm sorry I don't have the
exception anymore... if I get time later, I will add it to this report). This
is possibily related to a transient variable that is initialized in the
constructor (which won't happen during deserialization).

This case exists for "markImmediate" and "modifiedComponents" in
PartialTraversalViewRoot.

Let me know if you need clarification.

Environment

Operating System: All
Platform: All

Affected Versions

[current]

DynaFaces doesn't proprly escape CDATA sections

When used with JSF 1.2_3, DynaFaces is not able to escape correctly the CDATA
section in the AJAX response.
I tested a little, and this seems caused from the class

private class EscapeCDATAWriter extends ResponseWriterWrapper {

private ResponseWriter toWrap = null;
public EscapeCDATAWriter(ResponseWriter toWrap)

{ this.toWrap = toWrap; }

protected ResponseWriter getWrapped()

{ return toWrap; }

public void write(String string) throws IOException

{ super.write(string.replace("]]>", "]]]]><![CDATA[")); }

}

  1. overriding the "write" method doesn't cover every case: also writeText should
    be overrided, and dunno if also other methods.

  2. I don't understand why we are using "replace" instead of "replaceAll".

  3. When used with JSF 1.2_3 some text is not escaped.
    For example, we are inside a Renderer:

writer.startElement("script", ..);
..
writer.writeText("alert('hello');");
writer.endElement("script");

Here the JSF ResponseWriter seems to add a CDATA section around the javascript code.
This CDATA section can't be escaped from the EscapeCDATAWriter, because the
string parameter doesn't contain the CDATA. The result is that the XML response
is incorrect, and causes and error in the browser.

Environment

Operating System: All
Platform: All

Affected Versions

[current]

Enhancements to DynaFaces.fireAjaxTransaction

Looking at the options, I'd like to offer some suggestions:

  • asynchronous (description needs to be corrected)

  • execute (execute what? how does this differ from implicitly passing the value
    of the target action-- will you ever have more than one action fired?)

  • render (should be renamed to 'encode' to match API)

  • inputs (naming convention too, update? – should treat the ids as a parent or
    instance, ie, pass a form id and all child will be evaluated, pass a div id, all
    inputs within that div would be evaluated, just like re-rendering/encoding)

  • methodName (it's good to see it simplified again, but it is a possible
    security risk to invoke the method as is until we introduce annotation, suggest
    that you prefix the methdodname with 'on'MethodName to limit accessible
    invocations. also, the clientId seems redundant?, phaseId relates to immediate?)

  • XXX hook (shouldn't the regions logic be kept separate from the request logic?
    the regions seem like a 'user' of the request, not the same thing)

Overall, I think a lot of this could be simplified by always saying the
transaction was started by a specific clientId-- then the methodName and execute
are already provided with scope. In addition, one thing is that the other ids
passed (encode/update/render/whatever) should be allowed to be relative ids,
found by making an invokeOnComponent to the source clientId (originator) and
calling 'findComponent' on the other elements to resolve the real clientIds.
The reason for this is that at development time, when the code is written, you
don't know the clientId, but you do know the declared ids. This is highlighted
in the case of an iterative table, a single row could be the originator of the
ajax call, but at design time, there's no way to express the full clientId, only
the relative, declared ids in your JavaScript.

Environment

Operating System: All
Platform: All

Affected Versions

[current]

Change behavior of execute and render options

The current specification for the "execute" and "render" options to
fireAjaxTrainsaction() is:

execute

Comma separated string containing a list of client ids against which
the execute portion of the request processing lifecycle must be
run. This is known as a "partial traversal". If the value of the
option is the single string "none" without the quotes, the execute
portion of the lifecycle will be effectively skipped. If this option
is not specified at all, the value of the render parameter is used
as the value of the option. If that is not specified, the entire
view is traversed during the execute portion of the request
proecssing lifecycle.

render

Comma separated string containing a list of client ids against which
the render portion of the request processing lifecycle must be
run. If not specified, the entire view is rendered. If the value of
the option is the single string "none" without the quotes, the
render portion of the lifecycle will be effectively skipped.

I propose we change the above specification as follows:

execute

Comma separated string containing a list of client ids. Each client
id in the list identifies a node in the server side View for the
current page. For each node in the list, the execute portion of the
request processing lifecycle will visit that node and its children
in the same traversal order as the usual non-Ajax lifecycle. If
this option is not specified the entire view is traversed.

execute

Comma separated string containing a list of client ids. Each client
id in the list identifies a node in the server side View for the
current page. For each node in the list, the render portion of the
request processing lifecycle will visit that node and its children
in the same traversal order as the usual non-Ajax lifecycle. If
this option is not specified the entire view is traversed.

Environment

Operating System: All
Platform: Sun

Affected Versions

[current]

<![CDATA and ]]> must be escaped

DynaFaces does not escape markup which is generated by
components for a partial request. Since <![CDATA[ is used for the XML response's
element, the result is invalid XML containing an (illegal) nested
CDATA. It breaks Firefox at least.

Many myfaces components output a CDATA section.

A workaround would be to use a ResponseWriter which either escaped the text on
the fly or buffered the contents written to it so it could be escaped later.
Does Prototype have any (un)escaping features built in?

Environment

Operating System: All
Platform: All

Affected Versions

[current]

events in ajaxZones update components in all zones

By default, an action in an ajaxZone should update components only in that zone.
There should be an option to set which zones will receive updates.

Environment

Operating System: All
Platform: All

Affected Versions

[current]

Need to return JSON in reponse instead of HTML

Instead of replacing newly rendered HTML, I need to return JSON in the response
to update HTML elements manually. (For example, I have a table which uses a
scroll bar. Instead of replacing the entire table, I need to append additional
rows to the existing DOM object.) I see that the suppressXML option can be used
with FacesEvent, allowing any language to be used; however, I still need a way
to get a hold of the JSON data returned in the response. I also prefer that this
implementation handle the encoded client state string.

Would it be possible to provide a JavaScript callback function here? For
example, if a call back function is provided, the implementation would not
attempt to replace HTML. Instead, the callback function would be invoked with
the data contained in the XML schema. I'm envisioning that this callback
function may take a couple parameters to identify the ajaxZone we're working
with and the data returned in the request. For example:

webui.textField.validate = function(ajaxZone, data) {}

The XML returned in the response might incude a new "data" tag as shown below.
Although, the "markup" tag could also be reused.

The messages element is optional. If present, it is a list of FacesMessage.getSummary() output

An alternative approach may be to provide a JavaScript API, similar to how
developers would retrieve component messages from the XML above. Perhaps we
might consider using the Dojo event system to subscribe/publish an event,
indicating that we have a response and data is ready to be retrieved?

Thanks,
Dan Labrecque

Environment

Operating System: All
Platform: All

Affected Versions

[current]

ClassCast Exception when standard UIViewRoot is used.

If a standard UIViewRoot is returned (or any UIViewRoot implementation besides
DF's), a ClassCastException is thrown by DF's LifeCycle. DF's lifecycle should
work w/ an ordinary UIViewRoot w/o any problems. In this case, it is reasonable
to assume that DF Ajax functionality will not be provided and standard JSF
lifecycle behavior will occur.

Environment

Operating System: All
Platform: All

Affected Versions

[current]

tictactoe sample not working properly

I'm using 12 Jan 07 nightly build for swdp on windows xp, and am trying to run
the tictactoe sample.

the deployment of the sample went fine on glassfish v2 milestone 3 build 28,
except the following warnings were echoed in the server log file.

After the deployment, I was able to access the url:
http://localhost:8080/jsf-tictactoe/home.jsf

However, I didn't see any change when I clicked the buttons.
Opening the firebug shows following errors:

=======[FireBug Console]====================
mismatched tag. Expected: . home.jsf (line 85)
</script>]]>
--^
anonymous com_sun_faces_aja... (line 634)
anonymous com_sun_faces_aja... (line 607)
anonymous prototype.js.jsf (line 68)
anonymous prototype.js.jsf (line 815)
anonymous prototype.js.jsf (line 774)
anonymous prototype.js.jsf (line 68)
anonymous firebug.js (line 951)
anonymous firebug.js (line 2049)


components has no properties com_sun_faces_aja... (line 634)


components has no properties com_sun_faces_aja... (line 634)

================================================================================

=====[ Server log warnings ] ====
[#|2007-01-12T12:38:20.119-0500|WARNING|sun-appserver-ee9.1|javax.enterprise.sys
tem.core|_ThreadID=12;_ThreadName=Timer-4;C:/sun/glassfish/domains/domain1\gener
ated\xml\j2ee-modules\WSTXServices;C:/sun/glassfish/lib/install/applications/wst
x-services;_RequestID=b31ff8ac-66df-422e-83ac-8c675576452a;|Failed to load deplo
yment descriptor files from directory: C:/sun/glassfish/domains/domain1\generate
d\xml\j2ee-modules\WSTXServices. Load them from directory : C:/sun/glassfish/lib
/install/applications/wstx-services instead.|#]

[#|2007-01-12T12:38:21.056-0500|INFO|sun-appserver-ee9.1|javax.enterprise.resour
ce.webcontainer.jsf.config|_ThreadID=12;_ThreadName=Timer-4;/adminconsole;|Initi
alizing Sun's JavaServer Faces implementation (1.2_03-b06-FCS) for context '/adm
inconsole'|#]

[#|2007-01-12T12:38:22.775-0500|INFO|sun-appserver-ee9.1|javax.enterprise.resour
ce.webcontainer.jsf.config|_ThreadID=12;_ThreadName=Timer-4;;|Initializing Sun's
JavaServer Faces implementation (1.2_03-b06-FCS) for context ''|#]

[#|2007-01-12T12:38:24.697-0500|WARNING|sun-appserver-ee9.1|com.sun.xml.ws.trans
port.http.servlet.ServletAdapter|_ThreadID=12;_ThreadName=Timer-4;_RequestID=b31
ff8ac-66df-422e-83ac-8c675576452a;|Container com.sun.enterprise.webservice.JAXWS
Container@1c9ca1 doesn't support class com.sun.xml.ws.api.server.Module|#]

[#|2007-01-12T12:38:24.759-0500|WARNING|sun-appserver-ee9.1|com.sun.xml.ws.trans
port.http.servlet.ServletAdapter|_ThreadID=12;_ThreadName=Timer-4;_RequestID=b31
ff8ac-66df-422e-83ac-8c675576452a;|Container com.sun.enterprise.webservice.JAXWS
Container@d5e4c7 doesn't support class com.sun.xml.ws.api.server.Module|#]

[#|2007-01-12T12:38:24.790-0500|WARNING|sun-appserver-ee9.1|com.sun.xml.ws.trans
port.http.servlet.ServletAdapter|_ThreadID=12;_ThreadName=Timer-4;_RequestID=b31
ff8ac-66df-422e-83ac-8c675576452a;|Container com.sun.enterprise.webservice.JAXWS
Container@773f4b doesn't support class com.sun.xml.ws.api.server.Module|#]

[#|2007-01-12T12:38:24.915-0500|WARNING|sun-appserver-ee9.1|com.sun.xml.ws.trans
port.http.servlet.ServletAdapter|_ThreadID=12;_ThreadName=Timer-4;_RequestID=b31
ff8ac-66df-422e-83ac-8c675576452a;|Container com.sun.enterprise.webservice.JAXWS
Container@527386 doesn't support class com.sun.xml.ws.api.server.Module|#]

[#|2007-01-12T12:38:24.962-0500|WARNING|sun-appserver-ee9.1|com.sun.xml.ws.trans
port.http.servlet.ServletAdapter|_ThreadID=12;_ThreadName=Timer-4;_RequestID=b31
ff8ac-66df-422e-83ac-8c675576452a;|Container com.sun.enterprise.webservice.JAXWS
Container@149d226 doesn't support class com.sun.xml.ws.api.server.Module|#]

[#|2007-01-12T12:38:24.994-0500|WARNING|sun-appserver-ee9.1|com.sun.xml.ws.trans
port.http.servlet.ServletAdapter|_ThreadID=12;_ThreadName=Timer-4;_RequestID=b31
ff8ac-66df-422e-83ac-8c675576452a;|Container com.sun.enterprise.webservice.JAXWS
Container@126c06b doesn't support class com.sun.xml.ws.api.server.Module|#]

[#|2007-01-12T12:38:25.040-0500|WARNING|sun-appserver-ee9.1|com.sun.xml.ws.trans
port.http.servlet.ServletAdapter|_ThreadID=12;_ThreadName=Timer-4;_RequestID=b31
ff8ac-66df-422e-83ac-8c675576452a;|Container com.sun.enterprise.webservice.JAXWS
Container@225f0 doesn't support class com.sun.xml.ws.api.server.Module|#]

[#|2007-01-12T12:38:25.087-0500|WARNING|sun-appserver-ee9.1|com.sun.xml.ws.trans
port.http.servlet.ServletAdapter|_ThreadID=12;_ThreadName=Timer-4;_RequestID=b31
ff8ac-66df-422e-83ac-8c675576452a;|Container com.sun.enterprise.webservice.JAXWS
Container@184747e doesn't support class com.sun.xml.ws.api.server.Module|#]

[#|2007-01-12T12:38:25.119-0500|WARNING|sun-appserver-ee9.1|com.sun.xml.ws.trans
port.http.servlet.ServletAdapter|_ThreadID=12;_ThreadName=Timer-4;_RequestID=b31
ff8ac-66df-422e-83ac-8c675576452a;|Container com.sun.enterprise.webservice.JAXWS
Container@c0e18b doesn't support class com.sun.xml.ws.api.server.Module|#]

===============================

Environment

Operating System: All
Platform: All

Affected Versions

[current]

duplicate id on resultset-non-avatar.jsp

When i try load resultset-non-avatar.jsp i get this error:

javax.servlet.ServletException: Duplicate component ID form:table:_id_id41 found
in view.
javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)
sun.reflect.GeneratedMethodAccessor110.invoke
(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:585)
org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java
:262)
java.security.AccessController.doPrivileged(Native Method)
javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:295)
org.apache.catalina.security.SecurityUtil.doAsPrivilege
(SecurityUtil.java:178)
com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:73)
com.sun.enterprise.web.VirtualServerPipeline.invoke(VirtualServerPipeline.java:120)
org.apache.coyote.tomcat5.CoyoteAdapter.service
(CoyoteAdapter.java:223)
com.sun.enterprise.web.connector.grizzly.ProcessorTask.invokeAdapter(ProcessorTask.java:664)
com.sun.enterprise.web.connector.grizzly.ProcessorTask.processNonBlocked(ProcessorTask.java:571)

com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:846)
com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(ReadTask.java:345)
com.sun.enterprise.web.connector.grizzly.ReadTask.doTask
(ReadTask.java:237)
com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:240)
com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:75)

Environment

Operating System: All
Platform: All

Affected Versions

[current]

ResponseCharacterEncoding not set

I'm G11n engineer and working on i18n for Lockhart/Woodstock
project. I'm investigating jsf-extensions-dynafaces(8/22 snapshot)
and have 1 question(I found your name in source code). Does dynafaces
support i18n right now? I encountered garbages on textfield-validation-
dynafaces sample code when I typed a wrong card number. The cause seems
to be that PartialTraversalLifecycle does not put a proper encoding to
the response. For example, I tried the following modification, and I got
a correct character(though I do not think that the following is proper
as a fix..). If you have a plan or info for dynafaces i18n support,
could you provide it to me?

Best regards,
shinsuke

$ diff -u
com/sun/faces/extensions/avatar/lifecycle/PartialTraversalLifecycle.java.orig
com/sun/faces/extensions/avatar/lifecycle/PartialTraversalLifecycle.java

com/sun/faces/extensions/avatar/lifecycle/PartialTraversalLifecycle.java.orig
Thu Aug 24 10:03:16 2006
+++ com/sun/faces/extensions/avatar/lifecycle/PartialTraversalLifecycle.java
Thu Aug 24 15:29:18 2006
@@ -69,6 +69,7 @@

public void execute(FacesContext context) throws FacesException {
if (AsyncResponse.isAjaxRequest()) {

  • context.getExternalContext().setResponseCharacterEncoding("UTF-8");
    AsyncResponse async = AsyncResponse.getInstance();
    async.installOnOffResponse(context);
    // Allow writing to the response during the "execute"

Environment

Operating System: All
Platform: Sun

Affected Versions

[current]

fireAjaxTransaction does not work using JSF 1.2_02

When upgrading to AppServer 9.0.01 b11 or b12, using JSF 1.2.02-b03-FCS, our
fireAjaxTransaction function stops working shortly after it starts. For example,
in our progress bar component, we use the following code to poll every 3
seconds. However, after the first call to this function, AppServer begins
throwing errors and we no longer recieve responses.

var src = document.getElementById(e.id);
new DynaFaces.fireAjaxTransaction(e,

{ execute: "none", render: e.id, replaceElement: update }

);

This works fine with AppServer 9.0 b48, using JSF 1.2 b20, from the Java EE 5
Tools Bundle. However, we cannot use that version because of a duplicate id bug
in JSF 1.2.

That said, I'm actually seeing two errors below; a NullPointerException from
PartialTraversalLifecycle, which appears to be directly related to DynaFaces,
and further down is an IOException from ResponseStateManagerImpl.

StandardWrapperValve[FacesServlet]: Servlet.service() for servlet FacesServlet
threw exception
java.lang.NullPointerException
at
com.sun.faces.extensions.avatar.lifecycle.PartialTraversalLifecycle.execute(PartialTraversalLifecycle.java:82)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
at
org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:397)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:184)
at com.sun.webui.jsf.util.UploadFilter.doFilter(UploadFilter.java:203)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:216)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:184)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:276)
at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)
at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:240)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:179)
at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:73)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:182)
at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
at
com.sun.enterprise.web.VirtualServerPipeline.invoke(VirtualServerPipeline.java:120)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:137)
at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:239)
at
com.sun.enterprise.web.connector.grizzly.ProcessorTask.invokeAdapter(ProcessorTask.java:667)
at
com.sun.enterprise.web.connector.grizzly.ProcessorTask.processNonBlocked(ProcessorTask.java:574)
at
com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:844)
at
com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(ReadTask.java:287)
at
com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.java:212)
at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:252)

...

Unable to set character encoding ISO-8859-1 because request parameters have
already been read, or ServletRequest.getReader() has been called
Not in GZIP format
java.io.IOException: Not in GZIP format
at java.util.zip.GZIPInputStream.readHeader(GZIPInputStream.java:132)
at java.util.zip.GZIPInputStream.(GZIPInputStream.java:58)
at java.util.zip.GZIPInputStream.(GZIPInputStream.java:68)
at
com.sun.faces.renderkit.ResponseStateManagerImpl.getTreeStructureToRestore(ResponseStateManagerImpl.java:159)
at
com.sun.faces.application.StateManagerImpl.restoreTree(StateManagerImpl.java:577)
at
com.sun.faces.application.StateManagerImpl.restoreView(StateManagerImpl.java:88)
at
javax.faces.application.StateManagerWrapper.restoreView(StateManagerWrapper.java:167)
at
com.sun.faces.application.ViewHandlerImpl.restoreView(ViewHandlerImpl.java:312)
at
com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:173)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:244)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:113)
at
com.sun.faces.extensions.avatar.lifecycle.PartialTraversalLifecycle.execute(PartialTraversalLifecycle.java:79)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
at
org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:397)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:184)
at com.sun.webui.jsf.util.UploadFilter.doFilter(UploadFilter.java:203)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:216)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:184)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:276)
at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)
at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:240)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:179)
at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:73)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:182)
at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
at
com.sun.enterprise.web.VirtualServerPipeline.invoke(VirtualServerPipeline.java:120)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:137)
at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:239)
at
com.sun.enterprise.web.connector.grizzly.ProcessorTask.invokeAdapter(ProcessorTask.java:667)
at
com.sun.enterprise.web.connector.grizzly.ProcessorTask.processNonBlocked(ProcessorTask.java:574)
at
com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:844)
at
com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(ReadTask.java:287)
at
com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.java:212)
at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:252)
at
com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:75)
executePhase(RESTORE_VIEW 1,com.sun.faces.context.FacesContextImpl@711d71) threw
exception
javax.faces.FacesException: java.io.IOException: Not in GZIP format
at
com.sun.faces.renderkit.ResponseStateManagerImpl.getTreeStructureToRestore(ResponseStateManagerImpl.java:180)
at
com.sun.faces.application.StateManagerImpl.restoreTree(StateManagerImpl.java:577)
at
com.sun.faces.application.StateManagerImpl.restoreView(StateManagerImpl.java:88)
at
javax.faces.application.StateManagerWrapper.restoreView(StateManagerWrapper.java:167)
at
com.sun.faces.application.ViewHandlerImpl.restoreView(ViewHandlerImpl.java:312)
at
com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:173)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:244)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:113)
at
com.sun.faces.extensions.avatar.lifecycle.PartialTraversalLifecycle.execute(PartialTraversalLifecycle.java:79)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
at
org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:397)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:184)
at com.sun.webui.jsf.util.UploadFilter.doFilter(UploadFilter.java:203)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:216)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:184)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:276)
at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)
at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:240)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:179)
at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:73)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:182)
at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
at
com.sun.enterprise.web.VirtualServerPipeline.invoke(VirtualServerPipeline.java:120)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:137)
at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:239)
at
com.sun.enterprise.web.connector.grizzly.ProcessorTask.invokeAdapter(ProcessorTask.java:667)
at
com.sun.enterprise.web.connector.grizzly.ProcessorTask.processNonBlocked(ProcessorTask.java:574)
at
com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:844)
at
com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(ReadTask.java:287)
at
com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.java:212)
at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:252)
at
com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:75)
Caused by: java.io.IOException: Not in GZIP format
at java.util.zip.GZIPInputStream.readHeader(GZIPInputStream.java:132)
at java.util.zip.GZIPInputStream.(GZIPInputStream.java:58)
at java.util.zip.GZIPInputStream.(GZIPInputStream.java:68)
at
com.sun.faces.renderkit.ResponseStateManagerImpl.getTreeStructureToRestore(ResponseStateManagerImpl.java:159)
... 38 more

Environment

Operating System: All
Platform: Sun

Affected Versions

[current]

cannot build samples

I'm using the 12 jan 07 nightly build for webpack, and I'm unable to build the
samples present in the jsf-extensions/samples directory. Some samples have
missing directories, others don't compile.

Here are some outputs:

=======[ Tictactoe sample]================
C:\Documents and Settings\dada\webpack\jsf-extensions\samples\tictactoe>ant
Buildfile: build.xml

assemble.war:

assemble.exploded.war:

prepare:
[mkdir] Created dir: C:\Documents and Settings\dada\webpack\jsf-extensions\s
amples\tictactoe\build\jsf-tictactoe
[mkdir] Created dir: C:\Documents and Settings\dada\webpack\jsf-extensions\s
amples\tictactoe\build\jsf-tictactoe\WEB-INF
[mkdir] Created dir: C:\Documents and Settings\dada\webpack\jsf-extensions\s
amples\tictactoe\build\jsf-tictactoe\WEB-INF\classes

compile:
[javac] Compiling 2 source files to C:\Documents and Settings\dada\webpack\j
sf-extensions\samples\tictactoe\build\jsf-tictactoe\WEB-INF\classes
[javac] C:\Documents and Settings\dada\webpack\jsf-extensions\samples\tictac
toe\src\main\java\tictactoe\Game.java:29: package javax.faces.component does not
exist
[javac] import javax.faces.component.UICommand;
[javac] ^
[javac] C:\Documents and Settings\dada\webpack\jsf-extensions\samples\tictac
toe\src\main\java\tictactoe\Game.java:30: package javax.faces.component does not
exist
[javac] import javax.faces.component.UIViewRoot;
[javac] ^
[javac] C:\Documents and Settings\dada\webpack\jsf-extensions\samples\tictac
toe\src\main\java\tictactoe\Game.java:31: package javax.faces.context does not e
xist
[javac] import javax.faces.context.FacesContext;
[javac] ^
[javac] C:\Documents and Settings\dada\webpack\jsf-extensions\samples\tictac
toe\src\main\java\tictactoe\Game.java:32: package javax.faces.event does not exi
st
[javac] import javax.faces.event.ActionEvent;
[javac] ^
[javac] C:\Documents and Settings\dada\webpack\jsf-extensions\samples\tictac
toe\src\main\java\tictactoe\Game.java:79: cannot find symbol
[javac] symbol : class ActionEvent
[javac] location: class tictactoe.Game
[javac] public void start(ActionEvent e) {
[javac] ^
[javac] C:\Documents and Settings\dada\webpack\jsf-extensions\samples\tictac
toe\src\main\java\tictactoe\Game.java:86: cannot find symbol
[javac] symbol : class ActionEvent
[javac] location: class tictactoe.Game
[javac] public void select(ActionEvent e) {
[javac] ^
[javac] C:\Documents and Settings\dada\webpack\jsf-extensions\samples\tictac
toe\src\main\java\tictactoe\Game.java:139: cannot find symbol
[javac] symbol : class UICommand
[javac] location: class tictactoe.Game
[javac] private boolean isMoveOK(UICommand command) {
[javac] ^
[javac] C:\Documents and Settings\dada\webpack\jsf-extensions\samples\tictac
toe\src\main\java\tictactoe\MessageFactory.java:32: package javax.faces.applicat
ion does not exist
[javac] import javax.faces.application.Application;
[javac] ^
[javac] C:\Documents and Settings\dada\webpack\jsf-extensions\samples\tictac
toe\src\main\java\tictactoe\MessageFactory.java:33: package javax.faces.applicat
ion does not exist
[javac] import javax.faces.application.FacesMessage;
[javac] ^
[javac] C:\Documents and Settings\dada\webpack\jsf-extensions\samples\tictac
toe\src\main\java\tictactoe\MessageFactory.java:34: package javax.faces.context
does not exist
[javac] import javax.faces.context.FacesContext;
[javac] ^
[javac] C:\Documents and Settings\dada\webpack\jsf-extensions\samples\tictac
toe\src\main\java\tictactoe\MessageFactory.java:80: cannot find symbol
[javac] symbol : class FacesMessage
[javac] location: class tictactoe.MessageFactory
[javac] public static FacesMessage getMessage(String messageId, Object..
. params) {
[javac] ^
[javac] C:\Documents and Settings\dada\webpack\jsf-extensions\samples\tictac
toe\src\main\java\tictactoe\MessageFactory.java:97: cannot find symbol
[javac] symbol : class FacesMessage
[javac] location: class tictactoe.MessageFactory
[javac] public static FacesMessage getMessage(Locale locale,
[javac] ^
[javac] C:\Documents and Settings\dada\webpack\jsf-extensions\samples\tictac
toe\src\main\java\tictactoe\MessageFactory.java:163: cannot find symbol
[javac] symbol : class FacesContext
[javac] location: class tictactoe.MessageFactory
[javac] public static FacesMessage getMessage(FacesContext context,
[javac] ^
[javac] C:\Documents and Settings\dada\webpack\jsf-extensions\samples\tictac
toe\src\main\java\tictactoe\MessageFactory.java:163: cannot find symbol
[javac] symbol : class FacesMessage
[javac] location: class tictactoe.MessageFactory
[javac] public static FacesMessage getMessage(FacesContext context,
[javac] ^
[javac] C:\Documents and Settings\dada\webpack\jsf-extensions\samples\tictac
toe\src\main\java\tictactoe\MessageFactory.java:169: cannot find symbol
[javac] symbol : class FacesContext
[javac] location: class tictactoe.MessageFactory
[javac] public static FacesMessage getMessage(FacesContext context,
[javac] ^
[javac] C:\Documents and Settings\dada\webpack\jsf-extensions\samples\tictac
toe\src\main\java\tictactoe\MessageFactory.java:169: cannot find symbol
[javac] symbol : class FacesMessage
[javac] location: class tictactoe.MessageFactory
[javac] public static FacesMessage getMessage(FacesContext context,
[javac] ^
[javac] C:\Documents and Settings\dada\webpack\jsf-extensions\samples\tictac
toe\src\main\java\tictactoe\MessageFactory.java:195: cannot find symbol
[javac] symbol : class Application
[javac] location: class tictactoe.MessageFactory
[javac] protected static Application getApplication() {
[javac] ^
[javac] C:\Documents and Settings\dada\webpack\jsf-extensions\samples\tictac
toe\src\main\java\tictactoe\Game.java:87: cannot find symbol
[javac] symbol : class UICommand
[javac] location: class tictactoe.Game
[javac] UICommand command = (UICommand)e.getComponent();
[javac] ^
[javac] C:\Documents and Settings\dada\webpack\jsf-extensions\samples\tictac
toe\src\main\java\tictactoe\Game.java:87: cannot find symbol
[javac] symbol : class UICommand
[javac] location: class tictactoe.Game
[javac] UICommand command = (UICommand)e.getComponent();
[javac] ^
[javac] C:\Documents and Settings\dada\webpack\jsf-extensions\samples\tictac
toe\src\main\java\tictactoe\Game.java:123: cannot find symbol
[javac] symbol : class FacesContext
[javac] location: class tictactoe.Game
[javac] FacesContext context = FacesContext.getCurrentInstan
ce();
[javac] ^
[javac] C:\Documents and Settings\dada\webpack\jsf-extensions\samples\tictac
toe\src\main\java\tictactoe\Game.java:123: cannot find symbol
[javac] symbol : variable FacesContext
[javac] location: class tictactoe.Game
[javac] FacesContext context = FacesContext.getCurrentInstan
ce();
[javac] ^
[javac] C:\Documents and Settings\dada\webpack\jsf-extensions\samples\tictac
toe\src\main\java\tictactoe\Game.java:124: cannot find symbol
[javac] symbol : class UIViewRoot
[javac] location: class tictactoe.Game
[javac] UIViewRoot viewRoot = context.getViewRoot();
[javac] ^
[javac] C:\Documents and Settings\dada\webpack\jsf-extensions\samples\tictac
toe\src\main\java\tictactoe\Game.java:125: cannot find symbol
[javac] symbol : class UICommand
[javac] location: class tictactoe.Game
[javac] UICommand command = (UICommand)viewRoot.findComponen
t(id);
[javac] ^
[javac] C:\Documents and Settings\dada\webpack\jsf-extensions\samples\tictac
toe\src\main\java\tictactoe\Game.java:125: cannot find symbol
[javac] symbol : class UICommand
[javac] location: class tictactoe.Game
[javac] UICommand command = (UICommand)viewRoot.findComponen
t(id);
[javac] ^
[javac] C:\Documents and Settings\dada\webpack\jsf-extensions\samples\tictac
toe\src\main\java\tictactoe\Game.java:182: cannot find symbol
[javac] symbol : class FacesContext
[javac] location: class tictactoe.Game
[javac] FacesContext context = FacesContext.getCurrentInstance();
[javac] ^
[javac] C:\Documents and Settings\dada\webpack\jsf-extensions\samples\tictac
toe\src\main\java\tictactoe\Game.java:182: cannot find symbol
[javac] symbol : variable FacesContext
[javac] location: class tictactoe.Game
[javac] FacesContext context = FacesContext.getCurrentInstance();
[javac] ^
[javac] C:\Documents and Settings\dada\webpack\jsf-extensions\samples\tictac
toe\src\main\java\tictactoe\Game.java:183: cannot find symbol
[javac] symbol : class UIViewRoot
[javac] location: class tictactoe.Game
[javac] UIViewRoot viewRoot = context.getViewRoot();
[javac] ^
[javac] C:\Documents and Settings\dada\webpack\jsf-extensions\samples\tictac
toe\src\main\java\tictactoe\Game.java:184: cannot find symbol
[javac] symbol : class UICommand
[javac] location: class tictactoe.Game
[javac] UICommand command = (UICommand)viewRoot.findComponent(id);
[javac] ^
[javac] C:\Documents and Settings\dada\webpack\jsf-extensions\samples\tictac
toe\src\main\java\tictactoe\Game.java:184: cannot find symbol
[javac] symbol : class UICommand
[javac] location: class tictactoe.Game
[javac] UICommand command = (UICommand)viewRoot.findComponent(id);
[javac] ^
[javac] C:\Documents and Settings\dada\webpack\jsf-extensions\samples\tictac
toe\src\main\java\tictactoe\Game.java:256: cannot find symbol
[javac] symbol : class FacesContext
[javac] location: class tictactoe.Game
[javac] FacesContext context = FacesContext.getCurrentInstance();
[javac] ^
[javac] C:\Documents and Settings\dada\webpack\jsf-extensions\samples\tictac
toe\src\main\java\tictactoe\Game.java:256: cannot find symbol
[javac] symbol : variable FacesContext
[javac] location: class tictactoe.Game
[javac] FacesContext context = FacesContext.getCurrentInstance();
[javac] ^
[javac] C:\Documents and Settings\dada\webpack\jsf-extensions\samples\tictac
toe\src\main\java\tictactoe\Game.java:257: cannot find symbol
[javac] symbol : class UIViewRoot
[javac] location: class tictactoe.Game
[javac] UIViewRoot viewRoot = context.getViewRoot();
[javac] ^
[javac] C:\Documents and Settings\dada\webpack\jsf-extensions\samples\tictac
toe\src\main\java\tictactoe\Game.java:258: cannot find symbol
[javac] symbol : class UICommand
[javac] location: class tictactoe.Game
[javac] UICommand command = (UICommand)viewRoot.findComponent(id);
[javac] ^
[javac] C:\Documents and Settings\dada\webpack\jsf-extensions\samples\tictac
toe\src\main\java\tictactoe\Game.java:258: cannot find symbol
[javac] symbol : class UICommand
[javac] location: class tictactoe.Game
[javac] UICommand command = (UICommand)viewRoot.findComponent(id);
[javac] ^
[javac] C:\Documents and Settings\dada\webpack\jsf-extensions\samples\tictac
toe\src\main\java\tictactoe\MessageFactory.java:82: cannot find symbol
[javac] symbol : class FacesContext
[javac] location: class tictactoe.MessageFactory
[javac] FacesContext context = FacesContext.getCurrentInstance();
[javac] ^
[javac] C:\Documents and Settings\dada\webpack\jsf-extensions\samples\tictac
toe\src\main\java\tictactoe\MessageFactory.java:82: cannot find symbol
[javac] symbol : variable FacesContext
[javac] location: class tictactoe.MessageFactory
[javac] FacesContext context = FacesContext.getCurrentInstance();
[javac] ^
[javac] C:\Documents and Settings\dada\webpack\jsf-extensions\samples\tictac
toe\src\main\java\tictactoe\MessageFactory.java:123: cannot find symbol
[javac] symbol : variable FacesMessage
[javac] location: class tictactoe.MessageFactory
[javac] bundle = ResourceBundle.getBundle(FacesMessage.FACES_MES
SAGES,
[javac] ^
[javac] C:\Documents and Settings\dada\webpack\jsf-extensions\samples\tictac
toe\src\main\java\tictactoe\MessageFactory.java:156: cannot find symbol
[javac] symbol : class FacesMessage
[javac] location: class tictactoe.MessageFactory
[javac] return (new FacesMessage(summary, detail));
[javac] ^
[javac] C:\Documents and Settings\dada\webpack\jsf-extensions\samples\tictac
toe\src\main\java\tictactoe\MessageFactory.java:186: cannot find symbol
[javac] symbol : class FacesMessage
[javac] location: class tictactoe.MessageFactory
[javac] FacesMessage message = getMessage(locale, messageId, params)
;
[javac] ^
[javac] C:\Documents and Settings\dada\webpack\jsf-extensions\samples\tictac
toe\src\main\java\tictactoe\MessageFactory.java:196: cannot find symbol
[javac] symbol : variable FacesContext
[javac] location: class tictactoe.MessageFactory
[javac] return (FacesContext.getCurrentInstance().getApplication());

[javac] ^
[javac] Note: C:\Documents and Settings\dada\webpack\jsf-extensions\samples
tictactoe\src\main\java\tictactoe\Game.java uses unchecked or unsafe operations.

[javac] Note: Recompile with -Xlint:unchecked for details.
[javac] 40 errors

BUILD FAILED
C:\Documents and Settings\dada\webpack\jsf-extensions\samples\build.xml:75: The
following error occurred while executing this line:
C:\Documents and Settings\dada\webpack\jsf-extensions\samples\build.xml:68: The
following error occurred while executing this line:
C:\Documents and Settings\dada\webpack\jsf-extensions\samples\build.xml:29: Comp
ile failed; see the compiler error output for details.

Total time: 1 second
C:\Documents and Settings\dada\webpack\jsf-extensions\samples\tictactoe>

=========[ blank facelets sample]==============
C:\Documents and Settings\dada\webpack\jsf-extensions\samples\blank-facelets>ant

Buildfile: build.xml

copy.per-app.libs.and.assemble.war:

copy.per-app.dependent.libs:

assemble.war:

assemble.exploded.war:

prepare:

compile:

BUILD FAILED
C:\Documents and Settings\dada\webpack\jsf-extensions\samples\build.xml:82: The
following error occurred while executing this line:
C:\Documents and Settings\dada\webpack\jsf-extensions\samples\build.xml:75: The
following error occurred while executing this line:
C:\Documents and Settings\dada\webpack\jsf-extensions\samples\build.xml:68: The
following error occurred while executing this line:
C:\Documents and Settings\dada\webpack\jsf-extensions\samples\build.xml:29: srcd
ir "C:\Documents and Settings\dada\webpack\jsf-extensions\samples\blank-facelets
\src\main\java" does not exist!

Total time: 0 seconds

Environment

Operating System: All
Platform: All

Affected Versions

[current]

Rename installDeferredAjaxTransaction

Please rename installDeferredAjaxTransaction to
deferredAjaxTransaction.
The name is too long as it is, and there is no need
for the 'install' portion. 'deferredAjaxTransaction'
is sufficient to describe the behavior of this method.

Environment

Operating System: All
Platform: All

Affected Versions

[current]

Shale IO Exception / 404 on js resources

Just thought I'd give jsfExt another shot (0.1-SNAPSHOT from Nov. 17). Now when
I do an initial load of a page containing only an html skeleton and the
<jsfExt:scripts /> tag, I get the Exception below in the logs (page displays fine):

20.11.2006 17:06:57 com.sun.faces.lifecycle.LifecycleImpl phase
WARNUNG: phase(RESTORE_VIEW 1,com.sun.faces.context.FacesContextImpl@115c974)
threw exception: javax.faces.FacesException: java.io.IOException: Closed
java.io.IOException: Closed
org.apache.shale.remoting.faces.RemotingPhaseListener.afterPhase(RemotingPhaseListener.java:104)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:287)
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:132)
com.sun.faces.extensions.avatar.lifecycle.PartialTraversalLifecycle.execute(PartialTraversalLifecycle.java:79)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:445)
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:354)
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:230)
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:627)
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:149)
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:123)
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:141)
org.mortbay.jetty.Server.handle(Server.java:286)
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:444)
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:701)
org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:500)
org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:203)
org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:340)
org.mortbay.jetty.nio.HttpChannelEndPoint.run(HttpChannelEndPoint.java:270)
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)

Not sure if this is related to my application setup. I use maven and I had to
remove shale-remoting from dependencies list or else jetty wouldn't even start up...

Anyway, when I do a reload of the same page, I get a bunch of these in the logs
(page displays fine):
20.11.2006 17:20:38 org.apache.jasper.servlet.JspServlet serviceJspFile
SCHWERWIEGEND: PWC6117: File
"/home/phuber/Subversion/jsfajax/mainline/testapps/jsf_extensions/target/work/webapp/static/META-INF/libs/scriptaculous/version1.6.4/prototype.js.jspx"
not found
20.11.2006 17:20:38 org.apache.jasper.servlet.JspServlet serviceJspFile
SCHWERWIEGEND: PWC6117: File
"/home/phuber/Subversion/jsfajax/mainline/testapps/jsf_extensions/target/work/webapp/static/META-INF/com_sun_faces_ajax.js.jspx"
not found

The jsfExt:scripts/ tag renders as:

<script type="text/javascript" src="/jsf_extensions/static/META-INF/libs/scriptaculous/version1.6.4/prototype.js.faces"> </script> <script type="text/javascript" src="/jsf_extensions/static/META-INF/com_sun_faces_ajax.js.faces"> </script>

The DEFAULT_SUFFIX is set to ".jspx" here, omitting it has no effect except that
the 404-resource name now ends with .js.jsp instead of .js.jspx...

Since I couldn't find any extra-config like a Servlet Filter in the demo-apps
and docs, I assume my web.xml is fine with just the faces servlet in it.

According to the logs, shale should server all /static/* content and it also
appears to initialize fine. I'm assuming shale is able to serve that .js file
from a jar file contained in a webapp?

20.11.2006 17:31:05 org.apache.shale.remoting.faces.MappingsHelper configureMappings
INFO: /static/:org.apache.shale.remoting.impl.ClassResourceProcessor
20.11.2006 17:31:05 org.apache.shale.remoting.faces.MappingsHelper configureMappings
INFO: Configuring processor mapping
20.11.2006 17:31:05 org.apache.shale.remoting.faces.MappingsHelper configureMappings
INFO: /dynamic/
:org.apache.shale.remoting.impl.MethodBindingProcessor
20.11.2006 17:31:05 org.apache.shale.remoting.faces.MappingsHelper configureMappings
INFO: Configuring processor mapping
20.11.2006 17:31:05 org.apache.shale.remoting.faces.MappingsHelper configureMappings
INFO: /webapp/*:org.apache.shale.remoting.impl.WebResourceProcessor

not sure what to try now, any hints?

Environment

Operating System: All
Platform: All

Affected Versions

[current]

not only encodeAll

What do you think about such a system?

<h:commandButton ...
onclick="DynaFaces.fireAjaxTransaction(this,

{ render: 'suggest.renderList', table' }

);"/>

<h:inputSuggest id="suggest".../>
<h:dataTable id="table">
...
</h:dataTable>

Than you look at a
public void renderList(FacesContext context)...
in the UISuggest component and in the associated renderer.
If not "." after the identifier, the encodeAll method is called instead.

We need also a client-side replacer, specific for the method called (not in the
case of encodeAll).
Maybe a naming convention could be usefull here
(UISuggest.renderList method is invoked from your javascript inside the
onreadystatechange. If not found you could call the default replacer.), or
dynafaces-config.xml file (but maybe you'd want to avoid this configuration
explosion ).

I would find this a very usefull and powerfull feature.
Another extension would be in the case where components have not such a method.
For this specific situation (maybe very common situation), you could use an Ajax
Handler interface, able to take the component in input and provide an ajax
response.

For example a handler (HtmlDataTableHandler) able to re-render only a row of a
HtmlDataTable component.

And why not adding parameters to the method call?
For example:

DynaFaces.fireAjaxTransaction(this, {render: 'suggest.renderList(5, 10), table'}});

Environment

Operating System: All
Platform: All

Affected Versions

[current]

allow Ajax transactions to be 'immediate'

When doing an Ajax transaction with DynaFaces, it would be nice if I could
declare that the transaction should be immediate.

Environment

Operating System: All
Platform: Macintosh

Affected Versions

[current]

value of VIEW_STATE hidden input field gets overwritten when default renderkit is other than HTML_BASIC

I found out, that if using a renderkit other than the HTML_BASIC,the value
attribute of the VIEW_STATE gets overwritten with the value of the current
default renderkit id.
The source of the problem is that when writing the hidden state input with a
non-default renderkit id, the writeAttribute method of AsynResponse.StateCapture
gets called twice, one time for the view-state and a second time for the
renderkit id. so what remains in the attribute 'state' is the ID of the current
renderkit.

here's a small patch to fix this.

Index: main/java/com/sun/faces/extensions/avatar/lifecycle/AsyncResponse.java

— main/java/com/sun/faces/extensions/avatar/lifecycle/AsyncResponse.java
(revision 298)
+++ main/java/com/sun/faces/extensions/avatar/lifecycle/AsyncResponse.java
(working copy)
@@ -39,7 +39,7 @@
private final static ThreadLocal Instance = new
ThreadLocal();

private String viewState;

private AsyncResponse()

{ super(); }

@@ -433,6 +433,7 @@

protected final ResponseWriter orig;
private Object state;

  • private boolean writeState;
    private FastWriter fw;

public StateCapture(ResponseWriter orig, FastWriter fw)

{ @@ -445,8 +446,11 @@ }

public void writeAttribute(String name, Object value, String property)
throws IOException {

  • if ("value".equals(name))Unknown macro: {+ // if we don't do this, we are ending with theDefaultRenderkitId-value in the state hidden-input field+ if (ResponseStateManager.VIEW_STATE_PARAM.equals(name)) writeState = true;+ if ("value".equals(name) && writeState) { this.state = value; + writeState = false; } }

Environment

Operating System: All
Platform: All

Affected Versions

[current]

Dynamic Faces difficult to impossible to use with custom UIViewRoot

Dynamic Faces is requires a custom UIViewRoot, which is fine. However, when
integrating this with other frameworks that also require this... this is a problem.

It is possible to have the other framework or app developer's code extend the
PartialTraversalViewRoot, however, this is not a good design pattern. It
requires built-time dependencies that tie the 2 frameworks together. It limits
the other framework to extending from DF's ViewRoot.

It would be nice if there was an Interface defined by DF so that other
frameworks could integrate w/o having a direct inheritance dependency. It would
be better if it were possible to completely remove the build-time dependency by
having functionality in the UIViewRoot be added to the standard UIViewRoot and /
or moving the code to other areas of DF's that would not conflict (utility
methods, etc.).

Please let me know if more clarification is needed.

Environment

Operating System: All
Platform: All

Affected Versions

[current]

fireAjaxTransaction Problems

I've got a very simple page (and bean):

<h:form id="form">

DynaFaces.fireAjaxTransaction

<h:commandButton value="fire"
actionListener="#

{bean.fire}

"
onclick="DynaFaces.fireAjaxTransaction(this);"/>

<h:outputText value="Result:"/>
<h:outputText id="result" value="#

{bean.result}

"/>

</h:form>

Expectation is that whole view is refreshed via Ajax.
However, looks like Ajax transaction is not happening - looks like
form submit is happening.

Specifying the id of the output component as in:

fireAjaxTransaction(this),

{render:result}

...

makes no difference.

Environment

Operating System: All
Platform: All

Affected Versions

[current]

AjaxZone eventType Option Doesn't Work

If I have a very simple page:

<jsfExt:ajaxZone id="zone1" eventType="onmouseover" action="..." >
<h:inputText id="text"/>
</jsfExt:ajaxZone>

The ajax request does not occur when the input text field is moused over...

Environment

Operating System: All
Platform: All

Affected Versions

[current]

Use of encodeAll() makes integration difficult for 1.1 ViewHandlers

UIComponent.encodeAll() was added in JSF 1.2. It is essentially a utility
method that performs the encoding from encodeBegin() to encodeEnd(). This
functionality is boiler plate and well defined. Calling the individual methods
that are referenced in the encodeAll() method (as done in JSF 1.1) works fine in
JSF 1.2.

However, Dynamic Faces overrides encodeAll() and adds additional functionality.
This does not work with ViewHandlers that perform the walking the way JSF 1.1
worked. Further, it prevents ViewHandlers from providing more sophisticated
functionality when walking the Tree (JSFTemplating invokes events during this
time, for example).

It would be nice if DynamicFaces overrode encodeBegin / End types of methods are
thare more more fine grained and are compatible with JSF 1.1 ViewHandlers.

Environment

Operating System: All
Platform: All

Affected Versions

[current]

Remove Dependency on Shale Remoting

Remove Dependency on Shale Remoting/Avalon/Commons Chain/Apache

Environment

Operating System: All
Platform: All

Affected Versions

[current]

XML parsing error when using entities in firefox

When using entities in the partial response (e.g. german ä --> ä) I get an
error in com_sun_faces_ajax.js:278

Error: [Exception... "An invalid or illegal string was specified" code: "12"
nsresult: "0x8053000c (NS_ERROR_DOM_SYNTAX_ERR)" location:
"http://localhost:8181/seam_cas_12/faces/static/META-INF/com_sun_faces_ajax.js
Line: 278"]
Source File:
http://localhost:8181/seam_12/faces/static/META-INF/com_sun_faces_ajax.js
Line: 278

I think that's because the content-type is set to application/xhtml+xml and
firefox cannot resolve this entity. Is there any workaround for this? Perhaps
setting the content-type to text/html would resolve the problem, but
xhtml-conformance is a must here..

Environment

Operating System: All
Platform: All

Affected Versions

[current]

Make resource resolution pluggable

Dependencies in general should be pluggable. Dynamic Faces currently relies on
shale to provide resource resolution. In some cases, this may not be needed at
all (cases where the resources are not stored in a .jar file). In other cases,
the environment may already have this feature. And in yet other cases, there
may be improved technologies that allow resources to be resolved in different or
better ways. JSF makes virtually every aspect of itself pluggable, this is
perhaps its biggest strength.

IMHO, it would be nice to make this feature pluggable to give flexibility to the
application developer.

Environment

Operating System: All
Platform: All

Affected Versions

[current]

Do not use headers for DynaFaces request meta-data

A conversion at "The Ajax Experience Boston" between Ed Burns and Ted Goddard
revealed that DynaFaces's practice of using request headers to pass request
metadata is problematic.

1. There is a practical limit on header length

2. Proxy servers may garble or fail to transmit the headers.

Environment

Operating System: All
Platform: Macintosh

Affected Versions

[current]

syntax error on avatar.jsp

When i try load avatar.jsp i got this syntax error:

line 26, col 63:

--------------------------------------------------------------^

Environment

Operating System: All
Platform: All

Affected Versions

[current]

CommandLinks do not work with ajax.

Matt suspect that command links do not work inside a zone because they do not send their hidden fields.

Environment

Operating System: All
Platform: Macintosh

Affected Versions

[current]

Unable to use with Java Sun Studio Creator

I tried using your example usages with Java Sun Studio creator, but since it
uses XHTML and not regular JSP, none seemed to worked. Would it be possible to
update the docs with examples of how to integrate Dynafaces into a Java Sun
Studio Creator project?

Thank you

Environment

Operating System: All
Platform: All

Affected Versions

[current]

AjaxZone With SelectOne

I have a very simple jsp page:

<jsfExt:ajaxZone id="zone1">
<h:selectOneMenu id="menu" value="#

{zoneBean.color}">
<f:selectItem itemValue="red" itemLabel="Red" />
<f:selectItem itemValue="blue" itemLabel="Blue" />
<f:selectItem itemValue="yellow" itemLabel="Yellow" />
</h:selectOneMenu>
</jsfExt:ajaxZone>

<jsfExt:ajaxZone id="zone2">
<h:outputText value="#{zoneBean.color}

" />
</jsfExt:ajaxZone>

The managed bean sets a default color of "blue".

When the selectone component displays I see "blue"
displayed rom the outputText component.

However, when I select another color from the selectOne list,
say, "Red", the outputText still says "blue".

Subsequent selections appear to work - so it appears
to not work just on the selection.

Environment

Operating System: All
Platform: All

Affected Versions

[current]

phase listeners added twice

I'm using PartialTraversalLifecycle in my application. I defined two custom
phase listeners defined in my faces-config.xml. What happens is that each
listener is attached twice to the lifecycle. As I can see first time the
listeners are getting attached when DEFAULT lifecycle is getting created. And
when the partial lifecycle is created, the listeners are created one more time,
because PartialTraversalLifecycle calls parent.addPhaseListener(...) again. So I
end up with 4 listeners instead of 2.

Environment

Operating System: Linux
Platform: PC

Affected Versions

[current]

Links seem not to work in AjaxZones

Add a textfield, button, and staticText to an AjaxZone. I used woodstock
components for this part, but it should not matter.

Set the button or AjaxZone's action to the following or a similar backing bean
method, that is, one that sets the static text's value based on input from the
textfield:

public String button1_action()

{ staticText1.setText(textField1.getText()); return null; }

Set the inspectElement of the AjaxZone to the following Javascript function:

function inspect(element)
{
if (element.tagName == 'INPUT' && (element.getAttribute('type') == 'submit'

| element.getAttribute('type') == 'button')) { alert(element.id + ": " + element.onclick); return true; }

if (element.tagName == 'A' && element.hasAttribute('href'))

{ alert(element.id + ": " + element.onclick); return true; }

return false;
}

|

It works nicely.

Now for the problem: replace the button with a woodstock Hyperlink or a standard
HtmlCommandLink or HtmlOutputLink. prototype.js line 803 throws a JavaScript
exception and a conventional page submit occurs.

Environment

Operating System: All
Platform: All

Affected Versions

[current]

[test-time 0.1]: MockObjectsTestCase.setup() configures wrong classes

In the setup()-method of com.sun.faces.mock.MockObjectsTestCase the following
lines:
// Set up Faces API Objects
FactoryFinder.setFactory(FactoryFinder.APPLICATION_FACTORY,
"javax.faces.mock.MockApplicationFactory");
FactoryFinder.setFactory(FactoryFinder.RENDER_KIT_FACTORY,
"javax.faces.mock.MockRenderKitFactory");
seem to specify the wrong packages for the two factories.
These classes are available in the com.sun.faces.mock packe instead.

Environment

Operating System: All
Platform: All

Affected Versions

[current]

Errors in the JavaOne demo

I am testing with FireFox 1.5 on Windows XP.

The home page present some issues if you click the link like "Event System" etc...
When you click them repeatedly and fast they show a strange behavoir, and stop
to work correctly.

In the detail view tab instead, the first and last button of the datascroller
don't work.
The same for the Order Entry.

Some DOJO resource is not retrieved.For example in my browser I found a GET
using XmlHttpRequest directed to the URL
http://sunapp1.whardy.com:8090/jsf-j1/static/META-INF/dojo/src/io/package.js
and the server gives an error as response.
(Note that this URL is not a JSF URL).

Environment

Operating System: All
Platform: All

Affected Versions

[current]

ajaxZone With commandButton

Including ajaxZone tags immediately around a commandButton does not send
proper "partial render" params. For example:

<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib prefix="jsfExt" uri="http://java.sun.com/jsf/extensions/dynafaces" %>

<f:view>
<h:form id="form">
<jsfExt:ajaxZone id="zone2">
<h:commandButton id="_0" value="press me"
actionListener="#

{game.select}

"/>
</jsfExt:ajaxZone>
</h:form>
</f:view>

Does not send the proper partial render params.

Environment

Operating System: All
Platform: All

Affected Versions

[current]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.