Bad idea checking rendered status in HtmlBasicRenderer.getChildren()

com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getChildren() looks at all its children and only returns those that have their rendered attribute set to true. This is a bad idea, because the rendered property of a child may be a value binding that depends on the actual encoding of a sibling component that comes before it.
A case in point is an assignment component, such as I describe in http://forum.java.sun.com/thread.jspa?threadID=563036 . This component sets a value binding variable when it is rendered. If a subsequent component references this value binding in its rendered property, then the value will not have been properly set when com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getChildren() attempts to collect children.
One workaround is wildly inefficient: have UIAssignment perform the assignment in its own isRendered() method. (This also assumes that getChildren() will call each isRendered() in the correct order.)
A better workaround would be to create a custom renderer for UIData that is more forgiving to value-binding rendered properties.
Would it hurt for the JSF specification to simply state that whether a component is rendered may not be conclusively determined until after all preceding components have been rendered? This would allow my UIAssignment to work, and would moreover allow any UIComponent.rendered to feel safe that any value binding it depends on will have been called if it was to be set in a preceding component's encoding routines.
Garret

I've created a nice workaround that adds a benefit. UIAssignment now allows children and has scope semantics---all components relying on the assignment should be children of the UIAssignment.
To pull this off, UIAssignment returns true for getRendersChildren(). Now, HtmlBasicRenderer or any other code should allow UIAssignment to determine for itself whether its children should be encoded. This way UIAssignment can make sure the assignment has been performed before checking each child's rendered status.
An added benefit of this change is that UIAssignment can have true scope semantics, setting the value before encoding/decoding, and restoring the value to its previous state afterwards.
This won't help other components that rely on activity in previous sibling encodings for determining rendered status, though. But I've fixed my UIAssignment problem.
Garret

