Problem with global ExceptionHandler showing errors in a dialog box

Our use case is that whenever an exception occurs, instead of going to the default text page which shows the exception (which can be custom designed using <error-page> in web.xml), the exception should be shown in an error popup dialog box on the same page. Now as I understand this is very easily achievable by creating your own class extending ExceptionHandlerWrapper (creating it's factory class and referencing it in faces-config.xml) and implementing it's handle() function. The following is the main code snippet (stripped-down):
    @Override
    public void handle() throws FacesException
        FacesContext fc = FacesContext.getCurrentInstance();
        //Handle unhandled exceptions only if we have a FacesContext & ViewRoot
        if (fc != null && fc.getViewRoot() != null) {
            Iterator<ExceptionQueuedEvent> it = getUnhandledExceptionQueuedEvents().iterator();
            while (it.hasNext()) {
                ExceptionQueuedEvent event = it.next();
                ExceptionQueuedEventContext ectx = event.getContext();
                //Get the concerned exception
                Throwable t = ectx.getException();
                //Do not process JVM Errors
                if (!(t instanceof VirtualMachineError)) {
                    //Log the exception
                    logger.error("Faces Handled Exception", t);
                    //Make ADF create a global error popup dialog
                    FacesMessage fm = new FacesMessage(t.toString());
                    fm.setSeverity(FacesMessage.SEVERITY_ERROR);
                    fc.addMessage(null, fm);
                    //Exception handled. Now remove it
                    it.remove();
        //Call parent handler to do whatever it wants
        getWrapped().handle();
    }This works perfectly when the page is loaded and some action triggers an exception. Where this does fail is when an exception occurs when a manual navigation or re-direct happens (I haven't tested it out for faces navigation though). In this case, where I would have seen a textual representation of the exception stack trace in the normal scenario, the exception gets handled by the exception handler, it gets FacesContext and UIViewRoot instances and add's the corresponding FacesMessage, but the message is never shown (probably because the page never got created since the exception happened in the middle of it's creation) and we get an empty page or the concerned component is not rendered (in the case of composite components). This is very bad for the user experience since the user doesn't know that an error has occurred and only the logs can specify that.
I would like to know how can I detect the right time to add FacesMessage to FacesContext so to be sure that ADF will render it as a popup in the page. Whenever I detect it's not the right time, I'll let the parent handler handle it so that the user is shown the exception page.

Hi,
if this is not a generic ADF Faces questions but ADF and task flow related then read this: http://www.oracle.com/technetwork/issue-archive/2013/13-mar/o23adf-1897193.html
Frank

Similar Messages

  • Problem with OLAP SAPBI SHOWING Server in not responding

    Hi All,
    Problem with OLAP SAPBI SHOWING Server in not responding
    SBO0001)",
    Iam Creating a universe , When iam Retriving my olap cube query it showing the error "Server in not responding (SBO0001)",
    Thanks In advance
    Praveen Kumar Yagnamurthy

    I am receiving this same error.  I have these additional details:
    CS: COM Provider CLSID not specified or erroneous
    In my case, this is for a universe that I created in BOE XI R2 sp5.4 and migrated up to BOE XI 3.2 sp2.  This connection uses OLEDB.  I have the same situation with another universe that I migrated over that uses an ODBC connection and it works fine.
    In my case, I am not using OLAP.

  • Problem with jquery slide show conflict with vertical navigation menu in Firefox & Chrome

    Problem with jquery slide show conflict with vertical navigation menu in Firefox & Chrome. Works in IE. This is my first time trying to post a question - so please be kind. I am also not good with code and am finding css a real challenge after learning to design based on tables. I'm using CS5.
    The "test" page with the slide show is: http://www.reardanwa.com/index-slides.html   The same page without the slide show is http://www.reardanwa.com/
    I realize the images are not ideally sized - I'll fix those once I get the pages to function.  Maybe I need a different slide show? I would prefer a widget that I can modify to required size & postition. Again - I'm not good at building with code from scratch.
    The problem is the naviagation links that are directly next to the slide show do not work in Firefox of Chrome. They do work in IE.
    I've read about using jQuery.noConflict(); code but can't figure out the correct way to use it in my case or whether that's even part of the solution. I know my code is not well organized as I have cobbled together from various sources in an attempt to format the page the way the client wants it. Also, FYI, I will eventually try to make the page work in Surreal CMS.
    I've spent sevaral days over the last several weeks trying to solve sth slide show/navigation conflict - so any specific light you can shed will be much appreciated.
    Thanks in advance.
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Reardan Area Chamber of Commerce</title>
    <meta name="description" content="home page for Reardan Area Chamber of Commerce" />
    <meta name="keywords" content="Reardan WA, chamber of commerce" </>
    <script src="scripts/jquery-1.6.min.js" type="text/javascript"></script>
    <script src="scripts/jquery.cycle.all.js" type="text/javascript">  </script>
    <script type="text/xml">
    </script>
    <style type="text/css">
                                  #slideshow { 
                                      padding: 10px;
                                            margin:0; 
                                  #slideshow-caption{
                                            padding:0;
                                            margin:0;
                                  #slideshow img, #slideshow div { 
                                      padding: 10px;
                                      background-color: #EEE;
                                      margin: 0;
    body {
              font: 100%/1.4 Verdana, Arial, Helvetica, sans-serif;
              background: #004B8D;
              margin: 0;
              padding: 0;
              color: #000;
    /* ~~ Element/tag selectors ~~ */
    ul, ol, dl { /* Due to variations between browsers, it's best practices to zero padding and margin on lists. For consistency, you can either specify the amounts you want here, or on the list items (LI, DT, DD) they contain. Remember that what you do here will cascade to the .nav list unless you write a more specific selector. */
              padding: 0;
              margin: 0;
    h1, h2, h3, h4, h5, h6, p {
              margin-top: 0;           /* removing the top margin gets around an issue where margins can escape from their containing div. The remaining bottom margin will hold it away from any elements that follow. */
               /* adding the padding to the sides of the elements within the divs, instead of the divs themselves, gets rid of any box model math. A nested div with side padding can also be used as an alternate method. */
    .left
    position:absolute;
    left:0px;
    .center
    margin:auto;
    width:95%;
    .box
              position:relative;
              left:-90px;
              width:950px;
              height:350px;
              border-radius: 13px;
        -moz-border-radius: 13px;
        -webkit-border-radius: 13px;
              z-index:1000;
    .slide{
        position:absolute;
    a img { /* this selector removes the default blue border displayed in some browsers around an image when it is surrounded by a link */
              border: none;
    /* ~~ Styling for your site's links must remain in this order - including the group of selectors that create the hover effect. ~~ */
    a:link {
              color: #42413C;
              text-decoration: underline; /* unless you style your links to look extremely unique, it's best to provide underlines for quick visual identification */
    a:visited {
              color: #6E6C64;
              text-decoration: underline;
    a:hover, a:active, a:focus { /* this group of selectors will give a keyboard navigator the same hover experience as the person using a mouse. */
              text-decoration: none;
    /* ~~this fixed width container surrounds the other divs~~ */
    .container {
              width: 960px;
              min-height:900px;
              padding:5px 0px 0px 0px;
              background: #E8F8FF;
              margin: 0 auto; /* the auto value on the sides, coupled with the width, centers the layout */
    /* ~~ the header is not given a width. It will extend the full width of your layout. It contains an image placeholder that should be replaced with your own linked logo ~~ */
    .header {
              background: #E8F8FF;
              padding:10px 5px 0px 5px;
    .sidebar1 {
              float: left;
              width: 225px;
              margin: 60px;
              color: #FFFF0D;
              background: #595FFF;
              border-radius: 13px;
        -moz-border-radius: 13px;
        -webkit-border-radius: 13px;
              padding: 5px 5px 0px 5px;
        border: 3px solid #F7F723;
        z-index:-1;
    .sidebar2 {
              float: left;
              width: 275px;
              color: #FFFF0D;
              text-align: left;
              background: #595FFF;
              padding-bottom: 10px;
              border-radius: 13px;
        -moz-border-radius: 13px;
        -webkit-border-radius: 13px;
        border: 3px solid #F7F723;
        z-index:2;
    .sidebar3 {
              float: left;
              width: 275px;
              color: #FFFF0D;
              text-align: left;
              background: #595FFF;
              padding-bottom: 10px;
              border-radius: 13px;
        -moz-border-radius: 13px;
        -webkit-border-radius: 13px;
        border: 3px solid #F7F723;
        z-index:3;
    .content {
              padding: 0px 0px 0px 0px;
              width: 780px;
              float: left;
              background: #E8F8FF;
    /* ~~ This grouped selector gives the lists in the .content area space ~~ */
    .content ul, .content ol {
              padding: 0px 15px 5px 10px; /* this padding mirrors the right padding in the headings and paragraph rule above. Padding was placed on the bottom for space between other elements on the lists and on the left to create the indention. These may be adjusted as you wish. */
    /* ~~ The navigation list styles (can be removed if you choose to use a premade flyout menu like Spry) ~~ */
    ul.nav {
              list-style: none; /* this removes the list marker */
              border-top: 0px solid #FFFF66; /* this creates the top border for the links - all others are placed using a bottom border on the LI */
              margin-bottom: 50px; /* this creates the space between the navigation on the content below */
              font: Arial Black, Verdana, , Helvetica, sans-serif;
              font-size:1.3em;
              font-weight:bold;
              z-index:2;
    ul.nav li {
              border-bottom: 0px solid #FFFF66; /* this creates the button separation */
              font: 120%/1.4 Arial Black, Verdana, , Helvetica, sans-serif;
    ul.nav a, ul.nav a:visited { /* grouping these selectors makes sure that your links retain their button look even after being visited */
              padding: 3px 0px 5px 0px;
              display: block; /* this gives the link block properties causing it to fill the whole LI containing it. This causes the entire area to react to a mouse click. */
              width: 185px;  /*this width makes the entire button clickable for IE6. If you don't need to support IE6, it can be removed. Calculate the proper width by subtracting the padding on this link from the width of your sidebar container. */
              text-decoration: none;
              color: #FFFF0D;
              background: #595FFF;
    ul.nav a:hover, ul.nav a:active, ul.nav a:focus { /* this changes the background and text color for both mouse and keyboard navigators */
              background: #595FFF;
              font: 120%/1.4 Arial Black, Verdana, , Helvetica, sans-serif;
              color: #FFFFFF;
    /* ~~ The footer ~~ */
    .footer {
              padding: 10px 0;
              background:  #595FFF;
              color: #FFFF0D;
              position: relative;/* this gives IE6 hasLayout to properly clear */
              clear: both; /* this clear property forces the .container to understand where the columns end and contain them */
    /* ~~ miscellaneous float/clear classes ~~ */
    .fltrt {  /* this class can be used to float an element right in your page. The floated element must precede the element it should be next to on the page. */
              float: right;
              margin-left: 8px;
    .fltlft { /* this class can be used to float an element left in your page. The floated element must precede the element it should be next to on the page. */
              float: left;
              margin-right: 8px;
    .clearfloat { /* this class can be placed on a <br /> or empty div as the final element following the last floated div (within the #container) if the #footer is removed or taken out of the #container */
              clear:both;
              height:0;
              font-size: 1px;
              line-height: 0px;
    -->
    </style>
    </head>
    <body>
    <div class="container">
      <div class="header"><!-- end .header -->
      <a href="#"><img src="images/Chamber-Logo-2.gif" alt="Reardan Chamber Logo" width="187" height="163" hspace="10" vspace="5" align="top" /></a><img src="images/Reardan-Chamber-Title.gif" width="476" height="204" alt="Reardan Area Chamber of Commerce, Dedicated to Preserving and Enhancing Area Businesses" /><p></p>
      <p style="color: #F00">This Site is under construction! Please pardon our dust as we create!</p>
      </div>
      <div class="sidebar1">
        <ul class="nav">
          <li><a href="about.html">About Us</a></li>
          <li><a href="history.html">Reardan History</a></li>
          <li><a href="activities.html">Activities</a></li>
          <li><a href="business.html">Business<br />
            Directory</a></li>
          <li><a href="about.html">Join the<br />
            Chamber</a></li>
           <li><a href="links.html">Links<br />
      <span style="font-size: 85%">Tourism</span><br />
          </a></li>
        </ul>
         <!-- end .sidebar1 --></div>
    <br />
    <br />
    <br />
    <br />
    <div class="box" +"slide">
      <script type="text/javascript">
    // BeginOAWidget_Instance_2559022: #slideshow
                               slideshowAddCaption=true;
    $(window).load(function() {
      $('#slideshow').cycle({
                        after:                              slideshowOnCycleAfter, //the function that is triggered after each transition
                        autostop:                              false,     // true to end slideshow after X transitions (where X == slide count)
                        fx:                                        'blindX',// name of transition effect
                        pause:                              false,     // true to enable pause on hover
                        randomizeEffects:          true,  // valid when multiple effects are used; true to make the effect sequence random
                        speed:                              100,  // speed of the transition (any valid fx speed value)
                        sync:                              true,     // true if in/out transitions should occur simultaneously
                        timeout:                    5000,  // milliseconds between slide transitions (0 to disable auto advance)
                        fit:                              true,
                        height:                       '300px',
                        width:         '525px'   // container width (if the 'fit' option is true, the slides will be set to this width as well)
    function slideshowOnCycleAfter() {
              if (slideshowAddCaption==true){
                                  $('#slideshow-caption').html(this.title);
    // EndOAWidget_Instance_2559022
      </script>
      <div id="slideshow">
        <!--All elements inside this will become slides-->
        <img src="images/100_1537.jpeg" width="600" height="450" title="caption for image1" /> <img src="images/Parade-2011-2.jpg" width="300" height="225" title="caption for image2" /> <img src="images/100_1495.jpeg" width="600" height="450" title="caption for image3" />
        <div title="sample title"> Images for slide show will need to be re-sized to fit box to avoid distortion</div>
        <img src="images/beach4.jpg" width="200" height="200" title="caption for image4" /> <img src="images/beach5.jpg" width="200" height="200" title="caption for image5" /> </div>
      <!--It is safe to delete this if captions are disabled-->
      <div id="slideshow-caption"></div></div>
    <div class="sidebar2" "anotherClass editable"><p align="center"><strong>Chamber News</strong><br />
    Local News item
    <br />
    Another New item</p>
      <p align="center">lots of news this week<br />
        <br />
        <br />
        <br />
      </p>
    </div>
    <div class="sidebar3" "anotherClass editable"><p align="center"><strong>Upcoming Events</strong></p>
      <div align="center">    <a href="activities.html" style="color: #FFFF0D">Community wide yard sales</a><br />
        <br />
        <br />
        <br />
        <br />
      </div>
    </div>
    <div class="content"><br />
    <br />
    </div>
    <div class="footer">
            <p align="center"><span style="font-size: small">Reardan Area Chamber of Commerce</span><br />
              <span style="font-size: x-small">[email protected]  - 509.796.2102</span><br />
            </p>
            <!-- end .footer -->
    </div></body>
    </html>

    If you DO want the slideshow overlaping the navigation try the below css:
    .sidebar1 {
        float: left;
        width: 225px;
        margin: 60px 0px 60px 60px;
        color: #FFFF0D;
        background: #595FFF;
        border-radius: 13px;
        -moz-border-radius: 13px;
        -webkit-border-radius: 13px;
        padding: 5px 5px 0px 5px;
        border: 3px solid #F7F723;
    .box {
    float: left;
    margin-left:-60px;
    width:700px;
    height:350px;
    border-radius: 13px;
    -moz-border-radius: 13px;
    -webkit-border-radius: 13px;

  • Problem with pictures not showing up

    I just updated my iphone 3g to the 4.0.1 and i went into my pictures n half of them show up black in the album. but u can still click on them and seee them full screen. Is there anyway to fix the problem with the pictures showing up as black in the album?

    If this is for the photo albums that were transferred from your computer, under the Photos tab for your iPhone sync preferences with iTunes, deselect Sync Photos followed by syncing which will remove all photos on your iPhone that were transferred from your computer. Follow this by reselecting Sync Photos and selecting the photos you want transferred to your iPhone followed by a sync.
    If no change after this, the next step is deleting what is called the iPod Photo Cache from your computer followed by another sync.

  • Premiere Pro CS5: please help problem with importing a file error output "there was an error decompressing audio or video"

    please help problem with importing a file error output "there was an error decompressing audio or video"

    this is related to what adobe program/version?

  • Why in the world is it that everytime I attempt to report a problem with The TV Show "The Walking Dead Season 2 episode 1" I tunes redirects me to their main page..***.. I just want to watch this show. I'm deployed

    Why in the world is it that everytime I attempt to report a problem with The TV Show "The Walking Dead Season 2 episode 1" Itunes redirects me to their main page..**

    I have recently started having this problem in PSE8. The Adobe workaround
    did work, but I don't fancy having to re register each time I use it.
    What I have discovered is that it's nothing to do with the image metadata as it occurs before any image is opened.
    It SEEMS to only occur if you use file/open with to open an image in the editor - IE start PSE with that command.
    If you close elements down, and start it using programs/PSE/Elements (or your desktop shortcut) - the panorama feature magically works.
    Each time I've opened the editor 'automatically' using image/open with, it seems to create the problem.
    Hope this helps

  • Is anyone using iPhoto having a problem with the slide show using shatter where it does not let you put a title over photo?

    Is anyone using iPhoto having a problem with the slide show using shatter where it does not let you put a title over photo? It use to work but it no longer lets you place a title over the opening photo.

    Is your signature still current?(iPhoto '08, OS X Mountain Lion (10.8.4))    I can confirm this for iPhoto '11; Shatter will only show the text slide title between the slides. Ken Burns and Classic theme can still be set to overlay the caption and title directly over the slides.

  • New SSL certificate with 2048 bit shows error: (Fehlercode: sec_error_unknown_issuer)

    installed a new SSL certificate with 2048 bit encryption (as is now required by issuer of certificate). Everything is OK with IE, FF shows error: (Fehlercode: sec_error_unknown_issuer)
    == URL of affected sites ==
    https://www.dongil.at/

    I have also tried all the solutions mentioned - but no luck.
    I wrote to Geotrust support and the pointed out that I needed the intermediate certificate and provided me with this url:
    https://knowledge.geotrust.com/support/knowledge-base/index?page=content&id=AR1422
    Please note, this intermediate certificate was *not* the same is linked to above - seems like there are 2 different intermediate certificates, depending on what type of certificate you got from Geotrust.
    Just to recap - if you got yourself a "QuickSSL, QuickSSL Premium or SSL Trial"-certificate (like me) then use this intermediate:
    https://knowledge.geotrust.com/support/knowledge-base/index?page=content&id=AR1422
    If you got a "True BusinessID or Enterprise SSL"-certificate, you should use this:
    https://knowledge.geotrust.com/support/knowledge-base/index?page=content&id=AR1423
    - Lasse

  • I have a problem with mail.  the spelling and grammer check box before sending the messege is no longer there.  I did everything but cannot get it back.  is ther anyone who knows how to get the box with spelling and grammer checks before sending

    i have a problem with mail.  the spelling and grammer check box before sending the messege is no longer there.  I did everything but cannot get it back.  is ther anyone who knows how to get the box with spelling and grammer checks before sending the mail.
    Also the mail is acting very funny by not getting the rules work in a proper method.  Is ther a software to repair mail.

    i did both of them, but still the while sending the mail the diolog box is not showing up and also the spelling and grammer does not do the spelling check. 
    This problem just started for about 3 to 4 days now.  earlier it was working normally.

  • I m trying to import some picture from my iphoto library but element 12 don't show me the iphoto dialog box , as I can see on my classroom book and in many tutorial.any one can help please

    I m trying to import some picture from my iphoto library but element 12 don't show me the iphoto dialog box ,where i choose what i want to import,  as I can see on my classroom book and in many tutorial.any one can help please ? thanks

    I have the same problem... but the photo library is neither on my iPhone or my Computer!! Please help.. its taking too much space.

  • Problem with downloading TV show with error message 8008

    I added money to my account then bought 2 songs. But when I bought a TV show video, error message 8008 pops up saying
    [ There was a problem downloading "strange illusions/ celebracadabra, season 1/ celebracadabra"
    Parts of the file seems to be corrupt. To redownload the file, choose "Check for Purchases" at the Store menu ]
    Now I already did that but the message doesn't change. Is there a problem with my computer or the file? And do I get my money back if I can't get all of it downloaded?
    Thank you

    Contact iTunes Store support:-
    http://www.apple.com/support/itunes/store/browser/
    State the Category as "Downloading" and the Sub-Category as "I continually receive an error message..."
    Then explain the issue to them and make sure you state the error code.
    Regards
    Jamie

  • Problem with HP laserjet 8100 (error 79.00 FE)

    Hallo,
    my company have two printers LaserJet 8100. They worked perfect on Windows XP. When i install Windows 7 both of them stoped working. And start show error 79.00 FE.  I tried cold reset. They printed ~50 pages and stoped. We have Hp laserjet 8150DN and wtih this model everything ok. 
    Please help

    Hello Rick,
    Just as I mentioned above I'm using Microsoft Forefront Protection, but had no luck with disabling the Real-time protection - it is disabled,
    but that chanage nothing.
    The downloaded driver is for Windows 7 64 bit.
    I did write to HP but I still got no answer from them... I already checked that support page, but I didn't get any information corresponding
    to my problem, not to mention that a lot of that page is just copy/paste from another product and it's not relevant to that model.

  • Problems with iTunes Festival "A error occurred loading this content"

    Hi
    I'm having problems getting iTunes Festival to work, I can click through shows but when i click on "play" for any particular one I get the dreaded "An Error Occured loading this content"
    So far from what I've tried, most things work well, some things give me that error:
    What works well:
    Netflix
    Podcast
    Redbull TV
    Bloomberg
    What give me "an error occured loading this content":
    iTunes Festival
    Crackle
    (note: i havent tried everything yet)
    What I've tried:
    1) restarting apple tv
    2) resetting (pressing down and menu at the same time)
    3) resetting my wifi router
    4) changing ATV DNS to google 8.8.8.8
    5) changing ATV DNS to auto
    I'm pretty sure its not my wifi or router because netflix and etc work in HD with no pr

    I have the same problem I use a BT home hub the old white one and a iPad 4 if I reboot the hub it works ok for pics and some I player content then when I try to load a certain program it crashes and I need to reboot the hub again. Is this a problem with the hub?

  • HT2693 I need to report a problem with a tv show that did not download correctly. 1episode file can't be found & the other has sound & no picture. I no longer have the email invoice to file a report. Does anyone have a sugguestion on how I can proceed?

    If anyone has information on how to correct an issue with a tv show file not found after being downloaded and a tv show with only sound please help. I no longer have an email invoice to report the problem. Does anyone have a sugguestion on how to proceed?

    iTunes store support
    http://www.apple.com/support/itunes/

  • Media center problem with Qosmio G35-650 - error message

    hello all
    I have a problem with media center on qosmio g35-650.
    When starting live tv , an error message appears and writes "application failure please restart your computer again. if problem persists again please contact with your hardware assistance"
    It was working yesterday and today something happened.
    Also it cant find any tv signal available. Is it a hardware problem?
    regards
    cem mete

    Hello
    Please dont be mad on me but in most cases is the user the problem and not the machine. I really dont know what is problem in your case but if the unit has well TV signal there should not be any problem.
    Your unit must be an US model. Those notebooks are not known to me but I presume that Qosmio player is preinstalled too. I have G20 and TV works perfect (WMCE and Qosmio player). What is with Qosmio player in your case? Does it work well?
    Be sure that TV tuner is listed properly in device manager and also TV antenna is connected properly.

Maybe you are looking for

  • HP mini 110-1000 password reset

    I have an HP Mini110-1000 that has a missing BIOS password. After three attempts the error reported is CNU94183RQ. Any suggestions on how to adjust the time and date in the BIOS. Also I'm interested in upgrading the A-Data 8gb SSD to a larger unit. A

  • SUBSTR function working only in SQL developper?

    Hello, I type the following query based on what I am learning in terms of Single-row Functions and it seems to work in SQL developer but for some reason not in SQL Plus ? Can anyone tell me where i am going wrong? Select Job_title, SUBSTR(Job_title,

  • Generating multiple recordset names

    Hi All, I am doing a scenario which is File to IDOC. I am reading a file which is of variable structure , so in FCC i have used the RecordSet Sequence : Variable after reading the file i have the structure as example: - <RecordSet> - <W6>   <WE601 />

  • Saving Photo's from MMS

    My girlfriend sent me pictures from her Blackberry and when i opened them they were fine. However after saving these images and looking at them in my photo album, the phone had modified the pictures to be stretched and not as good as when they were i

  • JPG-Quality Articles vs. PDF-Quality Articles

    What are the pros and cons of using one vs. the other? I know that PDF supports pinch and zoom. Is the file size significantly smaller? If so, why is JPG Quality still supported?