Looking for UI Design Suggestion

I am building a UI for a customizable report application. One
of the options involves selecting a category for each item in a
collection of items. The categories are actually sub-categories.
So, my intial plan was to list the items in a DataGrid, using a
PopUpMenuButton in an itemEditor. It worked ok, but I had to write
custom code to dispatch an item end event, and this was sometimes
causing run-time errors.
So, I'm hoping someone out there can give me some ideas.
Anything will be appreciated.
Thanks.
Eric.

That's what I am doing. I am updating the collection in the
model of my MVC framework. The first time i select an category, it
works fine. The RTE occurs when I try to select a category for
another item. the first menu is displayed, but, when I try to view
a submenu, the button disappears, the first menu disappears, and
when i try to select an item from the submenu, i get this RTE:
Error
at
mx.managers::SystemManager/updateLastActiveForm()[C:\autobuild\3.2.0\frameworks\projects\ framework\src\mx\managers\SystemManager.as:5087]
at
mx.managers::SystemManager/activateForm()[C:\autobuild\3.2.0\frameworks\projects\framewor k\src\mx\managers\SystemManager.as:2352]
at
mx.managers::SystemManager/activate()[C:\autobuild\3.2.0\frameworks\projects\framework\sr c\mx\managers\SystemManager.as:2307]
at
mx.managers::FocusManager/showHandler()[C:\autobuild\3.2.0\frameworks\projects\framework\ src\mx\managers\FocusManager.as:1575]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at
mx.core::UIComponent/dispatchEvent()[C:\autobuild\3.2.0\frameworks\projects\framework\src \mx\core\UIComponent.as:9298]
at
mx.controls::Menu/dispatchEvent()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx \controls\Menu.as:1306]
at
mx.core::UIComponent/setVisible()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx \core\UIComponent.as:1914]
at mx.core::UIComponent/set
visible()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\core\UIComponent.as:188 2]
at
mx.controls::PopUpButton/menuHideHandler()[C:\autobuild\3.2.0\frameworks\projects\framewo rk\src\mx\controls\PopUpButton.as:1135]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at
mx.core::UIComponent/dispatchEvent()[C:\autobuild\3.2.0\frameworks\projects\framework\src \mx\core\UIComponent.as:9298]
at
mx.controls::Menu/dispatchEvent()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx \controls\Menu.as:1306]
at
mx.controls::Menu/hide()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\controls \Menu.as:1550]
at mx.controls::Menu/
http://www.adobe.com/2006/flex/mx/internal::hideAllMenus()[C:\autobuild\3.2.0\frameworks\p rojects\framework\src\mx\controls\Menu.as:2207
at
mx.controls::Menu/mouseUpHandler()[C:\autobuild\3.2.0\frameworks\projects\framework\src\m x\controls\Menu.as:1687]
See my attached code...

