SetPropertyListener - is there a better alternative

Hi Guys - would love some advice here....
11g Jdev...
Use case is that I am populating an update / create form from a VO by using set property listener operation and placing the selected row into a pageFlowScope variable. I do this, because I then use the pageFlowScope variables to call an external PL/SQL method through a managed bean.
My issue is that I have over 30 paramaters and this means 30 set property listeners. Is there a better method to do this? Through a managed bean I assume? But could any body provide pointers as to what I need to do if this is the case? Ie a getter and setter method for each parameter?
Cheers,
Simon

Hi there Timo,
Yes - the use case is quite simple, I just get caught with the wrong words sometimes...
Basically, I have a VO displaying Read Only field values. After clicking 'Update' I currently pass the logic to a popup, which at the moment, is displaying blank input fields bound to the transient attributes. This works fantasic. I was thinking about having these pre-populated with the 'old' value (just trying to save screen space). However I can see the merit in possible displaying the old value (read only) next to the blank updatable fields, which will be used as inputs to my update procedure.
Based upon your last response, it looks as if I may simply be able to force the system generated VO attributes to 'updateable always', and although nothing will happen from a Jdev-as-standard-perspective, I can grab the updated values from my RowImpl class, and call the method that way... I haven't got to the stage just yet with experimenting here, however all approaches to seem viable at this stage seem worth investigating....
Thanks again for your help and interest.
Cheers,
Simo

