How best to handle hundreds of similar objects?

Hi. I'm a relative newcomer to Java. I've been working on an application that involves a table of data. Each column in the table represents a different type of data. The data can be numeric, dates, Strings, etc. If I were to create an interface describing the charcteristics that each implementation of a column should have, it would be something like:
getTitle();
getDataType();
getDefinition; //some columns will require explanation (maybe via tooltip or dialog box)
getValue; //could be simple as pulling a value from a database or could be complicated code
getDependencies; //identify what other columns may be required to be present in order to calculate getValue();
getSettingsDialog(); //return JDialog with a custom control panel for the particular column (may include formatting, calculation parameters, etc.)
etc.
etc.
So, the quesiton I'm struggling with is that if in the long run there may be hundreds of unique columns, is it better to create a separate class for each column, or create one class and just parameterize everything. It seemed odd to me to create hundreds of similar classes, so I started out creating one class and creating new instances for each column needed. But, if you do that, how do you store stuff like the code needed for certain methods? For example, the calculations in getValue() could involve lengthy code. Do I just store all of the various getValue() code in one big static class that the column instance would look up or call? Or should I just switch to creating a new class for each column I need (all obviously deriving from the same abstract class/interface)?
Sorry if this isn't clear. I have been reading through various OOPS and design pattern books, but haven't found anything that clears this up definitively. Thanks.

Bob.B wrote:
Some of the data comes from a database, but a lot of it is then derived from that data. There really can be hundreds of columns. The data I'm dealing with is kind of esoteric, so I'll try to describe the situation with a more common set of data. Imagine you were lucky enough to own McDonalds (the whole company) and you wanted a view of how all of the franchises were doing (the franchises would be the rows in the table). Each franchise will have hundreds of characteristics about it stored in some database (e.g. owner, address, city, state, date opened, total hamburger sales each day, total milkshake sales each day, etc. etc.). The application is essentially a treetable that allows the user to 1) pull whatever franchises he wants based on user criteria, 2) group and subtotal the franchise data on any available field (e.g. group and subtotal franchise data by city), and 3) choose what data (i.e. columns) is displayed.
"Treetable" is a GUI item. You probably shouldn't be pulling the entire dataset, but rather pulling it at once.
The data structure can drive the GUI but it probably shouldn't be the sole driving factor. Unless the only goal is to drive a reporting engine. See below.
If the columns merely pulled the data as is from the database, it would be pretty straightforward to just have one column class that knows which db field to pull and then display. But, imagine that there are many more potential columns that get a little bit more complicated. For example, there may be standard metrics that are not directly stored in the database because they can be derived. For example, hamburger sales per store, hamburger sales per day for each day of the week, the ratio of hamburger sales to milkshake sales, etc. Anyway, with the data I'm dealing with, these calculations can get quite complex and there are actually many, many standard metrics that the user would want to see. There are also aspects of the data that the user would want to control on the fly (i.e. have access to column by column settings).
Presumably you are carefully controlling the data calculation. If it pulls a number today for last weeks data it must be able to pull that same number next year even if how the result is calculated changes later this year.
So, I think it makes sense for the columns to each be separate objects. I started by having one column class, and when I needed a complicated getValue() function in it, I just stored the calculations in one giant static class that has all the various calculations, and I access the appropriate calculation in that class with a switch statement. I just wasn't sure if this was the most efficient way to do it. It would be easier for me to just have a separate class for each column (all with the same interface), but I didn't know what the overhead in Java was to have hundreds of distinct classes.
Sounds like a report to me. One layer encapsulates real data. Another layer encapsulates reporting. Values that appear on reports are either data or they are calculated from the data. Notice the the report layer, not the data layer, does the calculation.
Keep in mind that the calculations themselves might be data driven but by their own data layer. This can include parameters of the calculation, like sales tax for the given period, or the calculation itself (for instance by keeping the algorithm as a java class in the database.)
Also note that reporting (which includes more that printed reports) is not new and there are commercial and freeware frameworks for it.

