You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Hudson (JIRA)" <de...@myfaces.apache.org> on 2014/05/02 19:17:20 UTC

[jira] [Commented] (TOBAGO-1390) "Can't parse to any measure"

    [ https://issues.apache.org/jira/browse/TOBAGO-1390?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13987925#comment-13987925 ] 

Hudson commented on TOBAGO-1390:
--------------------------------

FAILURE: Integrated in tobago-trunk #1173 (See [https://builds.apache.org/job/tobago-trunk/1173/])
TOBAGO-1390: "Can't parse to any measure" (lofwyr: http://svn.apache.org/viewvc/?view=rev&rev=1589775)
* /myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/layout/Measure.java
* /myfaces/tobago/trunk/tobago-core/src/test/java/org/apache/myfaces/tobago/layout/MeasureUnitTest.java
* /myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/resources/org/apache/myfaces/tobago/renderkit/html/standard/standard/script/tobago.js


> "Can't parse to any measure"
> ----------------------------
>
>                 Key: TOBAGO-1390
>                 URL: https://issues.apache.org/jira/browse/TOBAGO-1390
>             Project: MyFaces Tobago
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.0.0-beta-2
>         Environment: Firefox 28.0
>            Reporter: Bernhard Stadler
>            Assignee: Udo Schnurpfeil
>             Fix For: 2.0.0-beta-3
>
>
> In our application, there are frequent occurences of IllegalArgumentExceptions in  org.apache.myfaces.tobago.layout.Measure line 79 (function valueOf(String)), which is being called by org.apache.myfaces.tobago.renderkit.PageRendererBase line 86 (function decodePageState(FacesContext, AbstractUIPage)). 
> I wasn't able to create a reproducing example, but I have been able to isolate the conditions and causes under which this happens in our application:
> Apparently it is caused by JavaScript code (tobago.js, storeClientDimension) sending decimal values (e.g. "1298.4px") as positions or dimensions. Measure.valueOf only checks whether the String received ends with "px" and removes it if necessary, but doesn't have any means to handle decimals.
> In the JavaScript code, I found out that the non-integer value stems from the following lines in function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) in  jquery-1.10.2.js:
> {code}
> // at this point, extra isn't border nor margin, so remove border
> if ( extra !== "margin" ) {
>   val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
> }
> {code}
> Removing the following lines from our CSS file seems to stop the errors from occurring:
> {code}
> .tobago-page {
>     width: 90%;
>     height: 99%;
>     // ...
> }
> {code}
> I'm not sure whether this is a correct use of CSS but I guess it shouldn't cause a RuntimeException, especially as it is caused by unsanitized client data. 
> I don't know what the best course of action might be:
> a) Change the JavaScript code to remove decimal places
> b) Change Measure to remove decimal places
> c) Change Measure to actually store decimals instead of integers



--
This message was sent by Atlassian JIRA
(v6.2#6252)