Data storage io techniques for ordinary desktop applications needed

hello everyone.
i'm writing an offline tool for a mmo game (eve online) which is planned to be a useful help in analyzing economics in that game for maximizing the player's efficiency in making money.
i intend to implement algorithms who need a set of pre-defined values of specific object types, e.g. ores, minerals and spaceships. so it's logical that i must add these values stored in some file.
my first idea was to implement some script files for storing these values. this solution would make the tool read these files in and generate objects from the scripts on each start-up of the application.
unfortunately it's possible that the number of object values will exceed to an amount too big for a quick and user-friendly start of the tool and too small for a full-fledged database. so the basic problem/question is: how can i avoid an annoying start-up time caused by reading in large files and generating objects all the time?
probably some of you might point to the ObjectInputStream which might be a lot faster for creating objects from file data. Of course, this makes sense since these objects never change. but this solution would have 3 main contras:
a) if i had to change values of a pre-defined object, a script file would make changes much easier than a object file.
b) in my opinion, it's not really the oop way to store 20-50 objects in different object files, although they are instances of the same class. it's much more "elegant" just to store the pure values and let a method read in the values and generate a bunch of instances of a class.
c) the user would not be able to change the values on his own. a simple script language would give the user more freedom in customizing the application for his needs, e.g. a new game patch changes the values of special minera types.
oh, if you try to guess the data structs that organize the objects in runtime: i tend to use simple lists or search trees.
so, does anyone know a good alternative way for providing a semi-large amount of pre-defined object values to an offline desktop application?
thx.

I don't think the amount of data could possibly be so much that load time would be an issue. If you are talking about the amount of work you need to do to build classes for all the different types of data, you could instead save the data as XML files, and then use a technology like JAXB to automatically build the classes for you. These classes know how to read and write the data based on some XML Schema.