Similar Messages

  • # s there a better alternative or how do I scroll down faster in my bookmarks as I have many?

    Is there a better alternative or how do I scroll down faster in my bookmarks as I have many?

    FWIW, Gary Kerbaugh's 2006 post at https://discussions.apple.com/message/1542090#1542090 was particularly helpful.
    While Activity Monitor is a more helpful tool for this newbie at a local machine, I'm seeking information about running processes on a remote machine with failed Screen Sharing.  I can reach the remote machine with the Finder and with the Terminal via SSH, but I cannot reach the machine via Screen Sharing.
    Running TOP in a SSH window in the Terminal -- and scrolling through to see *all* the processes -- proved possible by running the command cited by Gary Kerbaugh
    top -l1
    (For newbies like me, that's
    lower case tee
    lower case ohh
    lower case pee
    space
    hyphen
    lower case ell
    number one)
    Many thanks, xnav and Tony.

  • Is there a better alternative or how do I scroll down faster in my bookmarks as I have many?

    #
    s there a better alternative or how do I scroll down faster in my bookmarks as I have many? edit
    # Details
    BoldItalicInsert a link...

    Hello  & welcome to the community!
    Would you please confirm if your account has Premium on your subscription page. Be sure your status says you have an active Premium subscription. 
    If you're on Premium, do a quick sign out/sign in. 
    If your subscription page says Free, please check your Spotify email receipt. Be sure you are signing in with the username on that receipt. If the username on your receipt is a 10 digit number, please sign in with your Facebook credentials.
    If you login with Facebook it might be possible you may have a duplicate account
    One account associated with a username, the other created and linked to your Facebook profile.
    If nothing here works, then please contact support here so they can help you.
    If you receive an automated email telling you to check the help section or the community, you need to reply back to it, even if it's from a no-reply address.
    Support usually answers within 24-48 hours.
    Hope this helps! ♫

  • Why does Event.ENTER_FRAME cause this code to stop working? Is there a better alternative?

    I programmed the following code so that an array of buttons
    can be dragged across the screen when either on :
    var buttons:Array=[button1, button2, button3];
    for (var i:uint=0; i<buttons.length; i++)
    buttons[i].addEventListener(MouseEvent.CLICK, alignButtons )
    function alignButtons (e:Event)
         for (var i2:uint=0; i2<buttons.length; i2++)
          if(buttons[i2]!=e.target){buttons[i2].x=e.target.x;}
         for (var i3:uint=0; i3<buttons.length; i3++)
         buttons[i3].addEventListener(MouseEvent.MOUSE_DOWN, buttonDrag);
         function buttonDrag (e:Event)
        e.target.startDrag();
        e.target.addEventListener(MouseEvent.MOUSE_UP, buttonDrop);
        function buttonDrop(e:Event)
              e.target.stopDrag();    
    It works pretty much how I'd like it to work, except for the fact that I have to click the mouse to update the screen. However, when I change the first event listener from "MouseEvent.CLICK" to "Event.ENTER_FRAME" the code goes haywire. Is there another event listener I should be using here?

    Due to what appears to be an incomplete set of curly braces, it is hard to tell how much nesting you have there, but there should be none.  Each listener and event handler function should be able to stand on its own.  You should not have to put any functions inside a loop.
    Having the CLICK event listener is redundant if you have a MOUSE_DOWN and a MOUSE_UP because a MOUSE_DOWN followed by a MOUSE_UP is a CLICK. 
    If your goal is to have the buttons all follow each other around x-wise, then what you can do is assign a MOUSE_MOVE event listener at the same time you execute the startDrag and use its event handler for adjust button positions.  When you stopDrag, you also remove the MOUSE_MOVE listener.
    As far as why things go haywire when you change to using an ENTER_FRAME, you should show the code when it is in that form so that whatever error is evident.

  • Flags - Is there a better/alternative way?

    Simple question and sincerely hoping that the solution will as equally simple. :-)
    Over the past year I have been in the habit of Geotagging many images across a range of different folders. To later filter/view these Geotagged images I have assigned and made use of the 'Red' flag. However, later, when I use the filter function to display those images Lightroom of course only displays the Red flagged images in the particular folder selected. In order to view ALL Geotagged images in the catalogue I have to select the Root folder - in other words, ALL images in the Catalogue.
    Has anyone any suggestions regarding an alternative method of tagging the Geotagged images or is my current method and it's need for selecting the Root folder and filtering the only current existing way?

    I knew that I'd find a use for Smart Collections one day :-) Many thanks for the prompt Henrik.

  • How best to save photos?  I want to protect my photos (15,000 of them) by putting them on a portable drive and storing it in my safety deposit box.  Is it better to export them all, drag the Photo file, use Time Machine – or are there better alternatives?

    I am a 'newby' to the discussion world.  Hope I am doing this right.  How best to save photos?  I want to protect my photos (15,000 of them) by putting themon a portable drive and storing it in my safety deposit box.  Is it better to export them all, dragthe Photo file, use Time Machine – or are there better alternatives?

    Welcome to the discussions! You can use Time Machine and I would also recommend for you to manually copy your iPhoto Library (on your Pictures folder) to an external drive/thumb drive so you can restore it from there should you loose your TM backup. Exporting them from iPhoto would not preserve the libraries' integrity neither your originals, should you choose to edit them in iPhoto.
    Regards.

  • I have a MacBook Pro 15.4" 2.53GHz Core 2 Duo (A1286) - Mid 2009 MC118LL/A and I think the MATSHITA DVD-R   UJ-868 is going out. Should I replace it with the exact same drive or is there a better one that is compatible?

    I have a MacBook Pro 15.4" 2.53GHz Core 2 Duo (A1286) - Mid 2009 MC118LL/A and I think the MATSHITA DVD-R   UJ-868 is going out. Should I replace it with the exact same drive or is there a better one that is compatible?

    I went to my local Apple store last weekend with a similar issue on my 2007 C2D MBP and they quoted me a price of around £60 (excluding VAT) to replace the optical drive. That's about the same price as the external optical drive a bought for my RMBP.
    Alternatively you could just buy a 3rd party external drive if you want to save cash but note that the external Apple superdrive is not compatible with MacBooks with built in optical drives.

  • I am having trouble transferring files from an old MacBook (2007) to a MacBook Air over a wireless network.  The connection was interrupted and the time was over 24 hours.  Is there a better way to do this?  I'm using Migration assistant.

    I am having trouble transferring files from an old MacBook (2007) to a MacBook Air over a wireless network.  The connection was interrupted and the time was over 24 hours.  Is there a better way to do this?  I'm using Migration assistant.  The lack of an ethernet port on MacBook air does not help.

    William ..
    Alternative data transfer methods suggested here > OS X: How to migrate data from another Mac using Mavericks

  • Better alternative to header lines, use of logical database, field-symbols

    Hello experts,
    I am wondering if theres a better and faster alternative than declaring a header line for an itab. are work areas faster?
    What is the use of logical database? can you please give me an example on how to use it in reports.
    how do I use field-symbols? I am confused on how it works.
    P.S. I recently installed SAP netweaver preview abap edition
    in my home PC and I am wondering if I could practice BDC, user exits, etc. If so, how?
    Again, thanks for all your help since I'm kinda new to ABAP.

    I always use this...It uses header lines, but at least is smaller -:)
    <b>DATA: BEGIN OF MY_TAB TYPE STANDARD TABLE OF BKPF WITH HEADER LINE.</b>
    For logical databases, you can check my blog...I always use LDB for HR programs -:)
    <a href="/people/alvaro.tejadagalindo/blog/2006/02/19/how-to-deal-with-hr-payroll-reports:///people/alvaro.tejadagalindo/blog/2006/02/19/how-to-deal-with-hr-payroll-reports
    LDB's provides a lot of information, because they gather it from a lot of different tables...
    A Field-Symbols is like a pointer in C++, like an alias for a variable...Here's a small example...
    REPORT Z_ATG_DUMMY.
    FIELD-SYMBOLS: <F1>, <F2> TYPE I.
    DATA: TEXT(20) TYPE C VALUE 'Hello, how are you?',
          NUM TYPE I VALUE 5,
          BEGIN OF LINE1,
          COL1 TYPE F VALUE '1.1e+10',
          COL2 TYPE I VALUE '1234',
          END OF LINE1,
          LINE2 LIKE LINE1.
    ASSIGN TEXT TO <F1>.
    ASSIGN NUM TO <F2>.
    DESCRIBE FIELD <F1> LENGTH <F2>.
    TEXT = 'CHAU'.
    WRITE: / <F1>, 'has length', NUM.
    WRITE: / TEXT, 'has length', NUM.
    ASSIGN LINE1 TO <F1>.
    ASSIGN LINE2-COL2 TO <F2>.
    MOVE <F1> TO LINE2.
    ASSIGN 'LINE2-COL2 =' TO <F1>.
    I just can't install SAPNWSP...I only got MiniSap...But I got all the development enviorment...Don't know about the User-Exits...Actually I don't think so...Because those "mini" systems doesn't come with any functional module.
    Greetings,
    Blag.

  • Will there be an alternative to the current minimalist theme of iOS 7. It is far to small for a handheld instrument. Accessibility does not solve it for me don't know about others. Perhaps offer the old icons and fonts as an option? Easier to view

    Will there be an alternative to the minimalist theme? Or at least give us the old icons fonts etc the access ability options don't cut it for me
    I know you can do better you have before.

    lov2bugu, you said things the exact way I wanted to express them! It was like watching me talking to a SONY’s CEO.
    I don’t really think they are not aware of the problems. SONY used to be the 27th largest company in the world, according to Forbes. They are now at the 456th place!!
    They are aware of their problems and I think, the move to buy the remaining stocks from Ericsson, is a move to bounce back into the market. They found the right time, where the stock is too low and the economics around the globe don’t  look promising enough. I have to recognize them, all the bad phases they went into this year … hacking attack, loss of their factory in London, global economic climate etc.
    But these are not excuses good enough not to produce quality, reliable and technologically advanced goods. I think that SONY is not to blame for the bad course SE has had. I think this is what SONY wants to revert. They want to “embody” all their technology … BRAVIA engines (TV Tech), Walkman and Cybershot tech (using Carl Zeiss lenses), VAIO (Comp tech) and finally PS3. Ericsson tried to integrate them, unsuccessfully.
    Overall, I thing SONY, did not have or did not attempt to have the control of SE, hence, the answer you got back from SONY “… anything related to SE must be posted on the website of SE”. I think they will bounce. Just give ‘em some time. I’m willing to give them time, but not too much though. Just because I’ve always loved this brand!

  • [ANN] Article about JSP/JSF clashes and a better alternative

    I believe some of you might be interested in my latest JSF article, published on ONJava.com today:
    http://www.onjava.com/pub/a/onjava/2004/06/09/jsf.html
    I hope it will lead to some interesting discussions regarding a better alternative than JSP for the JSF views in a future version of the spec.
    Hans Bergsten (EG member)

    Great article, Hans. I agree that the JSF community should be looking into alternative ViewHandlers. So far, it's been an underappreciated API, but teams like MyFaces and, yes, Tapestry too, should be thinking about how to innovate here. There's a lot of room for progress to be made, and we don't have to wait for the spec process to turn its gears to see some enormous improvements in the usability and power of JSF. Remember folks, the EG built extensibility and pluggability into JSF for a reason!
    -- Adam Winer (EG member)

  • Is there a better option than spark VideoDisplay with AV syncing capabilities

    We have developed an AIR application that involves syncing multiple audio tracks with a video track.  We are using the Spark VideoDisplay component for video and the Flash SoundChannel object for audio.  We are having trouble keeping the audio synced with the video.  Is there a better component to use for this?  Is there some technique to keeping audio and video synced in Flash/AIR?

    Andrea,
    Your sample does not look like being »foot-intensive«, I only find two footnotes. And those will not be a problem for FrameMaker.
    For 2-column text layout FrameMaker (as InDesign) gives you the option to create one text frame set to have two columns, or create two connected text frames, each of them one column. To keep the footnote in the original column, you would use the latter method. More information can be found in the online help:
    http://help.adobe.com/en_US/framemaker/using/WS6C3D24E6-2965-48bb-B6CF-50D1439AEB01.html
    Regarding other elements of the sample pages I don’t see any stumbling blocks. Just be aware that the general approach to layout, and especially when using XML-structured documents, is completely different from InDesign. With InDesign you just move all the frames wherever and whenever you want. With FrameMaker you plan ahead, create master pages and paragraph styles and then follow this original design. Creating layout changes »on the fly« is just not the way you work in FrameMaker. But this limitation is the reason for a higher layout consistency.
    - Michael

  • Is There a Better Way to Work in the Marker List Window?

    Is there a better way to sequentially listen to phrases one-by-one in the Marker List window? What I'm doing is Auto-Marking one single long file to break out 271 bits and save each as their own file. It's WAY faster than copying and pasting bits into new files and "saving as" 217 times.
    BUT, after Auto-Marking, I have 300-400 phrases to listen to, deleting the non-keepers as I go, until I'm left with my "keeper" 271 marked phrases. But it's so tedious to move from phrase-to-phase. I have to double-click each one before I can hear it (you can move the cursor with the down-arrow, but it won't actually select the audio). So I have to use the mouse (unless I'm missing something) and double-click each of the hundreds of phrases. Then whenever I delete one (which I'll have to do about a hundred times or more to get rid of bad takes, alternates, etc.), inexplicably the cursor jumps way up the list so you have to scroll back down dozens of files to get to where you were. It took me 35 minutes to do it this last time.
    Contrast that with Reaper's audition/preview functionality (which, ironically, AA has also, but only for files already saved into a folder). Once I had all the files saved into a folder, I QC'd all 217 files in Reaper and MAN what a difference! All I had to do was use the "down" arrow to advance to the next file AND have it play automatically (Audition can do the same thing with the "Open File" feature). It literally took me 5 minutes to check all 217 files that way. If AA could add that kind of functionality to the Marker List window, or if I'm just completely missing something (very possible) I would REALLY be happy.
    Any ideas?
    Thanks again! Happy New Years again!
    Ken

    Wild Duck,
    That doesn't quite do what I need. My end-product is 271 (used to be 116) separate files created from one large file. That large one is made up of WAY more than 271 (the VO actor records different versions of some commands, makes mistakes, etc.).
    So I need the ability to listen to each marker, and then be able to delete it if need be.
    The Playlist makes this impossible in two ways. It only has 2 options for hearing each marker, and neither option allows me to delete that marker after I've heard it. It either plays them all back-to-back without stopping, or it plays each as you click the "Move Down" button. That last one would be great if showed me which marker was playing! But it doesn't, so there is no way for me to know which marker number I just heard, nor can I delete that marker after I hear it.
    Sigh.
    Thanks for the tip though:).
    Ken

  • Is there a better way to do this projection/aggregate query?

    Hi,
    Summary:
    Can anyone offer advice on how best to use JDO to perform
    projection/aggregate queries? Is there a better way of doing what is
    described below?
    Details:
    The web application I'm developing includes a GUI for ad-hoc reports on
    JDO's. Unlike 3rd party tools that go straight to the database we can
    implement business rules that restrict access to objects (by adding extra
    predicates) and provide extra calculated fields (by adding extra get methods
    to our JDO's - no expression language yet). We're pleased with the results
    so far.
    Now I want to make it produce reports with aggregates and projections
    without instantiating JDO instances. Here is an example of the sort of thing
    I want it to be capable of doing:
    Each asset has one associated t.description and zero or one associated
    d.description.
    For every distinct combination of t.description and d.description (skip
    those for which there are no assets)
    calculate some aggregates over all the assets with these values.
    and here it is in SQL:
    select t.description type, d.description description, count(*) count,
    sum(a.purch_price) sumPurchPrice
    from assets a
    left outer join asset_descriptions d
    on a.adesc_no = d.adesc_no,
    asset_types t
    where a.atype_no = t.atype_no
    group by t.description, d.description
    order by t.description, d.description
    it takes <100ms to produce 5300 rows from 83000 assets.
    The nearest I have managed with JDO is (pseodo code):
    perform projection query to get t.description, d.description for every asset
    loop on results
    if this is first time we've had this combination of t.description,
    d.description
    perform aggregate query to get aggregates for this combination
    The java code is below. It takes about 16000ms (with debug/trace logging
    off, c.f. 100ms for SQL).
    If the inner query is commented out it takes about 1600ms (so the inner
    query is responsible for 9/10ths of the elapsed time).
    Timings exclude startup overheads like PersistenceManagerFactory creation
    and checking the meta data against the database (by looping 5 times and
    averaging only the last 4) but include PersistenceManager creation (which
    happens inside the loop).
    It would be too big a job for us to directly generate SQL from our generic
    ad-hoc report GUI, so that is not really an option.
    KodoQuery q1 = (KodoQuery) pm.newQuery(Asset.class);
    q1.setResult(
    "assetType.description, assetDescription.description");
    q1.setOrdering(
    "assetType.description ascending,
    assetDescription.description ascending");
    KodoQuery q2 = (KodoQuery) pm.newQuery(Asset.class);
    q2.setResult("count(purchPrice), sum(purchPrice)");
    q2.declareParameters(
    "String myAssetType, String myAssetDescription");
    q2.setFilter(
    "assetType.description == myAssetType &&
    assetDescription.description == myAssetDescription");
    q2.compile();
    Collection results = (Collection) q1.execute();
    Set distinct = new HashSet();
    for (Iterator i = results.iterator(); i.hasNext();) {
    Object[] cols = (Object[]) i.next();
    String assetType = (String) cols[0];
    String assetDescription = (String) cols[1];
    String type_description =
    assetDescription != null
    ? assetType + "~" + assetDescription
    : assetType;
    if (distinct.add(type_description)) {
    Object[] cols2 =
    (Object[]) q2.execute(assetType,
    assetDescription);
    // System.out.println(
    // "type "
    // + assetType
    // + ", description "
    // + assetDescription
    // + ", count "
    // + cols2[0]
    // + ", sum "
    // + cols2[1]);
    q2.closeAll();
    q1.closeAll();

    Neil,
    It sounds like the problem that you're running into is that Kodo doesn't
    yet support the JDO2 grouping constructs, so you're doing your own
    grouping in the Java code. Is that accurate?
    We do plan on adding direct grouping support to our aggregate/projection
    capabilities in the near future, but as you've noticed, those
    capabilities are not there yet.
    -Patrick
    Neil Bacon wrote:
    Hi,
    Summary:
    Can anyone offer advice on how best to use JDO to perform
    projection/aggregate queries? Is there a better way of doing what is
    described below?
    Details:
    The web application I'm developing includes a GUI for ad-hoc reports on
    JDO's. Unlike 3rd party tools that go straight to the database we can
    implement business rules that restrict access to objects (by adding extra
    predicates) and provide extra calculated fields (by adding extra get methods
    to our JDO's - no expression language yet). We're pleased with the results
    so far.
    Now I want to make it produce reports with aggregates and projections
    without instantiating JDO instances. Here is an example of the sort of thing
    I want it to be capable of doing:
    Each asset has one associated t.description and zero or one associated
    d.description.
    For every distinct combination of t.description and d.description (skip
    those for which there are no assets)
    calculate some aggregates over all the assets with these values.
    and here it is in SQL:
    select t.description type, d.description description, count(*) count,
    sum(a.purch_price) sumPurchPrice
    from assets a
    left outer join asset_descriptions d
    on a.adesc_no = d.adesc_no,
    asset_types t
    where a.atype_no = t.atype_no
    group by t.description, d.description
    order by t.description, d.description
    it takes <100ms to produce 5300 rows from 83000 assets.
    The nearest I have managed with JDO is (pseodo code):
    perform projection query to get t.description, d.description for every asset
    loop on results
    if this is first time we've had this combination of t.description,
    d.description
    perform aggregate query to get aggregates for this combination
    The java code is below. It takes about 16000ms (with debug/trace logging
    off, c.f. 100ms for SQL).
    If the inner query is commented out it takes about 1600ms (so the inner
    query is responsible for 9/10ths of the elapsed time).
    Timings exclude startup overheads like PersistenceManagerFactory creation
    and checking the meta data against the database (by looping 5 times and
    averaging only the last 4) but include PersistenceManager creation (which
    happens inside the loop).
    It would be too big a job for us to directly generate SQL from our generic
    ad-hoc report GUI, so that is not really an option.
    KodoQuery q1 = (KodoQuery) pm.newQuery(Asset.class);
    q1.setResult(
    "assetType.description, assetDescription.description");
    q1.setOrdering(
    "assetType.description ascending,
    assetDescription.description ascending");
    KodoQuery q2 = (KodoQuery) pm.newQuery(Asset.class);
    q2.setResult("count(purchPrice), sum(purchPrice)");
    q2.declareParameters(
    "String myAssetType, String myAssetDescription");
    q2.setFilter(
    "assetType.description == myAssetType &&
    assetDescription.description == myAssetDescription");
    q2.compile();
    Collection results = (Collection) q1.execute();
    Set distinct = new HashSet();
    for (Iterator i = results.iterator(); i.hasNext();) {
    Object[] cols = (Object[]) i.next();
    String assetType = (String) cols[0];
    String assetDescription = (String) cols[1];
    String type_description =
    assetDescription != null
    ? assetType + "~" + assetDescription
    : assetType;
    if (distinct.add(type_description)) {
    Object[] cols2 =
    (Object[]) q2.execute(assetType,
    assetDescription);
    // System.out.println(
    // "type "
    // + assetType
    // + ", description "
    // + assetDescription
    // + ", count "
    // + cols2[0]
    // + ", sum "
    // + cols2[1]);
    q2.closeAll();
    q1.closeAll();

  • Is there a better way to do this with Flash?

    I am new to Flash but am slowly teaching myself via Lynda.com etc
    I have an image that I have added to a website via a content management system and want to make certain areas of that image into links to other sites.
    I found this page that does the kind of thing I want to do, but it appears from looking at the source code that the person who has done this has cut the image up into several sections in order to fit it into a table: http://www3.imperial.ac.uk/staffdevelopment/postdocs1/guidance
    Is there a better way to achieve the same kind of effect using Flash by making ares of an image into links and keeping the image as a whole?

    There are ways to keep the image whole and have portions of it linking to different places both in HTML and in Flash.  In HTML you can use an image map.  In Flash, you can just lay invisible buttons atop the image and use those to link.

Maybe you are looking for

  • How can I get my iPad to turn on?

    Ipad 3 about 2 years old. Battery ran low a couple of days ago and now it won't turn on despite supposedly being charged. When usb'd into my computer it occasionally must flciker into life because it asks me if I want to import my photos. If I press

  • Changes to my bookmarks are not saved when firefox is restarted. I already tried deleting places.sqlite, but it is still doing this.

    Since I downloaded Firefox 4, I have not been able to save changes to my bookmarks (this includes both adding new bookmarks or deleting old bookmarks). When I make a change, the changes are not saved the next time I restart Firefox. After doing a Goo

  • Increase  idle log out time of IC WebClient to 60 minutes

    Hello All, We are in the process of implementing ICWC for CRM 5.0. After we open the CIC screen via transaction: CRM_IC; and remain idle for some time, the system automatically logs out of the CIC screen. We want the system to log out of ICWC screen

  • ADF Create form

    hai , i have one master detials form . i hve to insert in to three tables say cutomer master , customer personal details , Customer contact i have created entities ,associations and view objects , View Links for 3 tables and added to app module I jus

  • Clone or Healing Brush Tool Creates Ghost Layer or Image - Unusable

    I am using the latest version of Photoshop CS5.5 on a fully updated MacBook Pro. I am having issues with the following tools: Clone Stamp Tool, Healing Brush Tool, More details: Essentially it "appears" that Photoshop is duplicating the layer and the