Similar Messages

  • Looking for cs4 design standard english installer

    looking for cs4 design standard english installer, but i can't find it

    Same as what I see.
    All 10 languages listed on the left (from English - International through to Spanish - North America inclusive) are included in the installers shown in the Mac OS X and Windows columns.
    I think you're interpreting "French and German only" since the download links are vertically centred in their respective boxes and happen to align with the words French and German on the left.

  • Looking for DPS designer and developper freelancer

    Hi everybody
    i've got a very interesting project to deliver
    I am looking for freelancers who have a very good experience working on DPS and Idesign, here is the brief, if you think you can help and want to make good money please shout: [email protected]
    BRIEF
    objective:
    create a digital version of 3 print magazines about home design and crafting : Ipad / android tablets and flash desktop
    tool:
    Adobe digital publishing suite, Indesign extension (software already used by the company) to :
    - Recontextualize / files the Indesign files my companie ueses to create folios / templates adapted/intended for the digital version of the magazines.
    - To sell digital magazines directly on the app store, marketplace, and others.
    Mission:
    - Create a whole range of folios / template that fits the style and the reading experience of each magazine.
    - Integrate the icons, multimedia and other elements created specifically for the digital version
    - Take the items Indesign files that have been done for the paper magazine version for the first quarter 2013 and lay them out entirely in the digital version.
    - assist on how to use DPS from folios creation to sales with a person specially recruited within my company and  enable him to build digital versions every quarter without too much assistance.

    We are based in NYC and we would need somebody to work out of our offices.

  • Looking for some design ideas...

    We'd like to re-vamp a few sites from our portfolio and are looking to do so with some simple flash ideas but being new to flash we are having some trouble coming up with ideas. Looking for some ideas for the following 3 sites:
    http://www.goldenflax.com  Golden Flax Seed Production & Sales
    http://www.cbhockey.com  Hockey Stick Manufacturer
    http://www.northcountryfudgeshoppe.com  Homemade Fudge Sales
    We appreciate any advice that can be offered. If you are a designer with a larger idea, please submit a ballpark estimate to the email in my profile.

    Hi andy,
    You need to go for BPM for your requirement.
    For multiple SOAP Action  you need to specify the action name in SOAP receiver adapter.
    You can create 3 SOAp channel with 3 different action.
    or create one channel and set the Action name dynamically in Mapping.
    SOAP Action
    Specify the SOAP action. The action species the value for the SOAPAction in Web service messages.
    Refer this link for help
    http://help.sap.com/saphelp_nw04/helpdata/en/29/5bd93f130f9215e10000000a155106/content.htm
    When calling the service, the results of the first method need to be passed as inputs into the second and third methods. The results from the second method need to be mapped to Idocs in XI and sent Async.
    BPM step:
    Receive the requyest in BPM
    Send step: Make Fisrt call to SOAP(Mapping: Receive request toSOAP request)
    Send step: Make second call to SOAP(Mapping First SOAP response to second SOAP Request)
    Send step: Make third call to SOAP(Mapping: First SOAP response to Third SOAP Request)
    Send step: Send Step to ECC(Mapping : Second response to IDOC)

  • Looking for sound designer for a survival horror game

    Hi all,
    We are looking for a talented sound designer to help make atmospheric ambient soundtracks and sound effects. Our current project, Nightfall, is an atmospheric horror oriented game that is focused on provoking many different emotions from our players. Your job would be to help provoke these emotions through rich ambient soundtracks and sound effects that add life and depth to our game. If your interested in making great descriptive soundtracks and sounds that evoke a range of different feelings, from raising the hair on the back of peoples necks to creating a feeling of great happiness, then please send an email to [email protected]
    We could really use your help!
    Regards,
    TransmuteGames

    maybe you can look at their emu product

  • Looking for a designer with experience working on Motorsport projects

    I am looking for a web designer with specific experience working on Motorsport websites.  The project will be to design a BC site for a racing team which we will implement.  If you believe you are qualified for a project like this please send me details of your portfolio and your rate.  Note I am looking for someone who has actually worked on motorsport website, so will need to see evidence of this experience.  If you do not have this experience please do not apply.  Please PM me if you are qualified.

    Hi Sir/Madam,
    I recently Completed my PG Diploma Graduate in Industrial Automation and System Design from National Institute of Electronics and Information Technology (NIELIT) Calicut with 72.2%.I am good labVIEW Programmer and I am seeking job in labVIEW Sector, please help me where i could get the job in labview Sector.
    Please find the attached resume.
    Thanks & Regards,
    Ravi Kumar
    +91-9000324146
    E-mail: [email protected]
    Attachments:
    resume ravi new formetpdf.pdf ‏65 KB

  • Looking for a designer

    Hi, I am looking for a talented artist willing to design
    several static web pages.
    If interested, please send your portfolio to: info a-t
    mediadistributed com.
    Tomasz J

    8)
    Murray --- ICQ 71997575
    Adobe Community Expert
    (If you *MUST* email me, don't LAUGH when you do so!)
    ==================
    http://www.dreamweavermx-templates.com
    - Template Triage!
    http://www.projectseven.com/go
    - DW FAQs, Tutorials & Resources
    http://www.dwfaq.com - DW FAQs,
    Tutorials & Resources
    http://www.macromedia.com/support/search/
    - Macromedia (MM) Technotes
    ==================
    ": Nadia : ** Adobe Community Expert **"
    <[email protected]> wrote in message
    news:[email protected]...
    > The 'pro' of course - the 'what' is preferable naturally
    >
    >
    > --
    > Nadia
    > Adobe® Community Expert : Dreamweaver
    > ----------------------------------------
    > CSS Templates |Tutorials |SEO Articles
    >
    http://www.DreamweaverResources.com
    > ~ Customisation Service Available ~
    >
    http://www.csstemplates.com.au
    > ----------------------------------------
    > ~ Forum Posting Guidelines ~
    >
    http://www.adobe.com/support/forums/guidelines.html
    > CSS Tutorials for Dreamweaver:
    >
    http://www.adobe.com/devnet/dreamweaver/css.html
    >
    >
    >
    > "Murray *ACE*" <[email protected]>
    wrote in message
    > news:[email protected]...
    >> Which the 'bono' or the 'what'?
    >>
    >> --
    >> Murray --- ICQ 71997575
    >> Adobe Community Expert
    >> (If you *MUST* email me, don't LAUGH when you do
    so!)
    >> ==================
    >>
    http://www.dreamweavermx-templates.com
    - Template Triage!
    >>
    http://www.projectseven.com/go
    - DW FAQs, Tutorials & Resources
    >>
    http://www.dwfaq.com - DW FAQs,
    Tutorials & Resources
    >>
    http://www.macromedia.com/support/search/
    - Macromedia (MM) Technotes
    >> ==================
    >>
    >>
    >> ": Nadia : ** Adobe Community Expert **"
    >> <[email protected]> wrote
    in message
    >> news:[email protected]...
    >>> Hopefully not :-)
    >>>
    >>>
    >>> --
    >>> Nadia
    >>> Adobe® Community Expert : Dreamweaver
    >>> ----------------------------------------
    >>> CSS Templates |Tutorials |SEO Articles
    >>>
    http://www.DreamweaverResources.com
    >>> ~ Customisation Service Available ~
    >>>
    http://www.csstemplates.com.au
    >>> ----------------------------------------
    >>> ~ Forum Posting Guidelines ~
    >>>
    http://www.adobe.com/support/forums/guidelines.html
    >>>
    >>>
    >>> "Murray *ACE*"
    <[email protected]> wrote in message
    >>> news:[email protected]...
    >>>> Pro bono? Or what?
    >>>>
    >>>> --
    >>>> Murray --- ICQ 71997575
    >>>> Adobe Community Expert
    >>>> (If you *MUST* email me, don't LAUGH when
    you do so!)
    >>>> ==================
    >>>>
    http://www.dreamweavermx-templates.com
    - Template Triage!
    >>>>
    http://www.projectseven.com/go
    - DW FAQs, Tutorials & Resources
    >>>>
    http://www.dwfaq.com - DW FAQs,
    Tutorials & Resources
    >>>>
    http://www.macromedia.com/support/search/
    - Macromedia (MM) Technotes
    >>>> ==================
    >>>>
    >>>>
    >>>> "Tomasz J"
    <[email protected]> wrote in message
    >>>> news:[email protected]...
    >>>>> Hi, I am looking for a talented artist
    willing to design several
    >>>>> static web pages.
    >>>>> If interested, please send your
    portfolio to: info a-t
    >>>>> mediadistributed com.
    >>>>> Tomasz J
    >>>>
    >>>>
    >>>
    >>>
    >>
    >>
    >
    >

  • Looking for EQ plugin suggestions.

    Hi,
    been running 10.6.8 and now getting ready to move on up to M Lion or Mavericks. In 10.6.8 I have been using the very excellent
    Uniquelizer plugin (which doesn't work in 10.7, or above - as an Audio unit...) and am looking for something very like it
    - unlimited number of EQ bands, excellent filters, sounds great and is not "vintage" style or sounding.
    Definitely don't want Waves and I already have some UAD plugs (typically made to be Vintage or emulate a particular
    hardware product). Any ideas, please.
    Thanks.

    MAutodynamic (http://www.meldaproduction.com/plugins/product.php?id=MAutoDynamicEq) and SplineEQ (http://photosounder.com/splineeq/) are worthwhile to look at IMO......
    Cheers!

  • I'm looking for web designer that use muse?

    Hi,
    I need someone that can take care of my website that i started with Muse, hourly pay, do you know if i can find that in the community?

    trying to add :
    - Music
    - have the option to enlarge the pictures
    - have the website work on tablet/iphone
    -add social media icon and have them linked  ex; Facebook logo linked to our Facebook etc...
    the thing i want to have my website update all the time, and i'm looking for someone to set those update when i need.
    do you have this options in your services?

  • Looking for best design approach for moving data from one db to another.

    We have a very simple requirement to keep 2 tables synched up that live in 2 different databases. There can be up to 20K rows of data we need to synch up (nightly).
    The current design:
    BPEL process queries Source DB, puts results into memory and inserts into Target DB. Out of memory exception occurs. (no surprise).
    I am proposing a design change to get the data in 1000 row chunks, something like this:
    1. Get next 1000 records from Source DB. (managed through query)
    2. Put into memory (OR save to file).
    3. Read from memory (OR from a file).
    4. Save into Target DB.
    Question is:
    1 Is this a good approach and if so, does SOA have any built in mechanisms to handle this? I would think so since I believe this is a common problem - we don't want to reinvent the wheel.
    2. Is it better to put records into memory or writing to a file before inserting into the Target DB?
    The implementation team told me this would have to be done with Java code, but I would think this would be out of the box functionality. Is that correct?
    I am a SOA newby, so please let me know if there is a better approach.
    Thank you very much for your valued input.
    wildeman

    Hi,
    After going through your question, the first thing that came to my mind is what would be the size of the 20K records.
    If this is going to be huge then even the 1000 row logic might take significant time to do the transfer. And I think even writing it to a file will not be efficient enough.
    If the size is not huge then probably your solution might work. But I think you will need to decide on the chunk size based on how well your BPEL process will work. Possible you can try different size and test the performance to arrive at an optimal value.
    But in case the size is going to be huge, then you might want to consider using ETL implementations. Oracle ODI does provide such features out of the box with high performance.
    On the other hand, implementing the logic using the DBAdapter should be more efficient than java code.
    Hope this helps. Please do share your thoughts/suggestions.
    Thanks,
    Patrick

  • Looking for drive config suggestions

    I am going to reconfigure my Mac Pro to enable the use of all 4 tb of internal hard drive space. I currently use a software raid 10 array that seems unstable and I need more drive space anyway. I don't really need speed, just space and some redundancy.
    I am thinking of changing the 4 internal drives to a software raid 0 array and using a 3tb 4 bay external usb drive (raid o as well) for Time Machine. I will also periodically copy my iphoto & itunes library to an external drive for off site storage.
    I was looking into the highpoint 4320 and Raid 5 but I dont like the idea of being a possible victim of poor or slow driver coding when Snow Leopard arrives. I also understand people use one internal disk as a system disk and raid 0 the other 3 for content but I'd like to keep everything on one disk for simplicity.
    Just trying to keep things as simple as possible with 8 disks in play. I would appreciate any suggestions.

    PM is great for running more than 4 drives, and making better use of your PCI slots for controllers.
    Even the Sonnet E2P $79 is 2-channel PM card.
    Then buy an enclosure that supports PM.
    Strongly recommend investing in FirmTek 5PM, costs but quiet and easy way to handle 4 drives direct connect.
    Buy a 2TB WD Green $299.
    One 4-channel PM SATA controller can support up to 20 drives using 4 x 5-drive cases. That is 4-8TB per case and 15-30TB.
    One enclosure as backup A, one as B, and one as 4-10TB of raw live data.
    You can't go wrong with PCI SATA controller. There are a number of choices and options. AMUG and Barefeats have some ideas and reviews. Sonnet and FirmTek are easy for me to recommend and worked with both for 10 and 5 yrs respectfully.
    So you have one enclosure now to get you started and while not PM at least you have something. Always nice to include the make/model so I can look at it.... (or did I miss that somewhere?). Just don't want you using USB for anything other than casual single drive duty.

  • Looking for Source Control suggestions

    I'm a non-professional "at home" programmer and want to set up and experiment with Source Control. The available options seem to be CVS, Subversion and Perforce, although I gather that CVS is 'old technology' replaced by Subversion.
    My requirements (desires)
    A) Run on 10.4.11
    B) integrate with XCode, but can be accessed without it when desired
    C) have a GUI interface (can use command line, but prefer GUI)
    D) can store non-text documents (like Word Processing and Spreadsheets - not necessarily graphics)
    What are advantages/disadvantages of Subversion vs Perforce?
    What are the best GUIs for Subversion?
    Any suggestions / advice would be appreciated.
    Thanks for any help.

    frankinmelrose wrote:
    The available options seem to be CVS, Subversion and Perforce, although I gather that CVS is 'old technology' replaced by Subversion.
    There are actually quite a few more than that. Plus, Perforce is commercial software. I believe it can be used for free under some circumstances, such as yours.
    It sounds like you have bought into the Subversion propaganda There is nothing wrong with CVS. It is super easy to setup and use. It is more a competitor to Subversion than being replaced by it. In fact, I would now call Subversion 'old technology' replaced by Git.
    My requirements (desires)
    A) Run on 10.4.11
    They all do.
    B) integrate with XCode, but can be accessed without it when desired
    Most do.
    C) have a GUI interface (can use command line, but prefer GUI)
    Most do. There may be 3rd parties that have build GUIs in some cases.
    D) can store non-text documents (like Word Processing and Spreadsheets - not necessarily graphics)
    They all do.
    I can't answer any other questions as I've never really used Subversion or Perforce. I tried to install the Subversion server but gave up because it was way too complicated. I like CVS - sweet and simple.

  • Looking for reference design about motor control

    hello everyone,
    i want to design a motor control system (PMSM) based on zynq. is there any reference design for me to develop the software with vivado 2014.4.please can you reference me a link ? thanks

    According to the datasheet, digital lines are individually programmable as either input or output.  Other than the two you need to reserve for your counter tasks, all the other digital lines should be available in the normal way.
    Note too that while certain specific PFI lines are the defaults for the counters, you can program the counter tasks to use different PFI lines instead.  This may help if either of the defaults conflict with DIO that's already been wired up.
    -Kevin P

  • Looking for a god suggestion ...

    Hi all,
    What is the most simplist and easy to use algorithm to find the Shortest Path among the nodes in a Adjacent List graph?
    any comment, hint, resource will be really really appreciated.
    abdull

    This code may seem a bit strange. In defence of the team who wrote it (most of this code is mine, but not all) it was written for a specific type of graph, and the assumption we made about generating adjacency lists on the fly was valid. I haven't given implementations of Graph or Vertex, as these are application-dependent. If you have questions, ask. Apologies for the length, but I'm having problems with my web server at the moment so I can't post it there.
    abstract class RoutingAlgorithm extends Thread
         * Graph class for obtaining lists of edges out of vertices
         * Also assumed (for simplicity in this example) that it knows the largest integer to which a vertex may be mapped
        Graph graph;
         * Vertex we're routing from
        Vertex start;
         * Vertex we're routing to
        Vertex end;
         * True if the edge weights are doubles; false if they are longs.
        boolean doubleEdges;
         * Create an instance of <code>RoutingAlgorithm</code>
         * @param start start vertex
         * @param end end vertex
        public RoutingAlgorithm(Vertex start, Vertex end, boolean doubleEdges)
             graph = new Graph();
             this.start=start;
             this.end=end;
             this.doubleEdges = doubleEdges;
         * stop the thread prematurely
        abstract public void halt();
    abstract class Heap
         * @param o Whatever parameters are required for the particular implementation - hence type Object
        Heap(Object o)
         * Insert Object <code>x</code> with key <code>key</code>
         * @param x This does not need to contain a key
         * @param key Of type Number since may want to be a double or a long
        abstract void insert(Object x, Number key);
         * Decrease the key of <code>x</code>. If <code>key</code> is not less than the previous key of
    <code>x</code> this method does nothing
         * @param x Must already be in the heap
         * @param key Must be lower than the previous key of x
        abstract void decrease(Object x, Number key);
         * Delete an Object of minimum key and return it
         * @return An Object of minimum key
        abstract Object delete_min();
        abstract boolean isEmpty(); 
    import java.util.Vector;
    * This is the most efficient of the three types of heap we tried for sensible size input
    class AugmentedBinaryHeap extends Heap
        private Vector A, keys; // A[] in spec.
        private int[] P; // P[] in spec.
        // heapsize need not be stored, as it is A.size();
        private boolean doubleKeys, initialised;
        private Graph graph;
         * Binary heap with some extra pointers to speed up decrease operations.
         * This class is specifically designed for the purpose in hand and won't work as a general
         * heap.<br>
         * Takes linear time in the number of vertices in the graph
         * @param o must be a Graph containing the function f:V->N needed for indexing by V.
        AugmentedBinaryHeap(Object o)
             super(o);
             graph = (Graph)o;
             A = new Vector();
             keys = new Vector();
             P = new int[graph.maxF()];
             for(int i=0; i<P.length; i++)
                 P[i] = -1; // initialise to a nonsense pointer
             initialised = false;
         * Insert Object <code>x</code> with key <code>key</code>.
         * <br>Takes logarithmic time
         * @param x This does not need to contain a key
         * @param key Of type Number since may want to be a double or a long
        void insert(Object x, Number key)
            if (!initialised)
                 if (key instanceof Double)
                      doubleKeys = true;
                      initialised = true;
                      doInsert((Vertex)x, key);
                 else if (key instanceof Long)
                      doubleKeys = false;
                      initialised = true;
                      doInsert((Vertex)x, key);
                 // else key is neither a Double nor a Long, so ignore
             else
                 doInsert((Vertex)x,key);
        private void doInsert(Vertex v, Number key)
             P[graph.f(v)] = A.size();
             A.add(v);
             keys.add(key);
             upHeap(P[graph.f(v)]);
        private void upHeap(int x) // must change keys and P[] as I go
             if (x>0 && lt( (Number)keys.get(x), (Number)keys.get(parent(x)))) // if x's parent has greater key
                 // swap x and its parent
                 Object tempKey = keys.get(parent(x));
                 keys.set(parent(x), keys.get(x));
                 keys.set(x, tempKey); // have now swapped keys
                 int tempP = P[graph.f((Vertex)A.get(parent(x)))];
                 P[graph.f((Vertex)A.get(parent(x)))] = x;
                 P[graph.f((Vertex)A.get(x))] = tempP; // have now swapped pointers
                 Object tempObj = A.get(parent(x));
                 A.set(parent(x), A.get(x));
                 A.set(x, tempObj); // have now swapped objects
                 upHeap(parent(x)); // continue moving object up heap
        private void downHeap(int x) // must change keys and P[] as I go
             if (left_child(x)< A.size() && lt( (Number)keys.get(left_child(x)), (Number)keys.get(x)))
                 // check whether I want to call downLeft or downRight
                 if (right_child(x)<A.size() && lt( (Number)keys.get(right_child(x)), (Number)keys.get(left_child(x))))
                      downRight(x);
                 else
                    downLeft(x);
             else if (right_child(x)<A.size() && lt( (Number)keys.get(right_child(x)), (Number)keys.get(x)))
                 downRight(x);
        private void downLeft(int x)
             // swap x and its left child
             Object tempKey = keys.get(left_child(x));
             keys.set(left_child(x), keys.get(x));
             keys.set(x, tempKey); // have now swapped keys
             int tempP = P[graph.f((Vertex)A.get(left_child(x)))];
             P[graph.f((Vertex)A.get(left_child(x)))] = x;
             P[graph.f((Vertex)A.get(x))] = tempP; // have now swapped pointers
             Object tempObj = A.get(left_child(x));
             A.set(left_child(x), A.get(x));
             A.set(x, tempObj); // have now swapped objects
             downHeap(left_child(x)); // continue moving object down heap     
        private void downRight(int x)
             // swap x and its right child
             Object tempKey = keys.get(right_child(x));
             keys.set(right_child(x), keys.get(x));
             keys.set(x, tempKey); // have now swapped keys
             int tempP = P[graph.f((Vertex)A.get(right_child(x)))];
             P[graph.f((Vertex)A.get(right_child(x)))] = x;
             P[graph.f((Vertex)A.get(x))] = tempP; // have now swapped pointers
             Object tempObj = A.get(right_child(x));
             A.set(right_child(x), A.get(x));
             A.set(x, tempObj); // have now swapped objects
             downHeap(right_child(x)); // continue moving object down heap     
        private int parent(int n)
             return (n+1)/2 - 1;
        private int left_child(int n)
             return 2*n + 1;
        private int right_child(int n)
             return 2*n + 2;
         * Decrease the key of <code>x</code>. If <code>key</code> is not less than the previous key of
    <code>x</code> this method does nothing<br>
         * Takes logarithmic time
         * @param x Must already be in the heap
         * @param key Must be lower than the previous key of <code>x</code>
         * @throws ArrayIndexOutOfBoundsException if <code>x</code> is not in the heap
        void decrease(Object x, Number key)
             int index = P[graph.f((Vertex)x)];
             if (lt(key, (Number)keys.get(index)))
                 keys.set(index, key);
                 upHeap(index);
         * Delete an Object of minimum key and return it.
         * <br>Takes logarithmic time
         * @return An Object of minimum key
         * @throws ArrayIndexOutOfBoundsException if heap is empty
        Object delete_min()
             Object ans = A.get(0);
             P[graph.f((Vertex)ans)] = -1; // change pointer to nonsense value
             int maxIndex = A.size() - 1; // largest addressable index in A
             A.set(0, A.get(maxIndex));
             keys.set(0, keys.get(maxIndex));
             P[graph.f((Vertex)A.get(0))] = 0; // last item copied to position 0
             A.remove(maxIndex);
             keys.remove(maxIndex); // only one copy of it now remains
             if (A.size()>0)
                 downHeap(0); // restore binary heap property;
             return ans;
        boolean isEmpty()
             return (A.size() == 0);
        private boolean lt(Number x, Number y)
             if (doubleKeys)
                 return (x.doubleValue() < y.doubleValue());
             else
                 return (x.longValue() < y.longValue());
    class Graph // Provide an implementation, since new Graph() is called
        // f:V->N
        // Maps vertices to integers, for indexing into arrays
        int f(Vertex v);
        // The maximum value of f(v) for a valid Vertex v
        int maxF();
        // Returns the adjacency list for v as an iterator which iterates over VertexCost objects
        // I.e. returns the set {(v1, c) : (v, v1) is an edge with weight c}
        java.util.Iterator list(Vertex v);
    class VertexCost
        Vertex p;
        Number cost;
        VertexCost(Vertex p, Vertex cost)
             this.p=p;
             this.cost=cost;
        VertexCost(Vertex p, Long cost)
             this.p=p;
             this.cost=cost;
    import java.util.Iterator;
    * Generic heap-based Dijkstra's algorithm.
    * The only things extensions of this class need to do are initialise
    * the heap <code>H</code> in the constructor and override the
    * <code>algorithmName()</code> method
    abstract class DijkstraAlgorithm extends RoutingAlgorithm
         * As per the spec, an array indexed by vertex which holds the current tentative cost.
        Number[] d;
         * As per the spec. No implementation is provided, and this is why the class is declared
         * abstract.
        Heap H;
        private Vertex[] backPointer;
         * <p>Generic heap-based Dijkstra's algorithm.
         * @param start start vertex
         * @param end end vertex
         * @param doubleEdges indicates whether the Graph class returns double or long weights (distances between vertices)
        public DijkstraAlgorithm(Vertex start, Vertex end, boolean doubleEdges)
             super(start, end, doubleEdges);
             // initialise data structures
             d = new Number[graph.maxF()+1];
            backPointer = new Vertex[graph.maxF()+1];
            // forall v: d[v] <- infinity
             for(int i = 0; i < d.length; i++)
                if (doubleEdges)
                     d[i] = new Double(Double.POSITIVE_INFINITY);
                else
                    d[i] = new Long(Long.MAX_VALUE);
            // d[start] <- 0
            if (doubleEdges)
                d[graph.f(start)] = new Double(0.0);
            else
                d[graph.f(start)] = new Long(0);
        public void run()
             Iterator adj;
             while (!H.isEmpty()) // while (labelled != empty_set)
                 Vertex v0 = (Vertex)H.delete_min(); // v0 <- H.delete_min()
                 if (v0.equals(end)) break; // stop calculating when found best route to end point
                 Number pathTov0 = d[graph.f(v0)];
                 adj = graph.list(v0); // get adjacency list for v0
                // forall (v0,v1) in E: relax(v1, d[v0], v0);
                while (adj.hasNext())
                    VertexCost node = (VertexCost)adj.next();
                      relax((VertexCost)node, pathTov0, v0); // relax does H.decrease() if needed
                 if (isInterrupted()) break; // it should then be possible to resume by calling run() again...
             doReturn();
        protected void relax(VertexCost node, Number pathTov0, Vertex prev)
             Vertex v1 = node.p;
             Number edgecost = node.cost;
             if (isInfinite(d[graph.f(v1)])) // if d[v1] = infinite
                 d[graph.f(v1)] = sum(pathTov0, edgecost); // d(v1) <- d(v0) + c(v0,v1)
                backPointer[graph.f(v1)] = prev; // backPointer points to prev node
                 H.insert(v1, d[graph.f(v1)]); // H.insert(v1)
             else
                 if (lt(sum(pathTov0,edgecost), d[graph.f(v1)])) // if improvement
                      d[graph.f(v1)] = sum(pathTov0, edgecost);
                    backPointer[graph.f(v1)] = prev; // backPointer points to prev node
                      H.decrease(v1, d[graph.f(v1)]); // as per the spec.
        protected void doReturn()
             // this method does a backtrace to find the path, prepending to a list as it goes
             // hence the list should have the path starting at start and going to end.
             Route ans = new Route();
             ans.path.insert(end); // since insert prepends, this will be at the end of the list
             ans.cost = d[graph.f(end)];
             Vertex trace = end; //holds the current point as I trace back to find the path
             do
                if (backPointer[graph.f(trace)] == null)
                    ans = null; // since null CanalRoute indicates no route
                    break;
                else
                    trace = backPointer[graph.f(trace)];
                    ans.path.insert(trace); // go back a step and insert
             }while(!(trace.equals(start)));
            // In the original code, there was a call to a parent to return the route
        protected boolean prevNode(Vertex trace, VertexCost node)
             // work out whether node.p is the point preceding trace in the path
             // return true iff d[trace] = d[node] + c[trace, node]
             //   i.e. iff node immediately precedes trace in the optimum route
             return (d[graph.f(trace)].equals(sum(d[graph.f(node.p)],node.cost)));
        protected boolean isInfinite(Number n)
             if (doubleEdges)
                 return (n.doubleValue() == Double.POSITIVE_INFINITY);
             else
                 return (n.longValue() == Long.MAX_VALUE);
        protected Number sum(Number x, Number y)
             if (doubleEdges)
                 return new Double(x.doubleValue()+y.doubleValue());
             else
                 return new Long(x.longValue()+y.longValue());
        protected boolean lt(Number x, Number y)
             if (doubleEdges)
                 return (x.doubleValue() < y.doubleValue());
             else
                 return (x.longValue() < y.longValue());
        public void halt()
             this.interrupt();
    * @see AugmentedBinaryHeap
    class Implementation extends DijkstraAlgorithm
         * Dijkstra's modified algorithm.
         * Uses an {@link AugmentedBinaryHeap AugmentedBinaryHeap}.<br>
         * @param start start co-ords
         * @param end end co-ords
         * @param doubleEdges indicates whether the Graph class returns double or long weights (distances between vertices)
        public Implementation(Vertex start, Vertex end, boolean doubleEdges)
             super(start, end, doubleEdges);
             H = new AugmentedBinaryHeap(graph); // H.create()
             H.insert(start, d[graph.f(start)]); // H.insert(start)
    }

  • Looking for Master Thesis suggestion in SAP Business Intelligence Area

    Hi,
    I am in final semester of my masters program in Electronic Business. I have studied SAP ERP (SAP ECC 6- MM, SD, PP) and Datawarehouse (DW structures, Reporting, ETL, etc) with SAP BW 3.5. I have also learned and worked with ABAP programing.
    I am interested to do my masters thesis in SAP-BI area. Kindly guide me regarding some topics or current issues which i can further explore and work on.
    Thanks and Regards,
    Azam

    Hi Moshin,
    You have to learn SAP BW 3.5 along with ABAP and BI 7.0. Because BW 3.5 is the earlier version of BI 7.0.
    BO is widely used for Reporting which can work on any database.
    It's better to join in SAP Authorized Institutes like the following. It may be expensive.
    1. Siemens
    2. Yash
    Etc..........
    Regards,
    Suman

Maybe you are looking for

  • How to generate SEO URLs in ATG 10.0.1..?

    how to generate SEO URLs in ATG.. pls explain how it works..? Thanks in advance, Vishnu & Nithin Kayithi

  • How to pass printer name as a parameter to Bursting control file

    We are on 11.5.10.2 using XML Publisher 5.6.3. We ahve a requirement, where we need to print our invoices to different printers. How do we pass the printer name as a parameter to Bursting control file. Can the bursting control file be created to use

  • Scanner Delimiter

    Im trying to read in a csv file, currently my delimiter is scan.useDelimiter(","); my problem is how do i get it to not include the start of the next line as part of the last token???

  • How to shuffle albums in nano 7?

    New to apple and need step by step, please.

  • Oracle purchasing attachments gives error

    I am trying to load an attachment to a PO and gets an error Required database login or file information is missing. The Attachment File Directory profile option is set to a directory in the web server. I understand that the web server should have per