Similar Messages

  • All timer jobs don't start (paused in check job status)

    Hello,
    Some bad things have happend to our SharePoint Server 2010. All timer jobs suddenly stopped running. The last time they ran successfully was 09/26/11. Since that time all jobs have been scheduled to run according to their schedule but don't actually run.
    In the Check Job Status view there is a list of jobs scheduled to run 09/26/11 which are currently paused for some reasons, other jobs don't run at all. 
    Is it possible to unpause these jobs and let other jobs to run? Any ideas would be very much apprecaited. Thank you in advance.

    Hi,
    Thanks for your post.
    Pausable Timer Jobs
    You can now create pausable timer jobs. This is done by inheriting from the
    SPPausableJobDefinition and overriding Execute(SPJobState) instead of
    Execute(Guid). You can then use the current job state (SPJobState) to store values which are retrieved when the job is resumed.
    Running jobs on all content databases
    Another new timer job derivative type is the SPContentDatabaseJobDefinition.This is a timer job specifically made to perform actions on content databases. The timer job is distributed on the WFE servers and each content database is only
    processed by one job. Override the Execute(SPContentDatabase, SPJobState) to add your own processing. The job supports pausing.
    Running jobs on all Site Collections
    A really interesting new timer job type is the SPAllSitesJobDefinition. This one is derived from the SPContentDatabaseJobDefinition and has a method called
    ProcessSite(SPSite, SPJobState) which you override to process the SPSite object. This could be very useful to build site inventories/directories.
    Running job on a specific server
    The SPServerJobDefinition is a pausable timer job that is designed to be targeted to a specific server (SPServer).
    Running jobs for specific services
    The SPServiceJobDefinition is another pausable timer job that runs a job on all servers where a specific
    SPService has been provisioned. A very similar job is the
    SPFirstAvailableServiceJobDefinition which runs the job on the first available server which has a specific SPService installed. If you would like to run a job an all servers you can easily use SPServiceJobDefinition. Then use the timer job service
    (which is installed on all servers, except dedicated database servers) and pass
    SPFarm.Local.TimerService as the SPService parameter in the constructor.
    All of the new specific timer jobs are essentially smart derivatives of the SPJobDefinition but using these new abstract classes will certainly save you some time when you need to target your timer jobs.
    I hope that helps.

  • CUA: One or more errors occurred while checking the status of Windows Firewall on the cluster nodes

    Cluster with 2 hosts 2012 R2
    Scheduled CAU fails with:
    CAU run {4EFE116C-AB49-456D-8EED-F7EDC764DA49} on cluster Cluster1 failed. Error Message:One or more errors occurred while checking the status of Windows Firewall on the cluster nodes. Review the errors for more information on how to resolve the problems.
    Error Code:-2146233088 Stack:   at MS.Internal.ClusterAwareUpdating.Util.<CheckFirewallsAsync>d__3a.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at Microsoft.ClusterAwareUpdating.Commands.InvokeCauRunCommand.<_ProcessCluster>d__78.MoveNext()
    If I run CAU "Analyze Readiness" ALL comes as PASS
    If I run CUA by hand on same hosts with NO change to the system (not even reboot) it finishes OK
    Anybody any ideas?
    Thanks
    Seb

    Hi,
    In some case if you disabled the connection in Windows firewall inbound of
     "Cluster aware updating" service it will can’t use the CAU.
    More information:
    Starting with Cluster-Aware Updating: Self-Updating
    http://blogs.technet.com/b/filecab/archive/2012/05/17/starting-with-cluster-aware-updating-self-updating.aspx
    What is Cluster Aware Updating in Windows Server 2012? (Part 1)
    http://blogs.technet.com/b/mspfe/archive/2013/02/06/what-is-cluster-aware-updating-in-windows-server-2012.aspx
    Cluster-Aware Updating Overview
    http://technet.microsoft.com/en-us/library/hh831694.aspx
    Hope this helps.
    We
    are trying to better understand customer views on social support experience, so your participation in this
    interview project would be greatly appreciated if you have time.
    Thanks for helping make community forums a great place.

  • BAdi DPR_EVENTS for user statuses

    Hi,
    Anyone having ideas on how to use the BAdi DPR_EVENTS when user defined statuses are triggered?
    Regards,
    Vivek?

    Hi Vivek,
    It's not possible to use this BADI for user defined statuses.
    We had a similar need a few months ago. We solved it by implementing an enhancement (pre/post exit) in dynpro DPR_STATUS_THRESHOLDS, view VI_STATUS, method ONACTIONCHANGE_STATUS. We can detect here which status (user or system) has been selected.
    Matthias

  • Return vector for points done of check buffer status in onboard program

    Background
    I am trying to develop a trigger application based on the current position of a contour profile.
    I can not use breakpoints as the application is using hydraulic cylinders with analog feedback
    for the primary position. In order to make sure the trigger happens relative to the motion regardless
    of host load I want to run the application as an onboard program.
    My idea is to read the buffer status points done and generate a pulse out as a trigger when the
    points done is greater than the programmed trigger point. For example if I want to trigger on the 42
    point of a 100 point profile, I would read points done of the main contour buffer. When points done
    is greater than or equal to 42, I would generate a short pulse as a trigger.
    Question
    My problem is, I cannot find the order that the check buffer status VI returns the data to an onboard program
    return vector. As I understand it, I need 3 variables to hold the returned data. One each for State, Backlog, and
    Points Done. If I set the return vector to 10, does State get stored in 10, Backlog in 11, and Points done in 12, or
    is there a different order?
    If you could provide the return vector mapping order for all the motion VIs, it would be greatly appreciated.

    Hello,
    This is a very good question. I checked in the help for the LabVIEW VI, and it does not explicitly state the answer. The VI calls the FlexMotion function "flx_check_buffer_rtn". In the "NI-Motion Function Help" (Start>>Programs>>National Instruments>>NI Motion>>Documentation), the information for the functions states that it "...returns data in the following order: backlog, bufferState, and pointsDone." It also tells you the size of each of the elements. I will be filing a report so that the LabVIEW documentation includes this information in the future. I hope this helps. Take care!
    Regards,
    Aaron B.
    National Instruments

  • Script to check aur status

    I'm trying to write a script to check the status of a package on aur; ie, to see if its been updated since I've installed it.
    Here's what I have so far:
    #!/bin/sh
    PACK=$1 #package name
    PACKID=$2 #package ID on AUR
    #grab last updated of package on AUR
    LUPD=`elinks -source http://aur.archlinux.org/packages.php?ID=$PACKID | grep "Last Updated" | awk -F : '{print $2}'`
    LAST=`grep -c $PACK /var/log/pacman.log` #number of instances of package
    INST=`grep $PACK /var/log/pacman.log | sed -n ${LAST}p` #get last instance
    echo -e "Package: $PACK \n $INST \n Last Update: $LUPD"
    This basically works fine for manually inputting a package name and AUR ID (though it needs to be prettied up):
    [mike@esme abs]$ aurcheck rxvt-unicode-256color 13060
    Package: rxvt-unicode-256color
    [2008-04-18 20:01] installed rxvt-unicode-256color (9.02-1)
    Last Update: Sun, 04 May 2008 14
    but what I envision is having a two column file with the first column the package name and the second the ID but I can't figure out how to make this loop around for each line of such a file.  If anyone can provide some help/pointers I'd greatly appreciate it.
    PS Perhaps yaourt can do this for you, but I don't use yaourt and would like to learn how to do this even just to improve my scripting abilities
    Thanks!

    Daenyth wrote:Oh wow, I had no idea such a thing existed... Very cool!
    Expanding on my suggestion, here's the bash/js-script I use to find packages in AUR:
    wget="/usr/bin/wget -q -O-"
    aurrepo="http://aur.archlinux.org/rpc.php?type=search&arg="
    js="/usr/bin/js"
    aur() {
    local iam="${FUNCNAME[0]}:"
    local cmd="${1}"
    local what="${2}"
    local aurresult=""
    [[ -z "${cmd}" ]] && {
    echo "${iam}: use ${iam} (cmd) searchstring"
    return 1
    aurresult="$(${wget} ${aurrepo}${what})"
    ${js} -e "
    var out = ${aurresult};
    var res = out.results;
    var i, j, len;
    var tabs = ' ';
    var tabstop1 = 13;
    var oneline1 = {
    'ID':true, 'CategoryID':true, 'NumVotes':true,
    'OutOfDate':true, 'License':true
    var oneline2 = {'Name':true, 'Version':true};
    var line1='', line2='';
    var others = {};
    function tabto(string) {
    return tabs.substring(1, tabstop1 - string.length);
    if (out.type === 'error') {
    print(res);
    quit(1);
    for (i in res) {
    others = {};
    line1 = '';
    line2 = '';
    for (j in res[i]) {
    if ((typeof oneline1[j] !== 'undefined')
    && (typeof res[i][j] === 'string')) {
    if (line1.length > 0) line1 = line1 + '; ';
    line1 = line1 + j + ': ' + res[i][j];
    } else if ((typeof oneline2[j] !== 'undefined')
    && (typeof res[i][j] === 'string')) {
    if (line2.length > 0) line2 = line2 + '; ';
    line2 = line2 + j + ': ' + res[i][j];
    } else {
    others[j] = res[i][j];
    print(line2);
    print(line1);
    for (k in others) {
    print(k + ':' + tabto(others[k]) + others[k]);
    print('---');
    quit(0);
    return $?
    Note that js(1), which has no man-page or other documentation, is part of "spidermonkey", which in turn is part of "firefox".  It makes sense to assume that people have this browser installed.  If at all possible, the javascript shell should have the file-methods compiled in to be able to use it like many other scripting languages, especially with JSON code.  The scriptlet above works with an unmodified standard install.

  • Pavilion a1240n Bad BIOS Check Sum Starting Bios recovery

    I have a Pavilion a1240n when i turn on the computer the first screen that comes up says Bad BIOS check Sum starting BIOS recovery
    Checking for floppy...
    Floppy not found!
    Checking for CD ROM....
    CD ROM not found!
    Checking for Floppy...
    Floppy not found!
    It does this continuously and I cant get pass the screen any Ideas on what could be the problem and how I can solve this issue
    Thank you in advance

    Hi,
    I have a Media Centre PC M7260In. I started the PC after many days. Now while i start the PC it shows the Error as below.
    Bad Bios Checksum, Starting Bios Recovery
    Checking for Floppy
    Floopy Not Found
    Check for CD-Rom
    CD-Rom Not Found
    I already done the procedure as per link.
    1.Remove the Battery
    2. Change Jumper setting without Power Cord and reset as default.
    No Change Please Help
    Thanks & Regards,
    Shiju

  • Is it a bad idea to use Task.Delay() in a polling function?

    Is the following a bad idea considering the expense of Task.Delay()?
    async void WatchDog()
    while(!bDisposed)
    //check some things
    await Task.Delay(100);
    Hong

    I've not used the DispatcherTimer, so I can't say anything from experience about how efficient it is or not. The few times I needed this sort of functionality in the few WPF apps I've done, I've used Task.Delay() ... I agree that it is certainly
    a handy option. Most of my polling-type of work has been in non-UI situations (Windows Services), creating my own threading (and using Thread.Sleep()).
    Ah, WinRT ... didn't know that was the platform you're writing for.
    I've got no experience with WinRT. I don't know if there's a separate MSDN forum for that, the only thing I could find was a forum for Surface (https://social.msdn.microsoft.com/Forums/vstudio/en-US/home?forum=surfaceappdevelopment),
    but I don't know if posting questions there would help you or not. Probably the WPF forum would work just as well (https://social.msdn.microsoft.com/Forums/vstudio/en-US/home?forum=wpf).
    ~~Bonnie DeWitt [C# MVP]
    http://geek-goddess-bonnie.blogspot.com

  • HT201303 Dear Customer Service: It is very frustrating for me. My Visa account keeps getting declined at Apple. I used this very same Visa card on Amazon with no problem. I checked my status for  the card and it is still all good. My friends an

    Dear Customer Service:
    It is very frustrating for me. My Visa account keeps getting declined at Apple. I used this very same Visa card on Amazon with no problem. I checked my status for
    the card and it is still all good. My friends and I buy a lots of Apple applications on iTune.
    We have the correct CVV2, Expiration Date and Billing address, but you keeps declining us. Please fix this problem for me. The issuing bank for this card is Techcombank, one of the largest banks in Vietnam. According to the bank, the transaction is processed in the US. This is a legitimate Visa card.
    Please let me know as soon as possible. Apple does a disservice to its brand name by declining legitimate Visa account holders from using the cards in Vietnam.
    Sincerely,
    <Edited by Host>

    Just as a warning, your credit card number has been sent in the clear to probably thousands of people, including anyone who subscribes to e-mail alerts to this forum.  That's very, very bad.  The credit card should be considered compromised at this point, and you should cancel it immediately, if you haven't done so already.

  • How to check system status from Windows command line?

    Does anyone has an idea how to check system status from Windows command line? In UNIX we use startsap check, unfortunately I didn't find an appropriate command provided by SAP.
    The only idea we have is to use
    tasklist /FI "Username eq SAPService<SID>" | find "disp+work"
    which isn't as nice as startsap check.

    Hi,
    In windows you can use the command
    go to profile directory in command prompt and the give the following command to check the status of the instance.
    sapstart check pf=START_DVEBMGS<nr>_<hostname>
    that means you need to mention start profile or instance profile. So that it will say whether the instance is running or not.
    If you want any other information please reply back to me.
    Thanks,
    Chaitanya.

  • Why catching Exception is bad idea??

    Hi,
    Why it is said that catching an Exception is a bad idea. Any how we get the actual cause in stackTrace of Exception object.!
    Plz help

    Catching exceptions (lowercase e) is not a bad thing. Catching Exception (uppercase E) is generally bad.
    Lowercase e exceptions refer to the entire Throwable hierarchy--everything that can be thrown and caught. Often you want to catch and handle them, or catch and wrap and rethrow them.
    Uppercase E Exception is a particular class of exception, and it's the parent class of all checked exceptions and many unchecked exceptions. When your code has catch Exception, you're saying that almost no matter what goes wrong, you want to handle it the same way. And you're also assuming that if the methods that you're calling change to throw more or fewer exceptions, your code won't need to know or care about it.
    In general you want to catch more specific subclasses of Exception, so that you can handle each one properly, and you know that your code is handling precisely the correct set of exceptions.

  • Novell Vibe. Bad Idea

    Hello.
    My first idea is Novell add the capabilities of Novell Pulse and Novell Teaming on a new product named Novell Vibe. Guau, what pretty cool product i have with the capabilities of Teaming and the capabilites of Pulse
    But two days ago, i saw y the have DIFFERENT products for the same PRODUCT NAME. They are causing a lot of confusion on my hand.
    I Think its a BAD idea to put two different products with different funcionalitys with the same name.
    The idea of sell the product on Cloud or OnPremise its a choice of the client, or the manner of sales a product. But to get two differentes products with the same name its a BAD idea.
    If you want to offer one product , on the cloud or on promise, fantastic but, you can not putt a name with a different funcionality because you are adding confusion on what do you need and how do you get.
    I Am seeking a forum for vibe, but i don t see any .
    Regards
    Victor

    vgalino,
    It appears that in the past few days you have not received a response to your
    posting. That concerns us, and has triggered this automated reply.
    Has your problem been resolved? If not, you might try one of the following options:
    - Visit http://support.novell.com and search the knowledgebase and/or check all
    the other self support options and support programs available.
    - You could also try posting your message again. Make sure it is posted in the
    correct newsgroup. (http://forums.novell.com)
    Be sure to read the forum FAQ about what to expect in the way of responses:
    http://forums.novell.com/faq.php
    If this is a reply to a duplicate posting, please ignore and accept our apologies
    and rest assured we will issue a stern reprimand to our posting bot.
    Good luck!
    Your Novell Forums Team
    http://forums.novell.com

  • BADI authentication check

    You can't create a class that inherites from CL_HRPAD00AUTH_CHECK_STD, because this class is already final.
    It should be another way to implement a BADI that checks authentication without skipping system authentication.
    Any ideas?

    Created as a seperate post from Badi - it is better to ask your own question than to respond to an old one.
    matt

  • Check Warranty Status - wrong product

    Similar to this question I have a Check Warranty Status message on my screen which I can't get rid of without clicking something - trouble is, it's for a product I don't own. I have a HP laptop but not an all in one printer. Is this message genuinely from HP? If so, why do they think I own this printer? How can I get rid of the message?

    Thanks I'll look into it - but is it a good idea to uninstall it? My concern is that this is for a product I do not own, therefore might be a scam.

  • Checking login status.....

    My Iphone connects to BT Fon and BTopenzone hotspots readily enough but I cant browse. Doesn't matter where I am always the same.
    I've installed the BTFon app, added my user/pw but it just sits there with 'checking login status...'
    The BTFon site says I am opted in but my Home Hub says BTFon not active.
    I called BT on 0800 022 3322 and after a short call in which the guy said I was doing everything correctly he transferred me to.....0800 022 3322
    the next guy then told me that bad weather had caused a problem with the iphone app!
    what a joke

    bikeman wrote:
    Never get to the bt landing page - connect, get ip address, cant browse, no landing page.
    I've spent hours trying to use btfon (from pc, iphone and android) - never works. Told by a BT fon engineer that the homehubs send out a ssid and let you connect/get an ip address even when they are under high use and cant provide service. So you waste time connecting to homehubs that have no available bandwidth.
    Also told to use a 'premium hotspot' but of course how do you identify one when they have the same ssids as all the home hubs?
    Every call to BT comes up with another excuse; we've got service issues, our iphone app needs fixing etc
    I've had infinity for 15 months and only evr managed to logon to a btfon once. Having access to wifi hotspots is supposed to be a feature of bt broadband but in my experience it doesn't work and BT cant fix it.
    Roll on bt wholesale offering fibre broadband to 3rd parties, I'll not be sticking with BT.
    Hi.
    How strong is the signal you're getting ? I've used BTFon without problem recently, using a small android tablet. However when the signal was rock bottom, I couldn't do anything despite being connected.
    When you do connect, have you tried going to www.btopenzone.com ?
    There is a possibility that the fon connections you've managed to connect to are in constant "full" use, so you wouldn't get any real bandwidth as the host will take it all (by design).
    However it does actually indicate from your info that you've not actually "logged in". Although a connection may be granted, you still need to provide your primary email address/password in order to access BTFon - and that is either by the App or the landing page.
    http://www.andyweb.co.uk/shortcuts
    http://www.andyweb.co.uk/pictures

Maybe you are looking for

  • Need help with a rudimentary program

    I'm sort of new at this so i need help with a few things... I'm making a program to compile wages and i need answers with three things: a.) what are the error messages im getting meaning? b.) How can i calculate the state tax as 2% of my gross pay wi

  • 1:N split using BPM - ReceiverDetermination step

    Hi, I am trying the following blog to split message using BPM. /people/sudharshan.aravamudan/blog/2005/12/01/illustration-of-multi-mapping-and-message-split-using-bpm-in-sap-exchange-infrastructure Branch 1: A Receiver Determination step returns set

  • How to design constructor with variable parameters?

    I'm working on a "project" where I need to make a class "book" that can store information about a book. It's name, isbn, stock, etc... What is throwing me off a little bit is the author. I'm allowed to enter up to 4 authors per book object. I'm comin

  • In SAP 4.6c In classical reports output how to change Font size and Font type

    Dear Experts, In SAP 4.6c, in classical and interactive reports  output how to change font size and font type. Regards, Zaker.

  • Help - Weblogic 6.1 fails to start after SP6 install

    After sucessful installation of SP6 for Weblogic 6.1, weblogic fails to start. After inspecting the logs, I discovered the following message: The WebLogic Server did not start up properly. Exception raised: java.lang.SecurityException: Authentication