Similar Messages

  • How to acces and display datas storaged in cache for a SUP 2.0 workflow?

    HI to all.
    I have an application with a item menu which obtains data thought a online request. the result is shown is a listview.
    My problem is when my BlackBerry has no conection ( offline scenario). When I select the menu item, I obtain an error.
    How to acces and display datas storaged in cache for my MBO? I have read that I can use getMessageValueCollection in custom.js to access to my datas but once I get the datas, How can associate those datas to a Listview like a online request?? Do i have to develop my own screen in html or how?
    Thanks.

    I'm not entirely clear on what you mean by "cache" in this context.  I'm going to assume that what you are really referring to is the contents of the workflow message, so correct me if I'm wrong.  There is, in later releases, the ability to set an device-side request cache time so that if you issue an online request it'll store the results in an on-device cache and if you subsequently reissue the same online request with the same parameter values within that timeout period it'll get the data from the cache rather than going to the server, but my gut instinct is that this is not what you are referring to.
    To access the data in the workflow message, you are correct, you would call getMessageValueCollection().  It will return an object hierarchy with objects defined in WorkflowMessage.js.  Note that if your online request fails, the data won't magically appear in your workflow message.
    To use the data in the workflow message to update a listview, feel free to examine the code in the listview widgets and in API.js.  You can also create a custom listview as follows:
    function customBeforeNavigateForward(screenKey, destScreenKey) {
         // In this example, we only want to replace the listview on the "My Approvals" screen    
         if (destScreenKey == 'My_Approvals'){
              // First, we get the MessageValueCollection that we are currently operating on
              var message = getCurrentMessageValueCollection();
              // Next, we'll get the list MessageValue from that MessageValueCollection
              var itemList = message.getData("LeaveApprovalItem3");
              // Because its a list, the Value of the MessageValue will be an array
              var items = itemList.getValue();
              // Figure out how many items are in the list
              var numOfItems = items.length;
              // Iterate through the results and build our list
              var i = 0;
              var htmlOutput = '<div><ul data-role="listview" data-theme="k" data-filter="true">';
              var firstChar = '';
              while ( i < numOfItems ){
                   // Get the current item. This will be a MessageValueCollection.
                   var currItem= items<i>;
                   // Get the properties of the current item.
                   var owner = currItem.getData("LeaveApprovalItem_owner_attribKey").getValue();
                   var type = currItem.getData("LeaveApprovalItem_itemType_attribKey").getValue();
                   var status = currItem.getData("LeaveApprovalItem_itemStatus_attribKey").getValue();
                   var startDate = currItem.getData("LeaveApprovalItem_startDate_attribKey").getValue();
                   var endDate = currItem.getData("LeaveApprovalItem_endDate_attribKey").getValue();
                   // Format the data in a specific presentation
                   var formatStartDate = Date.parse(startDate).toString('MMM/d/yyyy');
                   var formatEndDate = Date.parse(endDate).toString('MMM/d/yyyy');
                   // Decide which thumbnail image to use
                   var imageToUse = ''
                        if (status == 'Pending'){
                             imageToUse = 'pending.png';
                        else if (status == 'Rejected'){
                             imageToUse = 'rejected.png';
                        else {
                             imageToUse = 'approved.png';
                   // Add a new line to the listview for this item
                   htmlOutput += '<li><a id ="' + currItem.getKey() + '" class="listClick">';
                   htmlOutput += '<img src="./images/' + imageToUse + '" class="ui-li-thumb">';
                   htmlOutput += '<h3 class = "listTitle">' + type;
                   htmlOutput +=  ' ( ' + owner + ' ) ';
                   htmlOutput += '</h3>';
                   htmlOutput += '<p>' + formatStartDate + ' : ' + formatEndDate + '</p>';
                   htmlOutput += '</a></li>';
                   i++;
              htmlOutput += '</ul></div>';
              // Remove the old listview and add in the new one.  Note: this is suboptimal and should be fixed if you want to use it in production.
              $('#My_ApprovalsForm').children().eq(2).hide();
              $('#My_ApprovalsForm').children().eq(1).after(htmlOutput);
              // Add in a handler so that when a line is clicked on, it'll go to the right details screen
              $(".listClick").click(function(){
                   currListDivID = $(this).parent().parent();
                   $(this).parent().parent().addClass("ui-btn-active");
                   navigateForward("Request_Details",  this.id );
                   if (isBlackBerry()) {
                        return;
         // All done.
         return true;

  • Java technologies for developing Desktop Applications

    Hi,
    I am new to desktop applications development. Can someone tell me the java technologies, API etc. that I have to learn for desktop application development.
    Jagatguru

    Thanks for your speedy reply.
    Actually, I am not interested in web-based applications. I am programming in swings and JDBC. Now I want to enhance my work area to include new technologies. Can you please tell me the other technologies that I have to learn for desktop applications

  • Dat and bak files for Palm Desktop 4.1.4

    I have been using palm desktop 4.1.4.  as  a result of a virus I had to reinstall Windows and start over.  I put my .dat files in the right directory but palm desktop does not recognize them.  What do I do to get the desktop to recognize my dat files?  Also, what good are .bak files?  I have not found a way to use them in the desltop program.
    RootGene
    Post relates to: Tungsten T2

    You would re-install Palm DT 4.1.4, then rename the .dat file to .old in each folder Datebook, Calendar, Too do's, and Memos under your user name in C:\Program Files\Palm\ [your Palm user name (similar)] . Then put the .dat file you have saved from your original install folders in each new respective folder. Then you should be able to view your data under the user name you placed it under.

  • No Data to display in Application failure report for a specific Application

    Hi ,
    For a specific application,Application failure report showing no data to display but for the same application other reports shows value.
    Application failure reports seems to work fine for some other application except few.Need to know the root cause.
    Kindly help us to sort this issue.
    Thanks & Regards,
    Preethi S

    Hi,
    Is there any error message when you run Application Failure Analysis report for the specific application?
    Does this application have any failure alerts?
    You may also look into operation manager even logs to check is there any errors or warnings.
    Regards,
    Yan Li
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact [email protected]

  • How to use a 2nd partition for data storage?

    The 40 GB hard disk on my satellite L10 was delivered with two 20 GB partitions (drive C and D). I now understand (by reading this forum) that it is preferred to use one partition for data storage.
    Until now there was no need to use the D-drive. But by now I need the extra space.
    How can I use the folders structure in windows XP home (My Documents etc) and put the data on the D-drive.
    We work on this computer with several accounts.
    I tried to move one folder out of My Documents to the D-drive, but then it can be reached by the other users. Should I use shortcuts towards the D-drive? I hope there is a simple solution.
    Thanks in advance.
    (I tried my best to write this in English....)

    Hi
    I didnt tried it before but you can try to make your personal folder on D partition. The notebook administrator should set the security settings that can be found under folder properties. Go to Security tab and check all permissions for other users. Choose Deny option for all of them.
    I believe that on this way you can use your data folder alone and be sure that other users can not read or execute any of your private data.
    Please let me know if it works properly.
    Bye

  • Steps to setup for my  Java Swing Desktop Application on Macintosh

    hi guys,
    I need help from all of u to create the setup for my Desktop application (developed in swings) on Macintosh. pls give me the references at least. how to approach the tools.
    its urgent...please....
    thanks in advance.
    -siva

    hi guys,
    I need help from all of u to create the setup for my Desktop application (developed in swings) on Macintosh. pls give me the references at least. how to approach the tools.
    its urgent...please....
    thanks in advance.
    -siva

  • Java or C++ for desktop applications

    Help needed!
    We are a team of 5 programmers in a state agency who deal with federal contracts. About 70% of the applications we build are desktop applications. One of the team members strongly believes that learning C++ instead of Java would strengthen our positions. He strongly believes that Java is not cut out for desktop applications and Java is ideal only for web applications. None of us are very familiar with C++ and so we are intending to take classes in C++. (We are all Visual Foxpro, VB group currently). I have one year of programming with Java (web applications) I still don't want to give up on Java that easily. Well my question is - Is that member in the team right in saying that Java is for web and not for desk top. Can any expert give me a good comparison and so we can move on the right track.
    Thanks for the help in advance!
    suman

    Java can work fine for a desktop application, don't listen to him. Here's what you've got to consider:
    1. Tool set: One strength of java is its strong set of standardized tools. You can probably find great sets of C++ tools too, though, but this is a major factor.
    2. Speed of development: This depends somewhat on the strength and maturity of the toolset you are using, but in general, I think that java is faster to develop for 3 reasons: (1) because it smoothes over some of the inconsistancies between systems - you don't have to get as involved in the gritty details. (2) Java can often tell you exactly what line number your program is bombing, and in every case, it will give you a specific message about what kind of error you had (nullpointer, array out of bounds, etc vs 'Syntax Error') (3) Garbage collection
    3. Familiarity with language: Obviously if you've got to learn something new, that takes time.
    4. App performance: Java is probably going to be bigger, in terms of what has to be installed on the machine in order to run your app, and marginally slower than C++. It will almost certainly require a lot more memory to run well. Before you freak out about it being slower than C++ though, you should consider what kind of performance your app needs. If it's doing 3D rendering, C++ is probably going to be better. If most of it is UI components, and the back end processing is not that intensive, Java could be what you want

  • Any effective storage recommendation(s) for 2 terabytes of data?

    I am responsible for data storage and backup for a mid-size ad agency. We are currently utilizing two external terabyte drives (storage capacity totalling two terabytes).
    These drives are burning out regularly which is leading me to believe it is time to begin researching better options for storage and backup. (They tend to die on us just outside of warranty!)
    There are 6 people in our art department and our files are backed up nightly. We are running on all the lastest and greatest Apple machines, software and operating systems.
    Can anyone recommend a better, more efficient and possibly even a more cost-effective solution?
    We have done some basic research into off-site storage, which I thought would be our best solution, but this has proven to be more costly than we had expected due to the amount we are storing.
    Can anyone assist or make a helpful recommendation based on their own experience with storage problems?
    Macbook Pro   Mac OS X (10.4.8)  

    Welcome to Apple Discussions!
    If everyone is Using Mac OS X Tiger, I'd post this question in:
    Using Mac OS X Tiger
    If there is a mixture of Mac OS X versions being used, but Tiger is among them, then I'd still post there.
    If there is a mixture of Mac OS X and Windows, you might find the Windows Compatibility forum works better for such a question.
    Regardless, I'll say this much. I like the cases and drives by http://www.macsales.com/ http://www.granitedigital.com/ (Relax Technologies), and internal SATA and IDE drives by Western Digital and Seagate.
    In some cases having an http://www.apple.com/xserveraid/
    works better for some people than just using standard external drives. I'm not sure which those are, but the fact there is redundancy I'm sure helps a lot. There is a separate forum just for XServe RAID, which I'm sure if you posted in, people can tell you when it is wise to have one or not.
    Try only to use the Discussions Forum Feedback forum for suggestions on how to improve Discussions, or if you want to alert the moderators about some posts you don't like in the forum.

  • 2.23 Apps must follow the iOS Data Storage Guidelines or they will be rejected

    My Multi Issue v14 App (24124) was just rejected by Apple. Apparently because storage of the data (folios?) was not iCloud compatible.
    Is this related to v14? Would building a v15 app resolve the issue?
    or is there some other problem?
    Please advise...
    Full text of Apple rejection below...
    Nov 4, 2011 08:17 PM. From Apple.
    2.23
    We found that your app does not follow the iOS Data Storage Guidelines, which is not in compliance with the App Store Review Guidelines.
    In particular, we found magazine downloads are not cached appropriately.
    The iOS Data Store Guidelines specify:
    "1. Only documents and other data that is user-generated, or that cannot otherwise be recreated by your application, should be stored in the /Documents directory and will be automatically backed up by iCloud.
    2. Data that can be downloaded again or regenerated should be stored in the /Library/Caches directory. Examples of files you should put in the Caches directory include database cache files and downloadable content, such as that used by magazine, newspaper, and map applications.
    3. Data that is used only temporarily should be stored in the /tmp directory. Although these files are not backed up to iCloud, remember to delete those files when you are done with them so that they do not continue to consume space on the user’s device."
    For example, only content that the user creates using your app, e.g., documents, new files, edits, etc., may be stored in the/Documents directory - and backed up by iCloud. Other content that the user may use within the app cannot be stored in this directory; such content, e.g., preference files, database files, plists, etc., must be stored in the /Library/Caches directory.
    Temporary files used by your app should only be stored in the /tmp directory; please remember to delete the files stored in this location when the user exits the app.
    It would be appropriate to revise your app so that you store data as specified in the iOS Data Storage Guidelines.
    For discrete code-level questions, you may wish to consult with Apple Developer Technical Support. Please be sure to include any symbolicated crash logs, screenshots, or steps to reproduce the issues when you submit your request. For information on how to symbolicate and read a crash log, please see Tech Note TN2151 Understanding and Analyzing iPhone OS Application Crash Reports.
    To appeal this review, please submit a request to the App Review Board.

    You might want to check out our ANE (Adobe Native Extension) solution that enables your FB projects to abide by the Apple's Data Storage guidelines.
    https://developer.apple.com/library/ios/#qa/qa1719/_index.html
    Do Not Backup project:
    http://www.jampot.ie/ane/ane-ios-data-storage-set-donotbackup-attribute-for-ios5-native-ex tension/
    David
    JamPot.ie

  • OSX Desktop Application

    Hi everyone,
    Is there a high level Azure storage SDK for developing desktop applications for Mac OSX? I see that mobile services provides something for IOS, I don't suppose that is usable for OSX apps is it?
    Thanks
    Brian

    Hi,
    As of now, there is no high level Azure Storage SDK with APIs to create Desktop application on MAC OS. However, you may refer the following link to know more about language-specific SDKs and tools for your platform of choice :
    http://azure.microsoft.com/en-us/downloads/
    Also, we will consider you requirement as a valuable feedback and put this across the concerned team. Thank you.
    Regards,
    Manu Rekhar

  • Issues in using JPA in Desktop Application

    Hi, I have some doubts in certain issues. For my desktop application, I have 4 manager class, which includes all logic codings in it and serve different area in the application, with each using an entity manager. It seems to me that creating an entity manager to each manager class is a bad design. Is there any other ways that could allow me to share the same entity manager? Or a better design that I dont know of? Thanks!

    Hi Vishnu,
    There is no solution for this, you cannot have GUI interactions(nor any statements that might invoke a implicit/explicit commit) in a V2 update. When you say this worked, did you have update debugging enabled, if so then it might have worked as the debugger session can access GUI...
    If the whole idea/need of this output is to download a file, use OPEN DATASET, TRANSFER and CLOSE DATASET.
    Even for the RSNAST00 execution, i am sure that in the actual business scenario(in production) this would be scheduled as a background job, where in again "GUI_DOWNLOAD" wouldn't work.
    Regards,
    Chen

  • How to make a installation file in desktop application??

    hello everybody,
    Actually i want to make a installation file for a desktop application.I know there are some thirdparty software vendors who are providing that. Let me know if any other tool is there in java to make a installation file for any desktop application.
    Thanx in advance

    well im not sure if there is an application but i do know you can use .bat files to open applications if your not sure what a .bat file is just msg back and ill explain and ill also do a example if you want so just ask ok soon ill rellase a link to my web-page so you can ask me stuff there soon and you can anwser other peoples questions

  • Help needed to create desktop application background using javaFx.

    Hi,
    i need to create background for my desktop application in JavaFx. It have top side bottom menu bars to place icon buttons for my app. The whole scene need to resize. I had tried this using
    JavaFx composer. But my issue is like in java swing i can not able to create different panels and set different styles. Please help me on this issue.
    Thankyou.

    Hi mate take a rectangle and fill it to scene width !
    use fill gradient and bind it to your main scene.width
    for example :
    Rectangle {
    fill: color.Blue
    stroke: LinearGradient {
    startX: 125.0, startY: 0.0, endX: 225.0, endY: 0.0
    proportional: false
    stops: [
    Stop { offset: 0.0 color: Color.web("#1F6592") }
    Stop { offset: 1.0 color: Color.web("#80CAFA") }
    use appropriate start and offset then bind it to scene width and height.
    width : bind scene.width;
    height : bind scene.height ;

  • Commercial Desktop applications in Java

    Hey all,
    Could someone give me some good examples of commercial desktop applications (except IDE's) written in Java?
    A friend of mine needs to convince his boss that Java is a feasible language for serious desktop applications.
    (It's so hard to convince some people that Java is not just 'web development'...)
    Thanks a lot,
    D

    Hi,
    www.deal4free.com
    Select a product (Spreadbet, CFD or Forex) and click
    on the Download Software Trial.
    Enter the registration details and you will receive an
    email providing you with log on details. You can also
    download the software from there.
    What is it?
    Marketmaker� V5 is an online, commision free trading
    platform, providing Spreadbetting, Contract For
    Difference (CFD) and Foreign Exchange trading. (Thats
    the marketing buff anyway)
    Basically its a Swing Application used by thousands of
    people daily. These people are effectively
    trading/betting with there own money, so if it didn't
    do what they wanted, they wouldn't use it.
    nes
    This reminds me, the Intercontinental Trading Exchange (Atlanta) has a Java API and also a ready-built application for trading commodities (Natural Gas, Oil, Jet Fuel etc). Millions of dollars are traded each day with this program. But you can't use/see/try it without a security login etc... So you'll just have to trust me. :-)

Maybe you are looking for

  • Deployment Manager Error with Oracle Weblogic Server 10.3.1

    I have installed Identity Manager 9.1.0.2 (patch upgraded from 9.1.0.1) on OEL 5.3 64bit and Weblogic 10.3.1 Database:Oracle 11gR2 (remote machine). **I am aware that IM 9.1.0.2 is not certified on Weblogic 10.3.1 (it is only certified on 10.3), The

  • Screen painter

    Hi Experts, Can any one solve my problem. In screen painter SE51. If I Open Layout editor. It is showing new Screen editor (Just like lines.. as like script text editor). I want old editor as it is showing tools like Text, Push Button, Check Button,

  • LabVIEW Programmer​s needed in Detroit

    Greening is looking for multiple LabVIEW programmers with some experience.  Below is our job description.  You can contact me directly at [email protected] LabVIEW Developer / Design Engineer Job Description The LabVIEW developers at Greening work in

  • My Safari 8 is not playing flash videos!

    Hi, my Safari Version 8.0 (10600.1.25.1) My mac: O SX Yosemite, MacBook Air 2012 My flash is the latest one After upgrading my mac to the latest versions of all things! I have problems with (some) websites that play video online. Some videos said you

  • Upgrade from cs3 to 6 do we need a full install?

    do we need a full install or can we use an upgrade