[JBoss JIRA] (RF-13221) Incorrect XML encoding in AJAX response
by Jonáš Trantina (JIRA)
[ https://issues.jboss.org/browse/RF-13221?page=com.atlassian.jira.plugin.s... ]
Jonáš Trantina commented on RF-13221:
-------------------------------------
MyFaces has the same behaviour, issue persists.
> Incorrect XML encoding in AJAX response
> ---------------------------------------
>
> Key: RF-13221
> URL: https://issues.jboss.org/browse/RF-13221
> Project: RichFaces
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Affects Versions: 4.3.4
> Reporter: Jonáš Trantina
>
> Consider the following example:
> {noformat}
> <h:form>
> <a4j:commandButton render="@form" value="rerender me"/>
> <script src="path_to_some_script?param=asd&important=param"></script>
> </h:form>
> {noformat}
> when commandButton is clicked, the form is rerendered and the response looks like this:
> {noformat}
> <partial-response><changes><update id="someID"><![CDATA[
> ...
> <script src="path_to_some_script?param=asd&important=param"></script>
> ]]</ ... >
> {noformat}
> But this is wrong. Because script tag is already in CDATA, so there is no need for XML encoding for '&' entity.
> This further causes script loading to fail (performed by jsf.js), whenever parameters are needed (e.g. portal environment),
> because script is downloaded from {noformat}"path_to_some_script?param=asd&important=param" {noformat}
> instead of {noformat}"path_to_some_script?param=asd&important=param"{noformat}.
> Another very similar issue is when CDATA element is present in a re-rendered fragment. Example:
> {noformat}
> <h:form>
> <a4j:commandButton render="@form" value="rerender me"/>
> <style type="text/css">
> /* <![CDATA[ */
> .somecssclass {...}
> /* ]] */
> </style>
> </h:form>
> {noformat}
> The AJAX response then looks like so:
> {noformat}
> <partial-response><changes><update id="someID"><![CDATA[
> ...
> <![CDATA[
> ...
> ]]
> ...
> ]]</ ... >
> {noformat}
> And this is incorrect XML, since CDATA cannot contain ']]', so the response is discarded.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 2 months
[JBoss JIRA] (RF-12802) Move page fragments from repository qa to richfaces5
by Juraj Húska (JIRA)
[ https://issues.jboss.org/browse/RF-12802?page=com.atlassian.jira.plugin.s... ]
Juraj Húska edited comment on RF-12802 at 9/30/13 3:22 AM:
-----------------------------------------------------------
Couple of questions which arose during refactoring, and we would like to know your opinion on that:
1. Do we want methods to throw exceptions when certain condition is not met, or we want them to be no operation in such situations. Consider e.g.:
{code}
public void hide() {
if (!getMenuPopupInternal().isDisplayed()) {
throw new IllegalStateException("You are attemting to hide the " + getNameOfFragment() + ", however, no "
+ getNameOfFragment() + " is displayed at the moment!");
}
browser.findElement(Utils.BY_HTML).click();
waitUntilIsNotVisible().perform();
}
{code}
Which throws exception when an user is attempting to hide already hidden popup panel.
2. Do we want to have {{AdvancedInteractions advanced()}} method in the API ? For some Page Fragments, not doing so, means breaking program to interface rule.
E.g. using {{TextInputComponentImpl}} in {{RichFacesAutocomplete}} [here|https://github.com/richfaces/richfaces-qa/blob/master/page-fragments...].
In order to allow user to call {{advanced}} on the returned object, we have to return concrete implementation, not the interface. Is that OK for that component ?
I would not add {{advanced}} to API, because not all implementation (not our, but possible future implementations) need such method.
was (Author: jhuska):
Couple of questions which arose during refactoring, and we would like to know your opinion on that:
1. Do we want methods to throw exceptions when certain condition is not met, or we want them to be no operation in such situations. Consider e.g.:
{code}
public void hide() {
if (!getMenuPopupInternal().isDisplayed()) {
throw new IllegalStateException("You are attemting to hide the " + getNameOfFragment() + ", however, no "
+ getNameOfFragment() + " is displayed at the moment!");
}
browser.findElement(Utils.BY_HTML).click();
waitUntilIsNotVisible().perform();
}
{code}
Which throws exception when an user is attempting to hide already hidden popup panel.
2. Do we want to have {{AdvancedInteractions advanced()}} method in the API ? For some Page Fragments, not doing so, means breaking program to interface rule.
E.g. using {{TextInputComponentImpl}} in {{RichFacesAutocomplete}} [here|https://github.com/richfaces/richfaces-qa/blob/master/page-fragments...].
In order to allow user to call {{advanced}} on the returned object, we have to return concrete implementation, not the interface. Is that OK for that component ?
I would not add {{advanced}} to API, because not all implementation (not our, but possible future implementations) needs such method.
> Move page fragments from repository qa to richfaces5
> ----------------------------------------------------
>
> Key: RF-12802
> URL: https://issues.jboss.org/browse/RF-12802
> Project: RichFaces
> Issue Type: Task
> Security Level: Public(Everyone can see)
> Components: build/distribution
> Affects Versions: 5.0.0.Alpha1
> Reporter: Pavol Pitonak
> Assignee: Brian Leathem
> Fix For: 5.0.0.Alpha2
>
>
> As discussed on community meeting on Feb 12, we should move page fragments for RichFaces components to richfaces5 repository so that they are distributed with framework.
> We should find out how to prepare them so that they are easy to use for community members. RichFaces QE/dev need to test internals of components, community members will probably test only high-level functionality of components. One possible solution would be to create package "internal" in which there would be page fragments extending those from "public" package. QE team would then use "internal" implementations.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 2 months
[JBoss JIRA] (RF-13216) PoupPanel doesn't disappear when rendered="false" and rerender it.
by Juraj Húska (JIRA)
[ https://issues.jboss.org/browse/RF-13216?page=com.atlassian.jira.plugin.s... ]
Juraj Húska edited comment on RF-13216 at 9/30/13 3:05 AM:
-----------------------------------------------------------
I have tried to reproduce the issue on [this|https://github.com/richfaces/richfaces-qa/tree/RF-13216] branch.
* reproducer facelet [here|https://github.com/richfaces/richfaces-qa/blob/RF-13216/metamer/appl...]
* managed bean [here|https://github.com/richfaces/richfaces-qa/blob/RF-13216/metamer/appl...]
I am able to *reproduce the second mentioned issue*:
Invoking request from the outside form is broken. However, I can reproduce the issue with {{h:commandButton}}. When using {{a4j:commandButton}} from outside form, the action method is called and an AJAX request is made.
Steps to reproduce:
# load the reproducer page: http://localhost:8080/metamer/faces/components/richPopupPanel/rf-13216.xhtml
# click on the button: "outside full page"
# see that no message is logged in the server console - also no request is fired - full request expected
# when clicking on the button: "outside Ajax" - there is message logged on the console - expected AJAX request is fired
Should I do something more ?
was (Author: jhuska):
I have tried to reproduce the issue on [this|https://github.com/richfaces/richfaces-qa/tree/RF-13216] branch.
* reproducer facelet [here|https://github.com/richfaces/richfaces-qa/blob/RF-13216/metamer/appl...]
* managed bean [here|https://github.com/richfaces/richfaces-qa/blob/RF-13216/metamer/appl...]
I am able to reproduce the second mentioned issue:
Invoking request from the outside form is broken. However, I can reproduce the issue with {{h:commandButton}}. When using {{a4j:commandButton}} from outside form, the action method is called and an AJAX request is made.
Steps to reproduce:
# load the reproducer page: http://localhost:8080/metamer/faces/components/richPopupPanel/rf-13216.xhtml
# click on the button: "outside full page"
# see that no message is logged in the server console - also no request is fired - full request expected
# when clicking on the button: "outside Ajax" - there is message logged on the console - expected AJAX request is fired
Should I do something more ?
> PoupPanel doesn't disappear when rendered="false" and rerender it.
> ------------------------------------------------------------------
>
> Key: RF-13216
> URL: https://issues.jboss.org/browse/RF-13216
> Project: RichFaces
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: component-output
> Affects Versions: 4.3.3
> Reporter: Takayuki Konishi
> Attachments: rf3_3_4-modalpanel.zip, rf4_3_3-popuppanel.zip
>
>
> If you use the richfaces popupPanel in the default domElementAttachment="body" mode it will not disappear under specific conditions.
> {code:xml}
> <h:body title="page 1">
> <a4j:outputPanel id="myPanel">
> <rich:popupPanel domElementAttachment="body" show="true" rendered="#{test.showPopup}">
> <h:form>
> <a4j:commandButton action="#{test.switchPopup()}" value="switch off" render="myPanel"/>
> </h:form>
> </rich:popupPanel>
> <h:form>
> <a4j:commandButton action="#{test.switchPopup()}" value="switch on" render="myPanel"/>
> </h:form>
> </a4j:outputPanel>
> </h:body>
> {code}
> In Richfaces 3.3.x, on the other hand, there was a component cleanup system ({{memory.js _cleanComponentNodes}}) which was responsible to remove components after ajax calls if the component was removed from the current view.
> Therefore the above example (revert {{popupPanel}} to {{modalPanel}}) works in RF3.3.4.Final.
> Note:
> In case {{domElementAttachment="parent"}}, it will show [the other JSF2 bug|https://java.net/jira/browse/JAVASERVERFACES_SPEC_PUBLIC-790] where the view state was lost, therefore you must click the action button twice to really call the function.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 2 months
[JBoss JIRA] (RF-13221) Incorrect XML encoding in AJAX response
by Jonáš Trantina (JIRA)
[ https://issues.jboss.org/browse/RF-13221?page=com.atlassian.jira.plugin.s... ]
Jonáš Trantina commented on RF-13221:
-------------------------------------
I took the liberty of creating ticket on Mojarra JIRA.
https://java.net/jira/browse/JAVASERVERFACES-3038
I will check whether MyFaces has the same behaviour and report soon.
> Incorrect XML encoding in AJAX response
> ---------------------------------------
>
> Key: RF-13221
> URL: https://issues.jboss.org/browse/RF-13221
> Project: RichFaces
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Affects Versions: 4.3.4
> Reporter: Jonáš Trantina
>
> Consider the following example:
> {noformat}
> <h:form>
> <a4j:commandButton render="@form" value="rerender me"/>
> <script src="path_to_some_script?param=asd&important=param"></script>
> </h:form>
> {noformat}
> when commandButton is clicked, the form is rerendered and the response looks like this:
> {noformat}
> <partial-response><changes><update id="someID"><![CDATA[
> ...
> <script src="path_to_some_script?param=asd&important=param"></script>
> ]]</ ... >
> {noformat}
> But this is wrong. Because script tag is already in CDATA, so there is no need for XML encoding for '&' entity.
> This further causes script loading to fail (performed by jsf.js), whenever parameters are needed (e.g. portal environment),
> because script is downloaded from {noformat}"path_to_some_script?param=asd&important=param" {noformat}
> instead of {noformat}"path_to_some_script?param=asd&important=param"{noformat}.
> Another very similar issue is when CDATA element is present in a re-rendered fragment. Example:
> {noformat}
> <h:form>
> <a4j:commandButton render="@form" value="rerender me"/>
> <style type="text/css">
> /* <![CDATA[ */
> .somecssclass {...}
> /* ]] */
> </style>
> </h:form>
> {noformat}
> The AJAX response then looks like so:
> {noformat}
> <partial-response><changes><update id="someID"><![CDATA[
> ...
> <![CDATA[
> ...
> ]]
> ...
> ]]</ ... >
> {noformat}
> And this is incorrect XML, since CDATA cannot contain ']]', so the response is discarded.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 2 months
[JBoss JIRA] (RF-13224) RF 4.5 build fails to render optimized resources
by Lukáš Fryč (JIRA)
[ https://issues.jboss.org/browse/RF-13224?page=com.atlassian.jira.plugin.s... ]
Lukáš Fryč commented on RF-13224:
---------------------------------
I remember there is special handling of #{resource['...']} URLs in resource optimizer's code which allows to render.
We will need to add support for #{richSkin.imageUrl('...')} as well.
[~bleathem], do you see any problem with pre-rendering #{richSkin.imageUrl['...']} URLs?
> RF 4.5 build fails to render optimized resources
> ------------------------------------------------
>
> Key: RF-13224
> URL: https://issues.jboss.org/browse/RF-13224
> Project: RichFaces
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: resource handling
> Affects Versions: 4.5.0.Alpha1
> Reporter: Lukáš Fryč
> Assignee: Michal Petrov
> Fix For: 4.5.0.Alpha1
>
>
> I believe it's caused by:
> https://github.com/richfaces/richfaces/commit/46b03d226ae420bcbc8abd7f79e...
> {code}
> [INFO] --- richfaces-resource-optimizer-maven-plugin:5.0.0.Alpha1:process (static-resources) @ richfaces-components-rich ---
> SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
> SLF4J: Defaulting to no-operation (NOP) logger implementation
> SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
> [ERROR] Exception rendering resorce org.richfaces:iteration/dataGrid/datagrid.ecss using skin blueSky: Method not found: SkinImpl: {warningBackgroundColor=#FFE6E6, headerWeightFont=bold, tableBorderColor=#C0C0C0, controlTextColor=#000000, headerTextColor=#000000, generalTextColor=#000000, selectControlColor=#E79A00, headerGradientColor=#F2F7FF, tableSubfooterBackgroundColor=#f1f1f1, trimColor=#D6E6FB, shadowOpacity=1, tipBorderColor=#E5973E , calendarCurrentBackgroundColor=#FF7800, subBorderColor=#ffffff, editorBackgroundColor=#F1F1F1, generalLinkColor=#0078D0, gradientType=plain, tabSizeFont=11px, calendarHolidaysTextColor=#FF7800, buttonSizeFont=11px, headerBackgroundColor=#BED6F8, hoverLinkColor=#0090FF, tabFamilyFont=Arial, Verdana, sans-serif, calendarSpecBackgroundColor=#E4F5E2, calendarHolidaysBackgroundColor=#FFEBDA, editorMainTextColor=#0B356C, tabDisabledTextColor=#8DB7F3, tableBorderWidth=1px, buttonFamilyFont=Arial, Verdana, sans-serif, generalFamilyFont=Arial, Verdana, sans-serif , tableBackgroundColor=#FFFFFF, calendarWeekBackgroundColor=#F5F5F5, tipBackgroundColor=#FAE6B0 , editorMainBackgroundColor=#D6E6FB, tableSubHeaderBackgroundColor=#ECF4FE, tableHeaderTextColor=#0B356C, calendarCurrentTextColor=#FFEBDA, editBackgroundColor=#FEFFDA, shadowBackgroundColor=#000000, headerFamilyFont=Arial, Verdana, sans-serif, tableFooterBackgroundColor=#cccccc, additionalBackgroundColor=#ECF4FE, panelBorderColor=#BED6F8, visitedLinkColor=#0090FF, controlBackgroundColor=#ffffff, inputNumberSliderBarHandlerBackgroundColor=#0078D0, errorColor=#FF0000, calendarSpecTextColor=#000000, tabBackgroundColor=#C6DEFF, tableHeaderBackgroundColor=#D6E6FB, generalBackgroundColor=#FFFFFF, generalSizeFont=11px, warningColor=#FF4719, headerSizeFont=11px}.imageUrl(java.lang.String)
> javax.el.MethodNotFoundException: Method not found: SkinImpl: {warningBackgroundColor=#FFE6E6, headerWeightFont=bold, tableBorderColor=#C0C0C0, controlTextColor=#000000, headerTextColor=#000000, generalTextColor=#000000, selectControlColor=#E79A00, headerGradientColor=#F2F7FF, tableSubfooterBackgroundColor=#f1f1f1, trimColor=#D6E6FB, shadowOpacity=1, tipBorderColor=#E5973E , calendarCurrentBackgroundColor=#FF7800, subBorderColor=#ffffff, editorBackgroundColor=#F1F1F1, generalLinkColor=#0078D0, gradientType=plain, tabSizeFont=11px, calendarHolidaysTextColor=#FF7800, buttonSizeFont=11px, headerBackgroundColor=#BED6F8, hoverLinkColor=#0090FF, tabFamilyFont=Arial, Verdana, sans-serif, calendarSpecBackgroundColor=#E4F5E2, calendarHolidaysBackgroundColor=#FFEBDA, editorMainTextColor=#0B356C, tabDisabledTextColor=#8DB7F3, tableBorderWidth=1px, buttonFamilyFont=Arial, Verdana, sans-serif, generalFamilyFont=Arial, Verdana, sans-serif , tableBackgroundColor=#FFFFFF, calendarWeekBackgroundColor=#F5F5F5, tipBackgroundColor=#FAE6B0 , editorMainBackgroundColor=#D6E6FB, tableSubHeaderBackgroundColor=#ECF4FE, tableHeaderTextColor=#0B356C, calendarCurrentTextColor=#FFEBDA, editBackgroundColor=#FEFFDA, shadowBackgroundColor=#000000, headerFamilyFont=Arial, Verdana, sans-serif, tableFooterBackgroundColor=#cccccc, additionalBackgroundColor=#ECF4FE, panelBorderColor=#BED6F8, visitedLinkColor=#0090FF, controlBackgroundColor=#ffffff, inputNumberSliderBarHandlerBackgroundColor=#0078D0, errorColor=#FF0000, calendarSpecTextColor=#000000, tabBackgroundColor=#C6DEFF, tableHeaderBackgroundColor=#D6E6FB, generalBackgroundColor=#FFFFFF, generalSizeFont=11px, warningColor=#FF4719, headerSizeFont=11px}.imageUrl(java.lang.String)
> at org.jboss.el.util.ReflectionUtil.findMethod(ReflectionUtil.java:221)
> at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:279)
> at org.jboss.el.parser.AstMethodSuffix.getValue(AstMethodSuffix.java:59)
> at org.jboss.el.parser.AstValue.getValue(AstValue.java:67)
> at org.jboss.el.parser.AstDeferredExpression.getValue(AstDeferredExpression.java:26)
> at org.jboss.el.parser.AstCompositeExpression.getValue(AstCompositeExpression.java:31)
> at org.jboss.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
> at org.richfaces.resource.optimizer.faces.ApplicationImpl.evaluateExpressionGet(ApplicationImpl.java:485)
> at org.richfaces.resource.CSSVisitorImpl.visitStyleDeclaration(CSSVisitorImpl.java:212)
> at org.richfaces.resource.AbstractCSSVisitor.visitStyleRule(AbstractCSSVisitor.java:98)
> at org.richfaces.resource.AbstractCSSVisitor.visitRule(AbstractCSSVisitor.java:61)
> at org.richfaces.resource.AbstractCSSVisitor.visitStyleSheet(AbstractCSSVisitor.java:48)
> at org.richfaces.resource.CompiledCSSResource.getInputStream(CompiledCSSResource.java:122)
> at org.richfaces.resource.optimizer.resource.handler.impl.DynamicResourceWrapper.getInputStream(DynamicResourceWrapper.java:56)
> at org.richfaces.resource.optimizer.resource.writer.impl.ResourceWriterImpl$ResourceInputStreamSupplier.getInput(ResourceWriterImpl.java:70)
> at org.richfaces.resource.optimizer.resource.writer.impl.ResourceWriterImpl$ResourceInputStreamSupplier.getInput(ResourceWriterImpl.java:60)
> at org.richfaces.resource.optimizer.resource.writer.impl.ThroughputResourceProcessor.process(ThroughputResourceProcessor.java:53)
> at org.richfaces.resource.optimizer.resource.writer.impl.ResourceWriterImpl.writeResource(ResourceWriterImpl.java:127)
> at org.richfaces.resource.optimizer.task.ResourceTaskFactoryImpl$ResourcesRendererCallable.renderResource(ResourceTaskFactoryImpl.java:96)
> at org.richfaces.resource.optimizer.task.ResourceTaskFactoryImpl$ResourcesRendererCallable.call(ResourceTaskFactoryImpl.java:160)
> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
> at java.util.concurrent.FutureTask.run(FutureTask.java:166)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
> at java.util.concurrent.FutureTask.run(FutureTask.java:166)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:722)
> [ERROR] Exception rendering resorce org.richfaces:iteration/dataGrid/datagrid.ecss using skin classic: Method not found: SkinImpl: {warningBackgroundColor=#FFE6E6, headerWeightFont=bold, tableBorderColor=#C0C0C0, controlTextColor=#000000, headerTextColor=#FFFFFF, generalTextColor=#000000, selectControlColor=#E79A00, headerGradientColor=#93C4E5, tableSubfooterBackgroundColor=#f1f1f1, trimColor=#C6D6EA, shadowOpacity=1, tipBorderColor=#E5973E , calendarCurrentBackgroundColor=#FF7800, subBorderColor=#ffffff, editorBackgroundColor=#F1F1F1, generalLinkColor=#0078D0, gradientType=plain, tabSizeFont=11px, calendarHolidaysTextColor=#FF7800, buttonSizeFont=11px, headerBackgroundColor=#4A75B5, hoverLinkColor=#0090FF, tabFamilyFont=Arial, Verdana, sans-serif, calendarSpecBackgroundColor=#E4F5E2, calendarHolidaysBackgroundColor=#FFEBDA, editorMainTextColor=#FFFFFF, tabDisabledTextColor=#6A92CF, tableBorderWidth=1px, buttonFamilyFont=Arial, Verdana, sans-serif, generalFamilyFont=Arial, Verdana, sans-serif , tableBackgroundColor=#FFFFFF, calendarWeekBackgroundColor=#F5F5F5, tipBackgroundColor=#FAE6B0 , editorMainBackgroundColor=#7596C6, tableSubHeaderBackgroundColor=#93C4E5, tableHeaderTextColor=#FFFFFF, calendarCurrentTextColor=#FFEBDA, editBackgroundColor=#FEFFDA, shadowBackgroundColor=#000000, headerFamilyFont=Arial, Verdana, sans-serif, tableFooterBackgroundColor=#cccccc, additionalBackgroundColor=#EAF0F8, panelBorderColor=#C0C0C0, visitedLinkColor=#0090FF, controlBackgroundColor=#ffffff, inputNumberSliderBarHandlerBackgroundColor=#0078D0, errorColor=#FF0000, calendarSpecTextColor=#000000, tabBackgroundColor=#9FBDEB, tableHeaderBackgroundColor=#4A75B5, generalBackgroundColor=#F3F2F2, generalSizeFont=11px, warningColor=#FF4719, headerSizeFont=11px}.imageUrl(java.lang.String)
> javax.el.MethodNotFoundException: Method not found: SkinImpl: {warningBackgroundColor=#FFE6E6, headerWeightFont=bold, tableBorderColor=#C0C0C0, controlTextColor=#000000, headerTextColor=#FFFFFF, generalTextColor=#000000, selectControlColor=#E79A00, headerGradientColor=#93C4E5, tableSubfooterBackgroundColor=#f1f1f1, trimColor=#C6D6EA, shadowOpacity=1, tipBorderColor=#E5973E , calendarCurrentBackgroundColor=#FF7800, subBorderColor=#ffffff, editorBackgroundColor=#F1F1F1, generalLinkColor=#0078D0, gradientType=plain, tabSizeFont=11px, calendarHolidaysTextColor=#FF7800, buttonSizeFont=11px, headerBackgroundColor=#4A75B5, hoverLinkColor=#0090FF, tabFamilyFont=Arial, Verdana, sans-serif, calendarSpecBackgroundColor=#E4F5E2, calendarHolidaysBackgroundColor=#FFEBDA, editorMainTextColor=#FFFFFF, tabDisabledTextColor=#6A92CF, tableBorderWidth=1px, buttonFamilyFont=Arial, Verdana, sans-serif, generalFamilyFont=Arial, Verdana, sans-serif , tableBackgroundColor=#FFFFFF, calendarWeekBackgroundColor=#F5F5F5, tipBackgroundColor=#FAE6B0 , editorMainBackgroundColor=#7596C6, tableSubHeaderBackgroundColor=#93C4E5, tableHeaderTextColor=#FFFFFF, calendarCurrentTextColor=#FFEBDA, editBackgroundColor=#FEFFDA, shadowBackgroundColor=#000000, headerFamilyFont=Arial, Verdana, sans-serif, tableFooterBackgroundColor=#cccccc, additionalBackgroundColor=#EAF0F8, panelBorderColor=#C0C0C0, visitedLinkColor=#0090FF, controlBackgroundColor=#ffffff, inputNumberSliderBarHandlerBackgroundColor=#0078D0, errorColor=#FF0000, calendarSpecTextColor=#000000, tabBackgroundColor=#9FBDEB, tableHeaderBackgroundColor=#4A75B5, generalBackgroundColor=#F3F2F2, generalSizeFont=11px, warningColor=#FF4719, headerSizeFont=11px}.imageUrl(java.lang.String)
> at org.jboss.el.util.ReflectionUtil.findMethod(ReflectionUtil.java:221)
> at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:279)
> at org.jboss.el.parser.AstMethodSuffix.getValue(AstMethodSuffix.java:59)
> at org.jboss.el.parser.AstValue.getValue(AstValue.java:67)
> at org.jboss.el.parser.AstDeferredExpression.getValue(AstDeferredExpression.java:26)
> at org.jboss.el.parser.AstCompositeExpression.getValue(AstCompositeExpression.java:31)
> at org.jboss.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
> at org.richfaces.resource.optimizer.faces.ApplicationImpl.evaluateExpressionGet(ApplicationImpl.java:485)
> at org.richfaces.resource.CSSVisitorImpl.visitStyleDeclaration(CSSVisitorImpl.java:212)
> at org.richfaces.resource.AbstractCSSVisitor.visitStyleRule(AbstractCSSVisitor.java:98)
> at org.richfaces.resource.AbstractCSSVisitor.visitRule(AbstractCSSVisitor.java:61)
> at org.richfaces.resource.AbstractCSSVisitor.visitStyleSheet(AbstractCSSVisitor.java:48)
> at org.richfaces.resource.CompiledCSSResource.getInputStream(CompiledCSSResource.java:122)
> at org.richfaces.resource.optimizer.resource.handler.impl.DynamicResourceWrapper.getInputStream(DynamicResourceWrapper.java:56)
> at org.richfaces.resource.optimizer.resource.writer.impl.ResourceWriterImpl$ResourceInputStreamSupplier.getInput(ResourceWriterImpl.java:70)
> at org.richfaces.resource.optimizer.resource.writer.impl.ResourceWriterImpl$ResourceInputStreamSupplier.getInput(ResourceWriterImpl.java:60)
> at org.richfaces.resource.optimizer.resource.writer.impl.ThroughputResourceProcessor.process(ThroughputResourceProcessor.java:53)
> at org.richfaces.resource.optimizer.resource.writer.impl.ResourceWriterImpl.writeResource(ResourceWriterImpl.java:127)
> at org.richfaces.resource.optimizer.task.ResourceTaskFactoryImpl$ResourcesRendererCallable.renderResource(ResourceTaskFactoryImpl.java:96)
> at org.richfaces.resource.optimizer.task.ResourceTaskFactoryImpl$ResourcesRendererCallable.call(ResourceTaskFactoryImpl.java:160)
> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
> at java.util.concurrent.FutureTask.run(FutureTask.java:166)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
> at java.util.concurrent.FutureTask.run(FutureTask.java:166)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:722)
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 2 months
[JBoss JIRA] (RF-13192) RF4: <rich:dataTable> re-render single cell with ajax is not possible
by Juraj Húska (JIRA)
[ https://issues.jboss.org/browse/RF-13192?page=com.atlassian.jira.plugin.s... ]
Juraj Húska commented on RF-13192:
----------------------------------
The reproducer can be found here:
* [facelet|https://github.com/richfaces/richfaces-qa/blob/master/metamer/app...]
* [bean|https://github.com/richfaces/richfaces-qa/blob/master/metamer/applic...]
In my reproducer, using render target {{tableId@rows[rowKeyVar]}} *does not render the changed row*.
Please, have a look at the [particular render target|https://github.com/richfaces/richfaces-qa/blob/master/metamer/appl...], whether I understand you correctly.
Steps to reproduce the issue:
# deploy metamer and load: http://localhost:8080/metamer/faces/components/richDataTable/rf-13192.xhtml
# delete the text from the e.g. first row
# make a BLUR on that input, see that an AJAX request was made
# the expected result is that input will become red, however, the row is still green ==> the row was not re-rendered
> RF4: <rich:dataTable> re-render single cell with ajax is not possible
> ---------------------------------------------------------------------
>
> Key: RF-13192
> URL: https://issues.jboss.org/browse/RF-13192
> Project: RichFaces
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Affects Versions: 4.3.3
> Reporter: Alexey Shakov
> Assignee: Juraj Húska
>
> Following code
> {code:xml}
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html"
> xmlns:c="http://java.sun.com/jsp/jstl/core"
> xmlns:f="http://java.sun.com/jsf/core" xml:lang="en" lang="en">
> <h:head>
> </h:head>
> <h:body>
> <h:form>
> <h:dataTable value="#{testBean.getData()}" var="row" id="table">
> <h:column id="cell">
> <h:inputText value="#{row[0]}" id="input" style="background-color:#{empty row[0] ? 'red' : 'green'}">
> <f:ajax event="change" render="cell" />
> </h:inputText>
> </h:column>
> </h:dataTable>
> </h:form>
> </h:body>
> </html>
> {code}
> {code:java}
> @ManagedBean(name="testBean")
> @SessionScoped
> public class TestBean {
> private static String [][] initdata = {{"test"},{null},{null},{null},{null}};
>
> private List<String[]> data = Arrays.asList(initdata);
>
> public List<String[]> getData() {
> return data;
> }
> }
> {code}
> does not work: table cell getting not updated, when input field content is changed. Relacing render="cell" with render="input" fixes the problem.
> See also the forum thread.
> Similar code works with RF3.3.3
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 2 months
[JBoss JIRA] (RF-13192) RF4: <rich:dataTable> re-render single cell with ajax is not possible
by Juraj Húska (JIRA)
[ https://issues.jboss.org/browse/RF-13192?page=com.atlassian.jira.plugin.s... ]
Juraj Húska edited comment on RF-13192 at 9/27/13 11:03 AM:
------------------------------------------------------------
The reproducer can be found here:
* [facelet|https://github.com/richfaces/richfaces-qa/blob/master/metamer/app...]
* [bean|https://github.com/richfaces/richfaces-qa/blob/master/metamer/applic...]
In my reproducer, using render target {{tableId@rows[rowKeyVar]}} *does not render the changed row*.
Please, have a look at the [particular render target|https://github.com/richfaces/richfaces-qa/blob/master/metamer/appl...], whether I understand you correctly.
Steps to reproduce the issue:
# deploy metamer and load: http://localhost:8080/metamer/faces/components/richDataTable/rf-13192.xhtml
# delete the text from the e.g. first row
# make a BLUR on that input, see that an AJAX request was made
# the expected result is that the input will become red, however, the input is still green ==> the row was not re-rendered
was (Author: jhuska):
The reproducer can be found here:
* [facelet|https://github.com/richfaces/richfaces-qa/blob/master/metamer/app...]
* [bean|https://github.com/richfaces/richfaces-qa/blob/master/metamer/applic...]
In my reproducer, using render target {{tableId@rows[rowKeyVar]}} *does not render the changed row*.
Please, have a look at the [particular render target|https://github.com/richfaces/richfaces-qa/blob/master/metamer/appl...], whether I understand you correctly.
Steps to reproduce the issue:
# deploy metamer and load: http://localhost:8080/metamer/faces/components/richDataTable/rf-13192.xhtml
# delete the text from the e.g. first row
# make a BLUR on that input, see that an AJAX request was made
# the expected result is that input will become red, however, the row is still green ==> the row was not re-rendered
> RF4: <rich:dataTable> re-render single cell with ajax is not possible
> ---------------------------------------------------------------------
>
> Key: RF-13192
> URL: https://issues.jboss.org/browse/RF-13192
> Project: RichFaces
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Affects Versions: 4.3.3
> Reporter: Alexey Shakov
>
> Following code
> {code:xml}
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html"
> xmlns:c="http://java.sun.com/jsp/jstl/core"
> xmlns:f="http://java.sun.com/jsf/core" xml:lang="en" lang="en">
> <h:head>
> </h:head>
> <h:body>
> <h:form>
> <h:dataTable value="#{testBean.getData()}" var="row" id="table">
> <h:column id="cell">
> <h:inputText value="#{row[0]}" id="input" style="background-color:#{empty row[0] ? 'red' : 'green'}">
> <f:ajax event="change" render="cell" />
> </h:inputText>
> </h:column>
> </h:dataTable>
> </h:form>
> </h:body>
> </html>
> {code}
> {code:java}
> @ManagedBean(name="testBean")
> @SessionScoped
> public class TestBean {
> private static String [][] initdata = {{"test"},{null},{null},{null},{null}};
>
> private List<String[]> data = Arrays.asList(initdata);
>
> public List<String[]> getData() {
> return data;
> }
> }
> {code}
> does not work: table cell getting not updated, when input field content is changed. Relacing render="cell" with render="input" fixes the problem.
> See also the forum thread.
> Similar code works with RF3.3.3
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 2 months