Surprising Behavior with ChainedExtractor (Improved Example)

If I create the following filter:
InFilter(KeyExtractor("getPurpose"), someSet)
I get the expected behavior. If I wrap the KeyExtractor in a ChainedExtractor...
InFilter(ChainedExtractor([KeyExtractor("getPurpose")], someSet)
I get the exception "MIssing or inaccessible method: com.tangosol.util.Binary.getFoo().
How does the addition of a ChainedExtractor modify the resulting behavior?    

I should clarify that this query is running against a backing map.
I resolved the issue by creating a ValueExtractor that uses the cache's converter (ConverterExtractor), wrapping that in a KeyExtractor, and using it as the first step of every ChainedExtractor.
ChainedExtractor([KeyExtractor(ConverterExtractor(targetCache)), ReflectionExtractor(...)...])
Before this gels permanently into my codebase, I'd appreciate some context around best practices and around why a naked KeyExtractor works in some situations, but not others.

Similar Messages

  • Strange window behavior with CS5

    I have begun experiencing strange behavior with PS CS5. I should begun with the machine configuration: 2.66GHz iMac (8,1) Intel Core Duo with 4GB RAM and OSX 10.6.6, Radeon HD 2600 Pro graphics card. The initial symptom showed up suddenly as an inability to display an image window; that is, I could open PS normally, everything would show up properly, but when I opened an image file of any sort, there would be no image window. Other cues indicated that the file was open; for example, the window menu would show it selected, and the layers palette would show the file's layers.
    It did not seem to matter what type of file was involved: PSD, JPG, TIF, whatever. Occasionally, this behavior would begin during a session. Sometimes it would happen right off the bat. Sometimes, stopping and restarting PS seemed to clean things up; other times, this had no effect. After messing around quite a bit with different permutations and combinations, all I could say was that the problem was random.
    I might add that I've had PS CS5 on this machine pretty much since it was announced, and had not had problems with it before. So this issue came along quite suddenly a couple of weeks ago. This was a little after I'd installed an update for Nik's Viveza 2; and I began to suspect that. Although why Viveza should do such a strange thing was odd, and Viveza was never part of the files I was experiencing issues with. Anyway, I went back to an earlier version of Viveza and the problem persisted.
    Since I run Time Machine, I also went back to versions of the entire PS folder from a month back, and found the same problem. Along the way, I experimented with the files I was using with PS CS4 & CS3, which I also have installed on this machine. These two versions of PS run perfectly well. At least the CS4 version has precisely the same plugins as the CS5 folder, and this seems to discount the potential problem with plugins.
    To be sure about CS5, I completely deactivated, deinstalled, and reinstalled it. The same issues occurred. Now, I have to admit that I let PS run its update process so that I brought it back to the most recent version in this step of my troubleshooting. So, I can't be certain that the issue isn't with some update of CS5.
    I might add that I have been running CS5 in 32-bit mode, for compatibility with certain plugins. This may or may not be an issue, since I have limited experience with running in 64-bit mode. At this point, I should add a bit more about the confusing behavior.
    While messing around with CS5, I also suspected the GPU support, since my problem had to do with windows. When the problem presents itself, the usual cycle through window views that you get by pressing the "F" key seems to get messed up. In particular, the "F" key doesn't work at all. Next, if you use the View menu to select different views, the full screen with menu bar view will often have garbled pixels, while the full screen view will show a blank grey screen. Then, cycling back to a window view will show a window with blank grey contents. This is interesting since the starting point was no window at all; but going into full screen and then back will produce a window with bogus contents.
    Now, the next strange thing, having to do with the GPU, is that CS5 often fails to recognize the Radeon HD 2600 card. Oddly enough, it did originally. And I had it running in Basic mode. However, CS4 does recognize the GPU; and I can set it in any variety of modes: Basic, Normal, and Advanced. This behavior is not consistent at all either; that is, while CS5 almost always now fails to detect the GPU, sometimes it does. As near as I can tell, this failure to detect the card does not depend upon whether I start CS5 in 32-bit or 64-bit mode. OTOH, CS4 always recognizes the GPU.
    Another form of this odd behavior arises if I start CS5 cold, and then just open a new blank window. This almost always works. I get a blank white window, and I can paint on it with a brush, etc. However, if I go ahead at this point and open a file, then the new file takes over the window; and there are no tabs. If I select the original new file, usually labelled "Untitled", the window bar will show the change of filename but the window's contents and the layers palette will continue to show the old file that I had opened. Cycling through views can sometimes get back to the new Untitled file, but just selecting file windows never works.
    Yet another aspect of this messed up window behavior is that the workspace bar, which shows the Bridge, MiniBridge and view icons on the upper left and the various workspace options and CS Live on the upper right, is present but blank. OTOH, the tool bar is always displayed correctly, as is the horizontal bar that shows the various tool options. Likewise, the palettes for the workspace such as layers, swatches, adjustments, and so on, are always correctly displayed on the left.
    My next steps in trying to figure this out will be to ensure that I am running the latest of all plugins so that I can get everything running in 64-bit mode and try this again. However, the single factor that seems consistent in this whole mess is that whenever I do find this odd behavior, the performance preferences window will indicate that CS5 is not detecting the GPU. Whenever this happens, if I open up CS4 and check the same performance preference in it, the GPU is detected. I can have the two preference windows side by side on the screen in fact, CS4 sees the GPU and CS5 does not. The counter-indication is that sometimes CS5 will work properly and the preferences window still shows that the GPU has not been detected. Having said that, I can add that if I have opened up CS5, and it has found the GPU, and I have set it into, say, Basic mode, and then later found CS5 messing up, and I go back and check the performance preferences again, the GPU has always been lost. So, CS5 can mess up windows with or without the GPU detected and active; but when if it started with the GPU present, it will show up as lost after the weird behavior starts.
    To add one more observation, I have had Macs and other computers with failing GPUs. This computer is showing none of the typical signs of that. Every other program seems to be working just fine, and I have a lot of these, many graphics intensive; e.g., Corel Painter 11, Parallels v6 running Windows 7, PS CS4, Lightroom v3, Aperture v3, and so on. It is just CS5 that is messing up.
    I could load up this message with screen shots of all this nonsense, but I'm not sure what that would add to the strange tale, other than I'm not pulling your legs. I am, however, pulling out my own hair.
    As I stated before, this began quite suddenly a couple of weeks ago, early Feb 2011. My best guess as to cause is some combination of incompatible updates between CS5, OSX, and maybe some plugin or other. I found unusual behavior with onOne's FocalPoint v2 last year after Apple updated GPU drivers in some OSX update, and cratered that program. It took onOne a month or two to fix that. I have CS5 on a laptop with the same OSX version, and on that I haven't seen these issues; but then, I haven't been using it as intensely over there. Also, that machine has different CPU and GPU models than this iMac.
    So, to the community: is anybody else starting to see this odd stuff? Am I alone?

    Here's the reason I say that the same plugins exist for both CS4 & CS5. Sometime last year, the internal hard drive on this computer died (as they so often do), and it was replaced under the Apple care warranty. As a consequence, I decided to rebuild the OS and applications from scratch and bring back my user files from backup. I among other things, I reinstalled all of CS4 as well as CS5 (and I had to put CS3 back too for reasons having to do with printing calibration images for Quad Tone RIP). Then, I went to reinstall the plugins that I needed. I use Nik Software, onOne, Portrait Professional and various Topaz plugins. To my recollection, most of these install in PS CS3, CS4, CS5, Aperture, and Lightroom. In short, it is not that I've copied or moved plugin folders from one application folder to another, just that the installers automatically detect the presence of the various applications and put the various plugins into each, as appropriate.
    The only 32-bit plugins that I have that don't fit into this category are from Vincent Versace. He provides special versions of certain Nik plugins (Tonal Contrast, Contrast Only, etc) that function with some Acme Educational extensions for performing B&W conversion, sharpening, blah blah blah. These plugins are only 32-bit and the extensions are only CS5 compatible. I've installed these ones only into CS5; so, you've got me. OTOH, I've had these from Vincent as soon as CS5 was available; and they've worked so far without problems. Perhaps I should just edit the extensions so I could use the latest plugins direct from Nik instead of the Versace special editions...
    I've checked fonts and repaired permissions. I am presently going through the rather tedious process of disabling plugins and extensions to see if anything yields consistent results. The rather random arrival of the strangeness makes ensuring that a change is really having an effect more difficult to validate, as you will appreciate.
    I apologize for my long-winded original post. I add all of the detail so that anyone who'd experienced similar strange behaviors might properly pattern-match what they were seeing. On the one hand, in finding the cause of a problem, you look for what's changed; and theoretically nothing is new. On the other hand, there's always so much changing behind the scenes with automatic updates of this, that, and the other thing that it's impossible to make the claim that nothing's new. 

  • Strange behavior with DefaultCellEditor

    Hello everybody,
    I found a strange behavior with DefaultCellEditor using a JTextField in a JTable. The following line will show, what I mean:
    setDefaultCellEditor(String.class,new DefaultCellEditor(new JTextField()));
    Imho this should do the same as JTable does already, when it installs a JTextField as default cell editor for cell values of the String class. But, it seems, that it is not the same:
    When I add this line in the constructor of a JTable subclass the editor component seems to be less wide and less high to the right and bottom - it looks so with Win95 with JDK 1.4.0 - but with Win2000 it is correct for example.
    My question is - how can it be, that the normal default cell editor does not have this behavior but when I use the line above, it is displayed in the wrong way?- What does the default cell editor in another way than I do it, that it has not this ugly display?
    I would like to look in the sources, but unfortunately I can't find the source code in JDK 1.4.0 - perhaps you have a hint, where to find it.
    greetings Marsian

    It seems the Label doesn't like it, that it is in a GridCell with rowspan = 2
    If it is in a normal cell (no rowspan), it works.
    If I add ColumnConstraints to the gridpane, it kind of works, but the Label still occupies more space than it should.
    Edited by: csh on 19.07.2012 03:51

  • Strange behavior with Bindings??

    Hello to all JavaFX 2 Binding experts,
    I have a strange behavior with Bindings in JavaFX 2.2 (Java 1.7 update 21). Please have a look at the following source code:
    package test;
    import javafx.application.Application;
    import javafx.beans.binding.BooleanBinding;
    import javafx.beans.property.SimpleBooleanProperty;
    import javafx.beans.value.ChangeListener;
    import javafx.beans.value.ObservableValue;
    import javafx.fxml.FXML;
    import javafx.fxml.FXMLLoader;
    import javafx.scene.Parent;
    import javafx.scene.Scene;
    import javafx.scene.control.Label;
    import javafx.scene.control.RadioButton;
    import javafx.stage.Stage;
    public class BindingVsProperty extends Application
        @FXML
        private RadioButton opt11;
        @FXML
        private RadioButton opt12;
        @FXML
        private RadioButton opt21;
        @FXML
        private RadioButton opt22;
        @FXML
        private Label lbl11And21;
      @Override
        public void start(Stage arg0) throws Exception
            FXMLLoader l_loader = new FXMLLoader();
            l_loader.setLocation(BindingVsProperty.class.getResource("BindingVsproperty.fxml"));
            l_loader.setController(this);
            l_loader.load();
            Scene l_scene = new Scene((Parent)l_loader.getRoot());
            arg0.setScene(l_scene);
            useBinding1();
            //useBinding2();
            //useBinding3();
            arg0.show();
        private void useBinding1() // NOT WORKING - ChangeListener.changed(..) is not called
            BooleanBinding l_andOpt11Opt21 = opt11.selectedProperty().and(opt21.selectedProperty());
            l_andOpt11Opt21.addListener(new ChangeListener<Boolean>()
                @Override
                public void changed(ObservableValue<? extends Boolean> arg0, Boolean arg1, Boolean arg2)
                    System.out.println("Opt 1.1 AND Opt 2.1 changed to: " + arg2);
        private void useBinding2() // OK - ChangeListener.changed(..) is called
            BooleanBinding l_andOpt11Opt21 = opt11.selectedProperty().and(opt21.selectedProperty());
            lbl11And21.visibleProperty().bind(l_andOpt11Opt21);
            l_andOpt11Opt21.addListener(new ChangeListener<Boolean>()
                @Override
                public void changed(ObservableValue<? extends Boolean> arg0, Boolean arg1, Boolean arg2)
                    System.out.println("Opt 1.1 AND Opt 2.1 changed to: " + arg2);
        private void useBinding3() // NOT WORKING - ChangeListener.changed(..) is not called
            BooleanBinding l_andOpt11Opt21 = opt11.selectedProperty().and(opt21.selectedProperty());
            new SimpleBooleanProperty(false).bind(l_andOpt11Opt21);
            l_andOpt11Opt21.addListener(new ChangeListener<Boolean>()
                @Override
                public void changed(ObservableValue<? extends Boolean> arg0, Boolean arg1, Boolean arg2)
                    System.out.println("Opt 1.1 AND Opt 2.1 changed to: " + arg2);
        public static void main(String[] args)
            launch(args);
    <?xml version="1.0" encoding="UTF-8"?>
    <?import java.lang.*?>
    <?import java.util.*?>
    <?import javafx.scene.control.*?>
    <?import javafx.scene.layout.*?>
    <?import javafx.scene.paint.*?>
    <BorderPane id="BorderPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefWidth="371.0" xmlns:fx="http://javafx.com/fxml">
      <center>
        <AnchorPane prefHeight="200.0" prefWidth="200.0">
          <children>
            <Label id="lblAnd" fx:id="lbl11And21" layoutX="82.0" layoutY="121.0" text="Group1 Opt1 AND Group2 Opt1 is true" textFill="#41cc00" visible="false" />
            <RadioButton fx:id="opt21" layoutX="216.0" layoutY="24.0" mnemonicParsing="false" text="Group 2 - Opt 1">
              <toggleGroup>
                <ToggleGroup fx:id="group2" />
              </toggleGroup>
            </RadioButton>
            <RadioButton fx:id="opt22" layoutX="216.0" layoutY="67.0" mnemonicParsing="false" text="Group 2 - Opt 2" toggleGroup="$group2" />
            <RadioButton fx:id="opt11" layoutX="29.0" layoutY="24.0" mnemonicParsing="false" text="Group 1 - Opt 1">
              <toggleGroup>
                <ToggleGroup fx:id="group1" />
              </toggleGroup>
            </RadioButton>
            <RadioButton fx:id="opt12" layoutX="29.0" layoutY="67.0" mnemonicParsing="false" text="Group 1- Opt 2" toggleGroup="$group1" />
          </children>
        </AnchorPane>
      </center>
    </BorderPane>
    What I need for my application is the use case in useBinding1(), i.e., a BooleanBinding where several listeners are attached to. The problem is that I never get a callback in the ChangeListener if one of the RadioButton.selectedProperty() is changed.
    Now I tried what happens if I use the same BooleanBinding for another binding to a property plus the listener, now the listener gets callbacks as expected! (see useBinding2() )
    Than I thought may be Bindings must be bound in order to trigger listeners and tried useBinding3() where I bind the BooleanBinding to a new BooleanProperty, in this case the listener doesn't get callback anymore...
    And now I'm very frustrated and hope that anyone out there can help me to understand this strange behavior.
    Thanks a lot!
    WhiteAntelope

    All these work just fine for me: the listeners are all called as expected. Note that the listener is only invoked when the value of the binding actually changes, which doesn't happen every time a radio button is pressed. (For example, if both buttons are unselected, the binding is false. If one button is selected, the binding remains false and the listener is not invoked. When the second button is selected, the binding becomes true, and the listener is invoked.)

  • Particular behavior with my Mac store

    HelloTeam,
    Problem Description:
    Since I have reinstall my MacOS installation, I've some random behavior with my Mac App Store.
    Randomly, Mac App Store asks me to upgrade some applications never installed, not on my system, they appear to be linked with an another account !
    Here some example, this morning Mac App Store asks me to upgrade "Read Later" with an account name xxxxxx(note this software is note install on my Mac)
    An another special behavior, when I try to install a free software such as Twitter, the account used is again linked with an another account not my account
    Actions done:
    To solve this behavior I have try to run as without success:
    CleanMyMac
    Onyx
    Ccleaner
    Upgrade problem
    I've a error message if I try to upgrade this app who indicate that some upgrade are available on other accounts please connect on it.
    Free App (twitter)
    I've try to add my account but I've the following error: Error Unknown
    I hope this information can help you to solve this behavior.
    Best regards
    <Edited By Host>

    Im back with my result,
    I have made a global search on my harddisk (name is HD) with the following search parametters Name contains _MASReceipt and click on find
    FAF give me 4 results:
    - Growl
    - MplayerX
    - The Unarchiver
    - Xcode
    Based on my search all appears to be free.
    I've try to remove my Twitter client (echofon light) and try to reinstall official Twitter app.
    I've exactly the same problem particular email address proposed : xxxxxxx
    Did you have any other idea ?
    Edited post: Many thanks for FAF, it's a very good app
    Message was edited by: LEFBE
    <Edited By Host>

  • Erratic Report Region Behavior with Dynamic SQL Queries

    I'm running HTMLDB v 1.5.1.00.12 and I've noticed some odd behavior with report regions using dynamic SQL queries. Every so often, our testers will run a page containing a dynamic sql report region and get the following error, (despite the fact the query was working only moments ago and no other developer has touched it):
    ORA-06502: PL/SQL: numeric or value error: character string buffer too small
    or sometimes
    failed to parse SQL query:ORA-01403: no data found
    The only solution I've found so far is to:
    1) Make a copy of the failed report region.
    2) Disable or delete the original failed report region.
    The new copy of the report region runs without issue.
    My search of the forums turned up the following two threads, but neither provided me with a clear explanation of the cause, and how to avoid it:
    ORA-06502:PL/SQL: numeric or value error: character string buffer too small
    Re: Import Export Error (ORA-06502)
    The columns being returned are below the 4000 character limit, and the rows being returned are far less than 32k in size.
    Could this have anything to do with the way HTMLDB is internally storing the PL/SQL used to generate the dynamic SQL Query? Is there any known issue related to this with that version of HTMLDB?
    This problem occurs without any discernable pattern or consistency, making it hard to determine where I should focus my efforts in tracking down the cause.

    Hi all,
    My report seems to be behaving correctly once i set it to "Use Generic Column Names (parse query at runtime only)" :)
    Cheers,
    Joel

  • My 3 year-old macbook pro is very slow. I have run disk utility and virus scan with no improvement. The "beach ball" will spin for minutes at a time when opening, closing or changing windows. Apple Store looked at it a few months ago with no help.

    my 3 year-old macbook pro is very slow. I have run disk utility and virus scan with no improvement. The "beach ball" will spin for minutes at a time when opening, closing or changing windows. Apple Store looked at it a few months ago with no help. What can I do?

    Under CPU: 3.5% user; 5% system; 91% idle; 441 threads; 90 processes.
    Under System: out of 2GB - 54.7MB free; 530MB wired; 603MB active; 862MB inactive; 1.95GB used.
    Is too much of the system memory tied up? If so, what can I do to free some up?

  • Since updating to IOS 8.1 on ipad mini can't download apps.  Apps show "waiting." Have reset to new condition with no improvement.  Any solution?

    Since updating to IOS 8.1 on ipad mini can't download apps from iTunes store.  Apps show "waiting." Have reset to new condition with no improvement.  Also turned off Wi-Fi and re-connected.   Any solution?  Thanks,

    If you restored your iPad as new, and it still didn't help, I don't know if anything in here will help. in any event, I have posted this boilerplate of suggestions many times in the past and the suggestions in here have worked for others at one time or another. Feel free to give them a try.
    1. Tap the "waiting" icon and see if you can pause it. If it does pause, then tap it again and see if it will resume. If that works, repeat the same steps for each "waiting" icon.
    2. Reboot the iPad by holding down on the sleep and home buttons at the same time for about 10-15 seconds until the Apple Logo appears - ignore the red slider - let go of the buttons.
    3. Make sure that you do not have a stalled download in iTunes - if you have a download in there that did not finish, complete that one first. If you see a downloads tab in the lower right corner, then there is a download in iTunes.
    4. If that doesn't work - sign out of your account, restart the iPad and then sign in again.
    Settings>iTunes & App Store>Apple ID. Tap your ID and sign out. Restart the iPad by holding down on the sleep button until the red slider appears and then slide to shut off. To power up hold the sleep button until the Apple logo appears and let go of the button.
    Go back to Settings>iTunes & App Store>Sign in and then try to update again. Tap one waiting icon only if necessary to start the download stream.
    5. You can also try deleting the waiting icons - tap and hold down on an icon until it wiggles - the tap the X on the icon to delete it. Then try to download again. Apps may also be able to be deleted in Settings>General>Usage>Storage if you cannot get the X to pop up on the icon.
    6. You can try resetting all settings. Settings>General>Reset>Reset All Settings. You will have to enter all of your device settings again.... All of the settings in the settings app will have to be re-entered.
    7. Reset your router. Unplug it from power for about 30 seconds and then plug it back in again.

  • My 4S battery life is very short. I have upgraded to the new software with no improvement. Any suggestions?

    My iPhone 4s battery life is very short. I have done the most recent upgrade with no improvement. Any solutions on the way?

    I had not tried that article, however I already went throught the troubleshooting assistant, which covers everything that article has.
    I am about to try to delete and re-install iTunes though, which was mentioned in your artile link.
    Thanks for the help.
    I'll post my findings/results.

  • IPhone 6 will not sync music. This has become a problem since using itunes 12. It also will not sync all my pics and video's with my iPad 4  either. Removed and re-installed iTunes with no improvement.

    iPhone 6 will not sync music. This has become a problem since using itunes 12. It also will not sync all my pics and video's with my iPad 4  either. Removed and re-installed iTunes with no improvement. It stops at last step saying waiting for items to copy and just sits there.  The iPad finish the sync, but some video's are missing.

    iPhone 6 will not sync music. This has become a problem since using itunes 12. It also will not sync all my pics and video's with my iPad 4  either. Removed and re-installed iTunes with no improvement. It stops at last step saying waiting for items to copy and just sits there.  The iPad finish the sync, but some video's are missing.

  • Why does an email sent from an iPad or iPhone to ms outlook appear with attachments? Example signatures tend to be broken down into a series of unwanted attachments!

    Why does an email sent from an iPad or iPhone to ms outlook appear with attachments? Example: signatures at the bottom of the mail tend to be broken down into a series of unwanted attachments!

    It worked for me. I took a picture with the iPhone's camera. Then opened the Photos app and selected the picture, and emailed it from one of my IMAP accounts to my gmail (also IMAP) account. When it showed up in the gmail inbox (on my iPhone), I forwarded it to my yahoo mail account (choosing the "inlcude attachments" option). When that showed up on my iPhone's yahoo inbox, the picture was there just as it should be.
    So I guess the next thing would be to try it with non-iPhone pictures to see if it is a problem with image size or something. I have some 6-megapixel images in iPhoto I can try (taken as RAW/DEC format pictures with my dSLR).
    Just tried it sending a Photo from my computer's iPhoto library - picture is 728KB, 2272x1704 jpeg. I emailed it to my gmail account, and it showed up on the iPhone just fine. Then I forwarded that to my yahoo account and again, it showed up just fine on both the iPhone and reading my yahoo mail via the web page.
    Don't know what to say - I don't mean this to be just another "works for me" post. I was hoping to see something maybe depending on the size and origin of the picture.
    By the way, my 3GS shipped with 3.0.1 on it, and I've updated it via iTunes normally to 3.1.1 and currently 3.1.2. Sorry I don't have anything constructive to add.

  • Need help with CONTACT sync example

    I have been trying to work with the Sync example that utilizes the MEREP_CONTACT_* BAPI wrappers.  Is there anyone who has been able to get this example to work that could give more information on it?  I can create the programs, but cannot get data to it.  Which SyncType is it supposed to use?  What directory do you create the data from MEREP_SAP_EXM002_DATA_GEN1?
    Any information would be greatly appreciated.
    Thanks
    Brian Timothy
    [email protected]

    hello brian,
    i created the contactaddress test application and used these BAPIs on the backend mapped to syncBos SAP_EXM001 and SAP_EXM002. the basic requirement for this is to deploy your application together with the xml metadata.
    after your application is installed in the ME, the framework will automatically send a data download request for syncBos SAP_EXM001 and SAP_EXM002 on the next synchronization. Prior to this, the application tables in the backend like the MEREP_PERSON which is mapped to the syncbo SAP_EXM002 should be filled with data.
    use MEREP_SAP_EXM002_DATA_GEN2 and MEREP_SAP_EXM001_DATA_GEN1 to fill-up the tables with data.
    you should have at least a data viewer for the corresponding syncbo data on your application.
    hope this helps.
    regards
    jo

  • Strange Permissions Behavior with Public/Private Drop Box

    Strange Permissions Behavior with Non-Course Drop Box
    In an effort to promote iTunes U on campus this semester (and to get people working with audio and video more) we're having a contest in which people can submit personal or group audio/video projects.
    This being an iTunes promo, we intend for students to submit their contributions via a drop box.
    To that end, I began experimenting with drop boxes in iTunes U, which I haven't done much of previously. I've created a course called "iTunes U Drop Box Test" under "Campus Events". Within that, I have two tabs: "Featured Submissions" and "Dropbox". My goal with this drop box was to allow faculty, students and college folks the ability to use the drop box ("college" being a role I've defined for those who don't fit into the faculty/student roles).
    When I first started experimenting, access to the "iTunes U Drop Box Test" course looked like this:
    --- Credentials (System) ---
    Edit: Administrator@urn:mace:itunesu.com:sites:lafayette.edu
    Download: Authenticated@urn:mace:itunesu.com:sites:lafayette.edu
    Download: Unauthenticated@urn:mace:itunesu.com:sites:lafayette.edu
    Download: All@urn:mace:itunesu.com:sites:lafayette.edu
    --- Credentials ----
    Download: College@urn:mace:lafayette.edu
    Download: Instructor@urn:mace:lafayette.edu
    Download: Instructor@urn:mace:lafayette.edu:classes:${IDENTIFIER}
    Download: Student@urn:mace:lafayette.edu
    Download: Student@urn:mace:lafayette.edu:classes:${IDENTIFIER}
    For the "Featured" Submissions tab, I gave the non-system credentials the "download" right, and for the "Dropbox" tab I gave the non-system credentials the "dropbox" right.
    My understanding of this setup is that everyone should have had the ability to view the course and the contents of the "Featured Submissions" tab and that those in the College/Instructor/Student roles would be able to upload files via the "Dropbox" tab ... but not see the contents of said tab after the files were uploaded (aside from any files they uploaded themselves).
    This is not the behavior we saw however. While the College/Instructor/Student roles could upload files to the dropbox, everyone (including the unauthenticated public) was able to see all of the contents of the dropbox.
    The only way I could get this to work as advertised was to change all of the system credentials save the "Administrator" to "No Access":
    --- Credentials (System) ---
    Edit: Administrator@urn:mace:itunesu.com:sites:lafayette.edu
    No Access: Authenticated@urn:mace:itunesu.com:sites:lafayette.edu
    No Access: Unauthenticated@urn:mace:itunesu.com:sites:lafayette.edu
    No Access: All@urn:mace:itunesu.com:sites:lafayette.edu
    Once I did this, everything worked as advertised: College/Instructor/Student roles could upload tracks, and the "Dropbox" tab would only display tracks they uploaded.
    So my question is ... is this the correct behavior for the drop box? It looks like when the system credentials are in play, they're simply overriding whatever the normal "view" rule is for the drop box, which doesn't seem right.

    Your current configuration where things work as you wanted does seem correct to me. You are not using any System Credentials to accomplish the functionality and that's fine.
    Here's some more info to clarify how / why this is working for you and why you had to set "No Access" for the System Credentials:
    The System Credential "Authenticated@..." is going to get assigned to any user that goes through your transfer script. Even if you transfer script assigns no credentials to a user, upon entering iTunes U they will have at least 1 - the "Authenticated@..." credential. Therefore, unless you block access using "No Access", any user that passes through your transfer script is going to be able to access the area in question.
    When you change values for "Unauthenticated@..." or "All@..." you are defining what someone that DOES NOT pass through your transfer script can do. You want both of those to be "No Access" at the top level of your site if you do not want unauthenticated visitors.
    The distinction between "Unauthenticated" and "All" is that "All" applies to all users whether they pass through the transfer script or not.
    Here's another way to remember things:
    User passes through your transfer script, iTunes U automatically assigns:
    Authenticated@....
    All@....
    User does not pass through your transfer script and instead access your iTunes U site through derivable URL*, they get assigned:
    Unauthenticated@....
    All@....
    *The derivable URL for a site is: http://deimos.apple.com/WebObjects/Core.woa/Browse/site-domain-name
      Mac OS X (10.4.6)  

  • Get default audit field behavior with an external datasource

    Others have posted and blogged extensively about creating a robust audit trail for LightSwitch. However, if you are looking to achieve the default behavior with an external datasource, you could simply add the fields to your database
    and write code in every entity's Inserting() and Updating() method.  However, if you have many tables in your app this can be a lot of work.  Here is a very easy way to DRY this up. 
    1. Add the audit fields to your tables
    - CreatedBy
    - DateCreated
    - UpdatedBy
    - DateUpdated
    2. Use this code in the DataService class for your datasource.
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using Microsoft.LightSwitch;
    using Microsoft.LightSwitch.Security.Server;
    namespace LightSwitchApplication
    public partial class ApplicationDataService
    partial void SaveChanges_Executing()
    EntityChangeSet changes = this.Details.GetChanges();
    IReadOnlyCollection<IEntityObject> addedEntities = changes.AddedEntities;
    IReadOnlyCollection<IEntityObject> modifiedEntities = changes.ModifiedEntities;
    if (addedEntities.Any())
    foreach (IEntityObject entity in addedEntities)
    InsertAuditFields(entity);
    if (modifiedEntities.Any())
    foreach (IEntityObject entity in modifiedEntities)
    UpdateAuditFields(entity);
    private void InsertAuditFields(IEntityObject entity)
    string userName = this.Application.User.FullName;
    DateTimeOffset currentDateTime = DateTimeOffset.Now;
    entity.Details.Properties["CreatedBy"].Value = userName;
    entity.Details.Properties["DateCreated"].Value = currentDateTime;
    entity.Details.Properties["UpdatedBy"].Value = userName;
    entity.Details.Properties["DateUpdated"].Value = currentDateTime;
    private void UpdateAuditFields(IEntityObject entity)
    string userName = this.Application.User.FullName;
    DateTimeOffset currentDateTime = DateTimeOffset.Now;
    entity.Details.Properties["UpdatedBy"].Value = userName;
    entity.Details.Properties["DateUpdated"].Value = currentDateTime;
    Hopefully this helps someone.

    This version will check whether the table has the audit properties, thus allowing you to opt in.  Paul's solution is going to be better in the long run because it checks at compile time.  This was meant to be a quick way to get the default behavior. 
    This is not a substitute for a full audit capability (see Paul's blog) if that is your requirement.
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using Microsoft.LightSwitch;
    using Microsoft.LightSwitch.Security.Server;
    using Microsoft.LightSwitch.Details;
    namespace LightSwitchApplication
    public partial class ApplicationDataService
    partial void SaveChanges_Executing()
    EntityChangeSet changes = this.Details.GetChanges();
    IReadOnlyCollection<IEntityObject> addedEntities = changes.AddedEntities;
    IReadOnlyCollection<IEntityObject> modifiedEntities = changes.ModifiedEntities;
    if (addedEntities.Any())
    foreach (IEntityObject entity in addedEntities)
    if (AuditProperties(entity))
    InsertAuditFields(entity);
    if (modifiedEntities.Any())
    foreach (IEntityObject entity in modifiedEntities)
    if (AuditProperties(entity))
    UpdateAuditFields(entity);
    private bool AuditProperties(IEntityObject entity)
    bool hasAuditProperties = true;
    bool createdBy = entity.Details.Properties.Contains("CreatedBy");
    bool dateCreated = entity.Details.Properties.Contains("DateCreated");
    bool updatedBy = entity.Details.Properties.Contains("UpdatedBy");
    bool dateUpdated = entity.Details.Properties.Contains("DateUpdated");
    bool[] checkForAuditProperties = new bool[]
    createdBy,
    dateCreated,
    updatedBy,
    dateUpdated
    if (checkForAuditProperties.Any(a => a == false))
    hasAuditProperties = false;
    return hasAuditProperties;
    private void InsertAuditFields(IEntityObject entity)
    string userName = this.Application.User.FullName;
    DateTimeOffset currentDateTime = DateTimeOffset.Now;
    entity.Details.Properties["CreatedBy"].Value = userName;
    entity.Details.Properties["DateCreated"].Value = currentDateTime;
    entity.Details.Properties["UpdatedBy"].Value = userName;
    entity.Details.Properties["DateUpdated"].Value = currentDateTime;
    private void UpdateAuditFields(IEntityObject entity)
    string userName = this.Application.User.FullName;
    DateTimeOffset currentDateTime = DateTimeOffset.Now;
    entity.Details.Properties["UpdatedBy"].Value = userName;
    entity.Details.Properties["DateUpdated"].Value = currentDateTime;

  • Execute this pl/sql function with some proper example & syntax

    --program is compiled but how to run this function with some proper example please please help me
    CREATE OR REPLACE
    FUNCTION EMP_GENDER(
    EMP_GEN CHAR)
    RETURN CHAR
    IS
    CUST_GEN CHAR(1) ;
    DTECH1 EXCEPTION;
    BEGIN
    CUST_GEN :=UPPER(EMP_GEN);
    IF CUST_GEN !='M' OR CUST_GEN != 'F' THEN
    RAISE DTECH1;
    ELSE
    RETURN CUST_GEN;
    END IF;
    EXCEPTION
    WHEN DTECH1 THEN
    DBMS_OUTPUT.PUT_LINE('INVALID GEN');
    WHEN OTHERS THEN
    DBMS_OUTPUT.PUT_LINE(SQLERRM);
    END;

    Or in pl/sql;-
    declare
                v_gender char(1) default 'M';--change M to whatever test scenario
    begin
                v_gender:= emp_gender(v_gender);
                dbms_output.put_line(v_gender);
    end;And remember to set your serveroutput on.... though your errors will be obvious enough...

Maybe you are looking for

  • Setting name of image in servlet.

    Hy. I have a servlet which gets pictures as byte[] and write it out. This works fine, but how do I give these pictures a name? I tried: response.setHeader("Content-Disposition","attachment;filename=" + attachmentName); This works under IE when I save

  • About JCO and XI

    Hello, I heard some people talking about end of support for JCO..I was wondering if some of you can confirm or not ? Is there any documents/roadmap about this ? Those guys were saying that with the promotion of SAP XI and therefore JRA, java proxies

  • Explaination of Component palette in BPEL

    Hi , i am new to BPEL and have been asked to work on BPEL without any prior training :(. When i open Jdeveloper i find a component palette which has foll options 1. Code Snippets 2. Preferred Components 3. Proces activities 4. Services 5. XML Can som

  • Placed iview on webpage in web page composer - get 404

    Hello Gurus,     has anyone come across this please?     I have successfully made Iviews visible to KM for web page composer and so I was able to drag and drop the iview onto the page but immediately got a 404 the requested resource is not available.

  • Driver can't be loaded in Windows 7 64bit but can be loaded in Windows 8.

    Hello, every one! I met a problem. I had developed a driver. I signed it with a Microsoft Cross Certificate and a Certificate of VeriSign. Then I install it in Windows 8 64bits machine. It can work as expected. But when I try to install it in Windows