Annotated Revision log, revisions of note are bold.
Set up class
Re-Familiarizing myself with prefuse and trying to find ways to streamline my code. At this point I had kind of coded myself into a hole with the way I was managing GUI and data events as well as my object interaction.
Spent some time trying to chase down some bugs in a new object/data registry structure (Consider.java) that I was building to create a centralized location for all the objects to store their data. Most of this time was still just a matter of researching and trying to get an idea for the best way to try and redesign the program
More time spent reading than coding again, but enough poring over the prefuse docs and poking into the provided examples had shown me a way to drastically reduce some the particular problem issues of my code by getting rid of the intermediaries I had created between the tables used by the prefuse graph object to store node and edge information and the prefuse database backed tables I was using to store the same. By creating my graph objects with my prefuse tables instead of the automatically built ones I could cut out the middleman.
- Revision 19 : Figured out how to directly my node and edge tables directly into the prefuse graph tuple management system. Got it working and updated graph management to reflect the change.
- Revision 20 : Updated build paths and added Library JAR's to lib directory.
This week was a lot of nipping and pruning and trying to figure out what in my code I could remove and what was still necessary. I had a lot of dead weight to prune at this point, and I was really hesitant about where I could cut stuff out. I also ended up wasting a bunch of time figuring out how to print out color characters to my terminal then reading a bunch about the java logger utility before deciding that the amount of work required wasn't worth the effort investment at this point.
I ended up completely scrapping TemplateSelect.java and rebuilding it from scratch because of the chronic issues I was having with it successfully communicating with the the objects it was supposed to update.
- Revision 21 - 23 : Cleaning
- Revision 24 : Tried to figure out a way to get fancy debug messages.
- Revision 25 : Replaced TemplateSelect.java with a TemplateBox.java
Spent this week really working on getting TemplateBox working, well integrated, and happy.
- Revision 26 : Finishing and integrating TemplateSelectBox.
I fixed up some issues I was having with transferring local classpath entries to allow for working on different machines. In the process I had to severely break the ability of the program to read data from the filesystem or a database, so I created built a function to load a selection of test data into the graph whenever I started the program. I also started to separate out the GUI building functionality from one big glob of creation commands into separate functions to build each component individually. I spent a decent amount of time tweaking the Layout manager too.
- Revision 27-28 : Cleaning and fixing the classpath entries
- Revision 29 : Added function to load test data and cleaned up GUI creation.
Compiled a modified version of the prefuse into a jar library so I could get rid of the prefuse source that was cluttering up my code organization. I also started rebuilding the NodeTab to be responsible for taking care of action events that happened on it, and ended up running into lots of problems with
- Revision 30 : Compiled and uploaded prefuse library to remove the source from project code.
- Revision 31 : Transferred LabelBox actionlistener to NodeTab
- Revision 32 : Updated components to use separate NodeDataTables.
- Revision 33 : ""
- Revision 34 : More work on the NodeDataTable actionlisteners
- Revision 35 : Rebuilt TemplateAttributeTable and started on the TemplateTab
- Revision 36 : Cleaning
- Revision 37 : More work on TemplateAttributeTable and the TemplateTab, Also fixed some case errors in the AttributeSelect and TemplateSelect objects.
- Revision 38 : Added getTemplateAttribute() function to Consider and ConsiderFile. Mostly finished GUI setup and layout for TemplateTab
- Revision 39 : Created and started to implement IDManager to deal with discrepancy between prefuse generated row numbers and ID fields within the tables.
- Revision 40 : Rewrite of pretty much everything to try and deal with the row/id problem. Pretty much all of the IntIterators have been replaced by TableIterators.IndexManager created to allow for quick access to data rows based on the ID of each row. This can be expanded later to return table row items instead of row values, but this works for now. The rest was just tightening up the code and utilizing the managers where appropriate.
- Revision 41 : After getting the data methods transferred there were still a few functional problems I overlooked. I'm sure there's more, but there's definitely an issue with the NodeDataTable loading all the attributes for all the nodes instead of just the node selected.
- Revision 42 : Fixed the last of the ID value issues. Also got the Template Editing tab up and running.
- Revision 43 : Got the Template Adding hooked up and working, also started on the work to replace the CSV filewriter with an XML file writer, not implemented yet but I've got it started.
- Revision 44 : Cleaning
- Revision 45 - 60 : Got ANT Building working, I was working with Allan over skype for this, so there were a lot of commits back and forth.
- Revision 61 : Playing with XML Dom interface to change the file saving from CSV to XML.
- Revision 62 : Added licenses for included libraries.
- Revision 63 : Added JDom library, updated classpath
- Revisions 64-65 : Minor cleaning edits
- Revision 66Finished XML Interface for Saving and Loading Consider Data
- Revision 67Integrated XML reading into ConsiderFile construction. Fixed up some now unecessary things in the Consider object. There's a weird problem with the nodes not being loaded into the visualization, but I think that may have something to do with the DataSet I'm using.
- Revision 68 : Fixed minor problem with XML reading.
- Revision 69 : Added SelectWindow.java to be used as the main entry point for the program. It allows for the user to select the database or file to use as a datasource. In order to do this I needed to rewrite significant portions of ConsiderDB and replace the Settings Interface with a DBSettings class to hold information about the user selected database. Currently the EntryWindow doesn't function, but the gui components are all in place.
- Revision 70Got EntryWindow working, altered the Build.xml to use EntryWindow as entry point for the program.
- Revision 71 : Started building NodeEditor to be used in the node styling tab. Nothing much more than just getting it off the ground at this point.