Similar Messages

  • How best to handle a start button and a play-pause toggle button?

    Hello,
    Still new to AS3, on a project for a client. I'd appreciate advice on how best to handle the navigation for 5 movieclips set inside 5 separate frames on the main timeline. I have a play button on frame 1 to start the animation, but I'd like to include a play/pause toggle button on the other frames to finish the navigation. Everything works except the toggle button, when clicked, does toggle but does not stop the animation. I've copied the code, including the toggle button code on frame 4 below. How best to handle both a start button and a play-pause toggle button?
    Thanks for any help in advance.
    Frame 1:
    PlayBtn_mc.buttonMode = true;
    stop();
    PlayBtn_mc.addEventListener(MouseEvent.CLICK,startMovie);
    function startMovie(event:MouseEvent) {
    gotoAndPlay(2);
    Frame 2:
    stop();
    Frame 3:
    stop();
    Frame 4:
    RewindBtn_mc.buttonMode = true;
    RewindBtn_mc.addEventListener(MouseEvent.CLICK,rewind);
    function rewind(e:MouseEvent) {
    prevFrame();
    FFBtn_mc.buttonMode = true;
    FFBtn_mc.addEventListener(MouseEvent.CLICK,forward);
    function forward(e:MouseEvent) {
    nextFrame();
    ToggleBtn_mc.buttonMode = true;
    ToggleBtn_mc.addEventListener(MouseEvent.CLICK, doToggle);
    function doToggle(myevent:MouseEvent):void {
    ToggleBtn_mc.play();
    Frame 5:
    (Loops back to Frame 1)

    I can't tell you how appreciative I am of all your assistance.
    Could you double-check on this, I may have stumbled upon somthing- I tweaked your last code, which toggled, but didn't seem to call the scene_test_mc into action.
    But I copied below what both toggles the play/pause button and calls the mc into action. Could you verify this as reliable code and not a fluke that will break? Thank you so much! :
    ToggleBtn_mc.buttonMode = true;
    ToggleBtn_mc.addEventListener(MouseEvent.CLICK, doToggle);
    scene_test_mc.buttonMode=true;
    scene_test_mc.addEventListener(MouseEvent.CLICK, doToggle);
    function doToggle(myevent:MouseEvent):void {
    var mc:MovieClip=MovieClip(myevent.currentTarget);
    if(mc.currentFrame==1){
    mc.gotoAndStop(2);
    scene_test_mc.play();
    } else {
    mc.gotoAndStop(1);
    scene_test_mc.stop();

  • Moved to smaller SSD - how best to handle iTunes situation

    I had about 40GB of iTunes data.
    After, installing the new SSD, my music folder is currently empty.
    How best can I move my iTunes essentials to the SSD and leave most of the music on the external drive where the original cloned HDD sits?
    Thank you!

    I don't have iTunes11.  I am assuming it behaves similarly to earlier versions as regards to library behavior.
    So what I was hoping I can do is a scenario where I iTunes can launch alright, but not play music until I connect the drive with the music. So when I need the music, I will have to attach the USB drive.
    I am confused by what you are trying to accomplish here. Your phone can't sync if your music is on another drive and that drive isn't attached.  There would be few reasons to have your media on one drive and still start iTunes.  You can do it but anything requiring that media won't work, such as syncing.
    Responses to:
    1) If iTunes will automatically launch when the phone is attached then it should continue to do so, but you will need to make sure the drive is attached first.
    2)  No need for symbolic links and those don't fool iTunes anyway.  If your whole library is on an external drive, start iTunes with the option key held down and guide it to the iTunes Library.itl file in the itunes folder on that drive.  It will automatically use that library whenever iTunes starts.  However, should you forget to attach the drive before starting iTunes it will probably make or revert to any copy on the internal drive and you will have to restart it with the option key held down, etc.  Yes, this is annoying but unfortunately Apple is heading two different directions with their computers and drives getting smaller while marketing multimedia which requires larger drives than previously. Of course their solution is Match but personally if I don't have a copy on a drive totally under my control I am not comfortable.

  • How best to handle multiple web sites using iWeb 08

    I currently am using iWeb08. I am maintaining two websites; The church site resides on a Rogers server. I use Transmit as a FTP loader. The other site is an engineering society's website that is posted on Apple's server. I have an ME account just for the latter group. iWebsites is used to alternate between the two sites. The church group has a .ca web address.
    Is it worth upgrading to iWeb 09? How does iWeb09 handle 2 websites? I wish I could publish both to the Mac account but have not figured out how. I must retain the rogers account for viewing the church site
    Has anyone deleted iWebsites from OX10.5.6? How was it done? I know that backups are mandatory before attempting these changes.
    Thanks,
    Bill

    In its current form, iWeb '09 doesn't handle publishing well at all!
    I keep all my sites on separate domain files, each in their own folder. Any site is launched in iWeb by double clicking the domain file. I start each new site from a new, blank domain file.
    I keep all my website folders in a folder in a second dock so that I can launch any site with two mouse clicks - faster than you can launch iWebsites!
    You can publish as many sites as you want to one MobileMe account but you can only have domain name forwarded as Cname. Any more have to use masking with all its inherent problems.
    I would be more inclined to dump MobileMe and publish both sites to a decent hosting company.
    The new iWeb '09 FTP works for some. I have tested it with my server - Host Excellence - which doesn't force you to upload to a Public_html folder and this goes as planned.
    Having said that, I still publish to a local folder as I optimize and upload my files using Web Site Maestro. Once you have published your site for the first time, this application will then use its Smart Handling feature to process the changed files only.
    Unless all your viewers use Macs you have to optimize to get your pages to download in that browser that all the Fred Flintstones of the world use.

  • How best to handle lookups ?

    Fairly novice at Discoverer, so apologies if this has been asked a million times, couldn't find anything searching though.
    I've got my table T, which has about 5 columns which all hold code values which point to the stored value column in a list of values table L, which has a domain, stored value and displayed value column.
    Usual scenario, table L will have a number of rows where domain = STATUS, and then the appropriate stored and displayed values for an LOV.
    Same with domain = REASON FOR PURCHASE, REASON REMOVED etc etc
    One domain per code column in T.
    Creating the EUL, I need to decode all these coded columns by looking up the displayed value in the L table.
    So I create a custom folder which will hold all the columns from T, aswell as all the decoded columns yeh ?
    Question is, how do I best go about decoding them ?
    I could write a database function which takes in a domain and stored value parameter and returns the displayed value and use that to create items in my custom folder I assume.
    Or, do I create multiple folders from table L, put a condition on each of them DOMAIN = STATUS or DOMAIN = REASON FOR PURCHASE etc etc
    and then do a join from T to L for each of them T.coded_column = L.stored_value etc ?
    Is there any advantage or disadvantage to each approach ?

    Hi,
    There are lots of different ways of doing this and the best way will depend on the number of lookups you have, how big the lookup tables are, whether you need error detection and handling etc.
    Joining to the LOV folders
    ==========================
    This is easy to set up as you probably have the LOV folders containing the lookup values and text already. Another advantage is that if the lookup is not used in the report then the lookup table is not joined in.
    However, if you are using the lookups in the report then the performance is often poor. Firstly, if some of the lookups don't exist or there are null values in the main table then you will have to outer join the lookup folder. The outer join will cause performance issues and problems if you need to select a list of text from the lookup folder.
    Secondly, if there a many domains in the lookup table the query could run slowly. Also if there are 2 entries for the same lookup value you will get incorrect results.
    Using a scalar lookup
    =====================
    Here you use a select within in the main select statement in a custom folder or view to retrieve the lookup text. e.g.
    select value_id, (select value_text from lookup_tab l where l.value_id = t.value_id) lookup_text, ...
    This probably will give the best performance and if the lookup is not used then the table is not joined in. However, if you have 2 entries for the same lookup value then you will get too many rows errors and the query will not run.
    Using PL/SQL Function
    =====================
    This has the advantage in that there is less code in the SQL statements so the execution plan is smaller. It is also simple to set up once you have written the function. You can add the lookups either in the workbooks or the EUL using a Discoverer calculation.
    Another advantage is that you can include error detection and correction. So if there are 2 entries for the same lookup value you can raise an exception giving details of the faulty lookup.
    PL/SQL function can be quicker if the lookup is complex and the results are cached. I have some notes on how to do this which I will post on the blog if you are interested.
    Rod West

  • In-Service Warranty Repair Denied: Would Really Appreciate Tips on How Best to Handle This -- INTERIM PROGRESS REPORT, Bottom of Thread

    Hi, everybody,
    Four days ago  (4-21-08), I returned my IBM T60 for repair via the prepaid box.
    While I was bummed that it stopped booting for no apparent reason and I'd have to do without it, I wasn't concerned, because as a newspaper and magazine reporter and editor, I've been using Thinkpads and IBM Service since the pre-Pentium days, without ever having a problem.
    But today when I called to see if my unit was on its way back, I was informed it's on 'billable hold.' IBM claimed the damage was due to a spill and thus, not covered. I could get my laptop back right now, broken, pay $750 for them to repair it (I did not spill a drop of anything into or on it) or open a dispute.
    And -- get this -- it would be [i]four to five business days[/i] before I hear back from IBM regarding the dispute's disposition.
    I was told the reason for this long wait was because 'we have a big backlog of dispute cases' and 'our technicians have to take pictures and make a report documenting the spill' -- which did not occur on my end.
    So who documents my side? Nobody interviewed me. The prepaid box did not even contain the forms IBM service always used to send for me to fill out describing the problem.
    I asked to speak to a supervisor -- nobody available. And the message I left on a supervisor's answering machine was not returned.
    Needless to say, I am very upset. I absolutely positively did not spill anything into or onto my laptop. If they said dog hair or dander, okay, I've got two large mutts. But no spillage. 
    Plus, the T60 is among those thinkpad models promoted by Lenovo via videos on its own site & Youtube in which Thinkpads get smooshed by heavy equipment, run over by motorcycles, submerged in diving pools, etc.!
    (I just downloaded the whole lot, in case I need them for Small Claims Court).
    However, I hope it doesn't come to that, and would similarly prefer to avoid anti-Lenovo blog screeds and forum posts, if possible. After all, this is my first-ever negative experience with IBM products.
    Has anybody gotten any satisfaction from Warranty Service using more congenial methods? And is there anything I can do right now, as I have publication deadlines to meet?
    Apart from the boot failure, this laptop was in near-pristine condition when they received it and I need it back.
    [i]Four to five more business days[/i], just to tell me whether or not they want to hear my side of the story, not even to do the repair? That's kind of insulting. Why did I pay for the Warranty?
    This is definitely not the IBM experience I've known and loved for so many years, so if any of you have satisfactorily resolved your own in-warranty issues, please share your experiences.
    Thank you in advance for insides you may have. 
    All best,
    Amy
    Message Edited by brasscupcakes on 04-30-2008 06:08 PM
    Solved!
    Go to Solution.

    Hey,
    I did take the weekend off, and so my Monday has been catch up. That'll teach me! 
    Can you send me a PM with your depot case number and I'll see where we are in the process and follow up with you.
    Apologies that this has been a troubling experience.
    Mark
    ThinkPads: S30, T43, X60t, X1, W700ds, IdeaPad Y710, IdeaCentre: A300, IdeaPad K1
    Mark Hopkins
    Program Manager, Lenovo Social Media (Services)
    twitter @lenovoforums
    English Community   Deutsche Community   Comunidad en Español   Русскоязычное Сообщество

  • How best to handle Outgoing Checks during DTW initial data import?

    Hi Experts,
    This is the situation:
    Old client system does this - anytime they post an outgoing check it reduces the Vendor owed balance.
    For example Old Client system has Vendor1 owing 150 dollars (Vendor A/P balance) with two outstanding A/P invoices for 100 dollars and 50 dollars. On their old system, when they pay off one of the invoices say for 50 dollars, the A/P owed balance reduces to 100 dollars.
    I would like to import above data in to SAP B1 now.
    I shall import open invoice 1 for 100 dollars. The BP's (Vendor1) A/P balance will get bumped to owing 100 dollars. Which is OK.
    I now want to import the ougoing check. How do i do that? If I import outgoing check against the BP, it will further reduce the Vendor1 owing balance to 100-50=50 dollars.
    Note: I noticed there is a flag (in Banking->outgoing payments->Checks for payment - OCHO, creadteJDT). I suppose using the above flag will not post the journal entries that credits the bank and debits the vendor again.
    Also, I suppose I use the templates OCHO and CHO1 for outgoing check payments. Does this create link BP and show the check in outgoing checks for payment or only external reconciliation remains to be done?
    Please advise. Thanks for your help.

    Hi Rahul,
    If the invoice is fully paid, our client does not want to import closed out invoices. However, that vendor and fully paid invoice may have a check sent out which they want to import and associate with the BP (Vendor).
    They want to import only unpaid and open invoices as summary invoice to get the A/P payable up to date for that vendor.
    Yes, this is also possible, the invoice may be partially paid out in which case, only the open amount on the invoice and the non-reconciled check needs to be imported.
    Are the above two situation a normal practice and can they be done?
    Thank you.
    Edited by: Syed Aleem on Jul 21, 2011 11:29 AM
    Edited by: Syed Aleem on Jul 21, 2011 11:30 AM

  • What are developers​' opinions on how best to handle upgrading large code libraries with multiple apps to new a labview version?

    I have a large set of code that I've painstakingly migrated from one labview version to another over the years.  I have lots of deployed applications that I need to continue to support.  From experience and interaction with other developers, I don't think I can continue to migrate every application to a new labview version when I upgrade going forward.  Every application seems to break in one way or another, the builds don't work right and need to be re-done, and its too much time to get all my applications working and tested again.  That opinion is solidified by NI's policies that make it impossible to install old toolkit versions on new labview versions, for example.  Compatibility is often being sacrificed so NI can develop labview in the direction they choose.  So I have to take the position that whatever version I write an application in will probably need to be maintained in that labview version throughout it's life.
    In light of this, how are other developers managing older applicatiosn written in older versions of labview.  Right now I have a virtual PC on my system with 7.1, 8.0, 8.2, and 8.5 all running on different virtual PC's so I can keep each installation separate.  I strongly recommend this approach.  But keeping my large libraries of code separate is tough.  They are many GB, they all link to each other, and I always get worried even when I separate them in different directories that somehow labview will search in the wrong place and find the wrong version of a sub-vi.  Are other people also trying to maintain separate copies of all their code in different labview versions?  How are other people managing this problem?
    -Devin
    I got 99 problems but 8.6 ain't one.
    Solved!
    Go to Solution.

    Hi,
    The following directory hierarchy, coupled with a "hierarchical" VI naming strategy, have been effective (for me) at preventing "cross-linking" across projects and LV versions. The storage hierarchy was designed for use within an SCC environment, but works fine independently. Hierarchical-naming insures unique names for application-specific files. Use of Project Libraries (in LabVIEW 8.x) addresses the problem of having different VIs with the same name, still, it gives me warm-fuzzies to have app-specific files named uniquely, and I can't imagine not using Hierarchical-naming anymore - it's described at-length in section 2.1 of attached .doc..
    Note: It's been my experience that companies identify resources as supporting specific "Programs", where a Program is related to a product or "family" of products, so, under <Programs> (below) each "Program" subdirectory encapsulates product-specific (or product-family-specific) applications. Also, assuming no SCC tool is being employed the <Production> directory (below) exists as a repository for distributables.  All distributables required to reproduce a test-station should be located under <Production>.
    <Software_Root>
    <Development>
    | <Common>
    | | <LabVIEW_61>
    | | | <Drivers>
    | | | | <DMM>
    | | | | <OS>
    | | | | <PS>
    | | | <Utilities>
    | | |   <File>
    | | |   <Error>
    | | |   <String>
    | | <LabVIEW_711>
    | | <LabVIEW_82>
    | | <LabVIEW_851>
    <Programs>
    * Program-specific applications that (probably) have distributables
    | <Program_#1>
    | | <Application_#1>
    | |   <Docs>
    | |   <Source>
    *       Individual, application-specific, VIs go here
    | | <Application_#2>
    | | <Application_#3>
    | <Program_2>
    | | <Program_3>
    | <Tools>
    *   Tools are NOT "program"-specific, and, may have distributables
    |   <SomeTool>
    |   <SomeOtherTool>
    <Production>
    | <COTS&Freeware>
    | <Programs>
    | | <Program_1>
    | | | <Application_#1>
    | | | | <Application_#1_Rev#1>
    | | | |   Application_#1.bld>
    | | | |   <EXE>
    | | | |   <Installer>
    | | | |   <Source>
    | | | |     Application_#1.llb>
    *           Distributable is created from LLB "snapshot", not directly from development tree
    | | | <Application_#2>
    | | | | <Application_#2_Rev#1>
    | | | |    Application_#2.lvproj>
    | | | |   <EXE>
    | | | |   <Installer>
    | | | |   <Source>
    | | | |     Application_#2.llb>
    | <Tools>
    "Inside every large program is a small program struggling to get out." (attributed to Tony Hoare)
    Attachments:
    StyleGuide.doc ‏941 KB

  • Error: null prop at SharedCursorPane.as:537: how best to handle?

    just started to get this one too. literally right now, continuously, having never seen it before (FP10 swc):
    TypeError: Error #1009: Cannot access a property or method of a null object reference.
        at com.adobe.rtc.collaboration::SharedCursorPane/onNodeCreate()[C:\work\main\connect\cocomoP layer10\src\com\adobe\rtc\collaboration\SharedCursorPane.as:537]
        at flash.events::EventDispatcher/dispatchEventFunction()
        at flash.events::EventDispatcher/dispatchEvent()
        at com.adobe.rtc.sharedModel::CollectionNode/http://www.adobe.com/2006/connect/cocomo/messaging/internal::receiveNode()[C:\work\main\co nnect\cocomoPlayer10\src\com\adobe\rtc\sharedModel\CollectionNode.as:705]
        at com.adobe.rtc.messaging.manager::MessageManager/http://www.adobe.com/2006/connect/cocomo/messaging/internal::receiveNode()[C:\work\main\co nnect\cocomoPlayer10\src\com\adobe\rtc\messaging\manager\MessageManager.as:583]
        at com.adobe.rtc.session.managers::SessionManagerBase/receiveNode()[C:\work\main\connect\coc omoPlayer10\src\com\adobe\rtc\session\managers\SessionManagerBase.as:298]

    hey hironmay
    we've isolated if not solved the problem. elsewhere in the app, COMPLETELY unconnected to the SharedCursorPane, we've got a mx:ToggleButtonBar to which we, just prior to the point the app crashes, do this;
    topBar.toggleButtonBar.selectedIndex = -1;
    we tried killing some event bubbling thus:
    topBar.toggleButtonBar.addEventListener(FlexEvent.VALUE_COMMIT, _onToggleBarChange);
    private function _onToggleBarChange(event:FlexEvent):void
        event.stopImmediatePropagation();
    which fixed the problem ONCE but then it came back again. basically the line:
    topBar.toggleButtonBar.selectedIndex = -1;
    if commented out means the SharedCursorPane bug wont appear. but i need to change this toggleButtonBar's selectedIndex to -1, so that won't do.
    im going to try to catch and stopImmediatePropagation on some of the toggleButtonBar's other events. dont know if itll make a difference but we'll see............
    IMPORTANT UPDATE:
    um. im just looking through the FP9 version of SharedCursorPane.as and can't help noticing it's littered with references to "stage". they're everywhere. it looks like that might be the 'null' prop in question thats causing the error. is it not a little presumptuous to think that every SharedWhiteBoard will always have a 'stage' property? my client want a whiteBoard that they can hide from time to time to go nav round the rest of the site, do some stuff but keep the meeting seesion & whiteBoard running, then come back to meeting later on. When this happens i'm far more inclined to do:
    removeChild(meetingRoomCanvas);
    than
    meetingRoomCanvas.visible = false;
    cos i know the FP will attempt to draw invisible onstage movieclips, thus being an unacceptable CPU drain. removeChild'ing it should be an option. i gave up using visible = false years ago and don't intend to go back.

  • E4X and Namespaces - How best to handle?

    Hi,
    I need to use E4X to create a list of nodes of a particular type from an xml document returned form a Web Service. The document uses multiple namespaces, so I can't access its content, event nodes which aren't prefixed with a namespace.
    I can get round this problem by using:
    namespace all = "http://www.w3.org/2005/Atom"
    use namespace all;
    in the class which parses out the nodes, however, I want to wrap the nodes in an XMLListCollection and set them as a list's dataProvider, and becuase the node's themselves have namespaces declared, it seems that the list can't access the nodes (which all have a label property) and displays the whole node instead.
    What is the correct way to handle this situation?
    Thanks.

    Hi Alex,
    Thanks for the reply. Overlooked that completely.

  • Error: error getting ticket: how best to handle?

    i periodically have this error thrown:
    AFCS Beta Build # : 0.92
    requestInfo http://connectnow.acrobat.com/sequoya2/20090624132213-2-defaultroomname?exx=eDpiaW5nbzo6c2 VxdW95YTI6MjoyMDA5MDYyNDEzNDY1OC0yLWRlZmF1bHRyb29tbmFtZToxMDA6NzU1MTg1MzFlZWFhNzM1Y2Y0YWZm OGUzZjk5MDVlOTRlMGNjNGI1Yw==&mode=xml&x=0.2523019351065159
    #THROWING ERROR# onComplete status code not ok. Status: <error>
    Error: error getting ticket: [Event type="error" bubbles=false cancelable=false eventPhase=2]
        at com.adobe.rtc.session.managers::SessionManagerAdobeHostedServices/onTicketError()[C:\work \main\connect\cocomoPlayer10\src\com\adobe\rtc\session\managers\SessionManagerAdobeHostedS ervices.as:106]
        at flash.events::EventDispatcher/dispatchEventFunction()
        at flash.events::EventDispatcher/dispatchEvent()
        at com.adobe.rtc.session.sessionClasses::SingleUseTicketService/onComplete()[C:\work\main\co nnect\cocomoPlayer10\src\com\adobe\rtc\session\sessionClasses\SingleUseTicketService.as:79 ]
        at flash.events::EventDispatcher/dispatchEventFunction()
        at flash.events::EventDispatcher/dispatchEvent()
        at flash.net::URLLoader/onComplete()
    what the best way to catch and deal with this?

    I got this too when trying to externally login to a new room - it turned out that my room name was constructed using camel case but AFCS changed this to lowercase preventing correct room identification.
    It works now.

  • Warranty problem. Would Really Appreciate Tips on How Best to Handle This

    I purchased machine from Lenovo and it was shipped on April 9, 2008. when i look up the warranty on line this is what i get:
    Status:    
    Expiration date: 2008-01-27    
    Location: UNITED STATES
    Out of warranty    
    Description:
    This product has a three year limited warranty and is entitled to IBM EZServ service. Customers may call their local service center for more information. Dealers may provide carry-in repair for this product. Batteries have a one year warranty.
    The t61 model 6459 CTO has a build date of 12/30/2007
    I have made phone 3 phone calls and 2 emails and it still isn't updated. Exxx Gxxxxxx from Lenovo sent an email to ThinkPlus Support to get it staight but it still reads the same. I called support a week before i emailed Exxx. It is now 5/6/08 and they still didn't even send a tracking number. i had the unit at my home on 4/10/08. If anyone has a number or name of someone that can get this done, I would appreciate it.
    Note from Moderator:
    From the Community Rules of Participation
    No posting of private information. Privacy - Lenovo respects the privacy of each member - please find the privacy link in the footer on each page of the forum. As such, we request that participants respect the privacy of all community members and of Lenovo employees that they speak with on the phone, or correspond with via email. Posts revealing items such as full names, email, or direct phone numbers  of others without their express consent is prohibited.
    Message Edited by nonny on 05-06-2008 09:59 PM
    Solved!
    Go to Solution.

    Well the warranty is now updated to active for one year. The original warranty was ( SDF 3EZ) 3 years but they changed it.
    this was the original:Description:
    This product has a three year limited warranty and is entitled to IBM EZServ service. Customers may call their local service center for more information. Dealers may provide carry-in repair for this product. Batteries have a one year warranty.
    This is the new: Status:Expiration date:Location: In warranty 2009-05-08 UNITED STATES
    Warranty service upgrades and maintenance services
    Description: This product has a one year limited warranty and is entitled to IBM EZServ service. Customers may call their local service center for more information. Dealers may provide carry-in repair for this product.

  • How to Exception Handler

    Hi Experts,
    How to handle exception in WebDynpro  GP callable objects.
    I created exception parameter in getdescription() method like
    IGPExceptionInfo processExc1 = technicalDescription.addProcessException("USER_NOT_FOUND");
      processExc1.setNameKey("USER_KEY");
      processExc1.setDescriptionKey("USER_DESCRIPTION_KEY");
      processExc1.setFatal(true);
    In my Process 2 levels, in block level i am able to see above created exception in exception tab. I create one extra action with same callable object mapped, this action is mapped to exception handler & selected repeat from dropdown.
    If any exception occurs execute method(like UMException) how to call handler from coding. I tryed this code to call handler
    String localizedMessage =textAccessor.getText("USER_NOT_FOUND");
      wdThis.wdFireEventTechnicalException(new GPTechnicalCallableObjectException(logger,localizedMessage,e));
    this is not working...   
    Please any one tell how to call handler from WebDynpro  callable object
    Regards
    Satya

    Inside a UI side Exception handling task-flow How can I distinguish validation exception and other exceptions..?
    Note: Validate entity method in EOImpl might be throwing validation exceptions. But it is not aware of any UI side exception handling.

  • How best way to handle TaskCancellationException inside a Semaphore and Loop

    I'm having an issue using HttpCLient.GetStringAsync().
    I'm using a SemaphoreSlim to limit to one request by time... something like this:
    const int MAX_REQUESTS = 1;
    var semaphore = new SemaphoreSlim(MAX_REQUESTS);
    Func< IEnumerable<City>, Task > getDetailsAsync = async (cities) =>
    await semaphore.WaitAsync();
    try
    foreach (City c in cities)
    string result = null;
    string url = "MyUrl";
    try
    using (HttpClient client = new HttpClient() { Timeout = TimeSpan.FromSeconds(5) })
    Debug.WriteLine("Consulting: " + c.code);
    result = await client.GetStringAsync(url).ConfigureAwait(continueOnCapturedContext: false);
    catch (TaskCanceledException e)
    Debug.WriteLine("TaskCanceledException: " + e.Message);
    catch (Exception ex)
    Debug.WriteLine(ex.Message);
    if (result != null)
    // Save on local Database
    catch (Exception ex)
    Debug.WriteLine(ex);
    finally
    semaphore.Release();
    var tasks = cList.Select(m => getDetailsAsync(cities));
    await Task.WhenAll(tasks.ToArray()).ConfigureAwait(false);
    When the user clicks the button, it goes to this code above and gets the response from server.
    The problem is that sometimes "TaskCanceledException" is catch... and when this happens, the app has a strange behavior:
    apparently,
    it doesn't stop running... my indeterminate progress bar keeps running, but I can't interact with anything on screen, like button or pivot swipe.
    I made a search on internet and I believe that this may be deadlock.
    But how can I handle this exception, to continue the loop to the next city? 
    Thanks!!

    Hello,
    It seems you want to access web url one by one using HttpClient, but sometimes the app will throw TaskCanceledException and you don’t cancel it, is it right? Please correct if I have any misunderstanding.
    Can you submit a repro project for test? I have trouble to reproduce your problem. User your OneDrive and share a link here.
    Regards,
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • What will get rid of "EXC in EV handl: error bad NP object as private data"?

    I am taking some online classes and whenever I am trying to do homework or send in my assignments or take a test this error report comes up: EXC in EV handl: error bad NP object as private data. What does this mean and how do I get rid of it? I need to be able to do my college work online and know that it is getting to the instructor. How can I know if my assignments and test and any other communication with my college are getting to the right place?

    Please see solution in http://kb.mozillazine.org/Problematic_extensions
    for "McAfee Site Advisor".
    (Windows): For best results you should uninstall '''McAfee Site Advisor''' from Control Panel > add/change programs (Programs and Features). Reboot the system. Then Reinstall from http://www.siteadvisor.com/ and reboot the system. When installing refuse other suggested (crapware) applications.
    <br><small>Please mark "Solved" one answer that will best help others with a similar problem -- hope this was it.</small>

Maybe you are looking for