Category Archives: Phil

Phil 2.10.11

7:30 – 5:30 VISIBILITY

  • Downloaded Dong’s update on my home machine, but my CD drive just died, and I can’t burn the thing.
  • Good meeting with Trish and Lea(?). The bug fixes appear to be working. We spend some time on small features, and how the email generation should work. Dong has my notes right now, but I’ll add detail later.
  • Meeting with Anne and the CMM folks. Went very well. We’re going to get together again to discuss in more dtail. The possibility appears to be that CMM would like to incorporate VISIBILITY, possibly by sending a RESTful request to the server containing the table to display. We, on the other hand would like to run a set of queries against the CMM data to have more data for VISIBILITY reports. I think we can have both, which might maker everyone very happy.
  • Generalizing the data input, and adding another test to the statistics package. As an aside, CMM is attempting to develop confidence intervals on the data they provide to their users. Hmmm.

Phil 2.9.11

7:30 – 6:30 VISIBILITY

  • Installed new version of PPM. Everything seems to be working, though the meeting to walk through was postponed until tomorrow. The Combobutton is still in
  • Worked on actionscript statistics classes.
    • Completed the Randomized Test
    • Updated the data sources to take user data as well as generating random

Phil 2.8.11

7:30 – 5:30 VISIBILITY

  • Mike Cowan leaves S2F this Friday.
  • Got a few more screenshots from Trish and Christie. Fortunately they have nothing new in them. Dong is still on track for a disk by COB
  • Working on getting RemoteObjectTestbed2 working. This one has no java code in it and has logging. Got both working. Next, projects.
  • Taking a detour into building a few statistics actionscript classes.

Phil 2.7.11

7:30 – 5:00 VISIBILITY

  • Meeting with Trish, Christie, and someone new who I can’t remember right now.
    • Bugs – several, all hopefully having to deal with DB configuration. I gave Dong the screenshots
      • Also, add two more lines under mailing address in funding request
      • Funding request warning dialog has “financial” misspelled as “fianancial”.
      • Add “RTAs” to funding type under “detailed Information” tab
      • Selecting names seems to offer up only 20 or so names. What is the selection criteria? The same list appears for all selection buttons
      • Add check so that no start date be saved that is after an end date
      • The “Add Funding” dialog needs a sortable list for contract number – it’s a very long list. It’s also too narrow – there are some very long contract numbers. Panel is too small as well.
    • Next highest priority is the “email generator” This will produce messages to copy and paste into messages to the Financial and technical POCs
      • Create an email like the one in Funding Request for each POC that has the current financial data that they have to fill in, and the associated forms if they are not on goal
      • Have a list of all projects that the user can move through to create all emails in and easy way
      • List should have a dropdown that lets the user select the year and reporting period. Selecting a time period (FY/Quarter?) will bring up the list of POCs and the status
      • Users should be able to indicate the state of the contact:
        • Nothing done
        • Email sent out
        • Response back
        • Response entered – incomplete (if a goal has not been met and there is no justification, this should be flagged automatically. There may be an additional button if this is the case that asks the POCs for justifications
        • Response entered – complete
    • Status panel notes:
      • PPM calculated outlay should be a “checksum” of numbers. The true PM Actual Outlay needs to be entered by hand
      • Available balance is the percentage of the “last remaining to distribute” divided by the total budget
      • Goals are calculated as the total budget times the “out year” in the appropriation
  • Worked on migrating DbObject classes out of the sandbox and into the utils jars/swcs

Phil 2.4.11

12:00 – 6:00VISIBILITY

  • GREs this morning
  • Working on InfoObjectManager.as
  • Got an overview of the new PPM capability from Dong so that I can talk intelligently to Christie and Trish on Monday
  • Interview at 4:00
  • More InfoObjectManager.as. I think I have the actionscript side working.

Phil 2.3.11

7:30 – 4:30VISIBILITY

  • Deployed the new PPM and while testing it, found that there was some odd behavior in the comments. Took a screenshot and gave it to Dong, who was also perplexed.
  • Adding table updates (adding and deleting columns) and drop table capability to infoObjectManager.java – done
  • Need to add the same capability to InfoObjectManager.as.
  • It looks like we might need to write a tool that lets folks create update files that can then be emailed back to the financial folks for upload into the PPM database. Going to a meeting to discuss same
  • Added generic query to infoObjectManager.java.
  • Added check for “NULL” values when doing conversions from objects to sqlInfoObjects

Phil 2.2.11

8:00 – 4:00 VISIBILITY

  • Hey! No ice!
  • Described the new FGM development incentive structure do Dong. Also, he’s going to start regular backups of fgmdev just in case VA forgets to pay the bill.
  • Statistics class
  • Working on tying the server side code back to the flex side for generic table retrieval. First pass is done! Login is now handled in the new system.
  • Burned a disk of new PPM swf

Phil 2.1.11

7:30 – 3:30 VISIBILITY

  • Working from home today. When the roads melt, I’ll see if I can go install the PPM update from yesterday
  • Installing xampp – done. Worked the first time. Sooooooooooooooooooooo nice.
  • Working on a version of DbTable that tries to match a java data type to the sql data type. Done, at least for the types that Flex likes.
  • Walked through the concept of views into infinite data with Mike.
  • Installed the new PPM. When I updated the DB, I got some errors:
    • On the 10th item (UPDATE direct_cites SET contract_id = [SELECT uid FROM contracts WHERE direct_cites.contract_number = contracts.contract_number )], and the 13th item (UPDATE funding_requests SET project_id = [SELECT uid FROM projects WHERE funding_requests.project_number = projects.project_number )] I got the following error:
    • ERROR 1242 (21000): Subquery returns more than 1 row
    • I left it as is since things appeared to be working. Worst case I can roll it back to just before I made the change.

Phil 1.31.2010

8:00 – 5:30 VISIBILITY

  • Finally found out what was causing the “save problem” with PPM financial data. If a cell that has information has that info deleted, then when the window is closed, the save dialog appears.
  • Wrote up server requirements for Brian
  • Got most of the object transfer done. Need to get the typing on DbTable working better.

Phil 1.28.2011

7:30 – 5:30 VISIBILITY

  • Meeting with Matt and Anne from 3:00 – 4:00. Went very well. We’re going to try to get some more and better data into VISIBILITY
  • Class today – out between 9:30 and 11:30
  • working on  generic data handlers
    • Get insert working – Done, but I want to add precompiled queries as well
    • Get SELECT Query working
    • change User Info over to use new system
  • Spent some time improving the precompiled query code in DbHelper

Phil 1.27.2011

10:30 – 4:30 VISIBILITY

  • It took about 90 minutes to dig out today. Heavy snow.
  • Working on InfoObjectManager.java/as
    • Remote objects are only typed when read by Java if the .as file is decorated properly. An actionscript object that inherits from a decorated class is read in as an ASObject.
    • I couldn’t cast data the way that I wanted to from the remote objects so I redid the approach so that data objects are wrapped in remote objects. There are now the following objects:
      • CreateTableObject: Wraps an actionscript object and sets the class name as the table name. Returns a status string that can be the error message from SQL
      • InsertObject: Wraps an actionscript object and attaches a table name. When received by the host, a statement is built to insert the data into an existing table
      • QueryObject: Passes a query and a table name top the host. The table name is created by passing the actionscript object into the QueryObject class
      • QueryResultObject: Contains the query string, any message string, the table name, and an ArrayList of Maps that are converted to a Bindable ArrayCollection on the Client side
    • Tomorrow I’ll try to refactor the user info to use the new mechanism and work out into projects and entries from there.
  • It is, by the way, very convenient to look at what’s going on with the server at times 🙂

Phil 1.26.2011

8:30 – 4:30 VISIBILITY

  • First big(ish) snow of the year
  • Meeting with Matt and Anne still appears to me on for this afternoon – nope canceled. Maybe Friday.
  • Working on debugging remote objects
  • Got it all working. Here’s how you do it:
    1. You will need a workingversion of Tomcat. But it needs to be stopped. We’re going to be running it from within Eclipse
    2. Download and install the Eclipse Web Tools Package. You don’t need the SDK version. The update site for helios is here: http://download.eclipse.org/webtools/repository/helios/
    3. Open the Window->Show View->Other… then inside the view three find Sever->Servers view
    4. Inside the Servers view, create a new Server. You should be able to select the Tomcat version that you want. You will also need to point it at the version of Tomcat you have installed.
    5. Right-click on your Server and select Open to bring up the “Overview” configuration screen as a tab in your editor. Under Server Locations, select the “Use Tomcat Installation (takes control of Tomcat installation)
    6. Create a new project of type Web->Dynamic Web Project. I named mine RemoteObjectTestbed
    7. Set the properties->Java Build Path source tab to have the Default output folder to XXX/WEB-INF/classes, where XXX is the name of the directory you’re deploying to. Note that you have to type this in, you CAN”T point and click.
    8. Add the project to the server by right-clicking on the server in the server view. That brings up a dialog that allows you to select web projects and move them over to the server.
    9. Since I was debugging a project that I had already started using MavenAssist, I copied over a bunch of stuff. These files get placed in the WebContent folder. THis is the folder that you pointed to in step 7. :
      • The files that get deployed are under the Program Files folder in your web project.
        • Add a lib folder and fill it with all the jars you need to run flex (take from a working version)
        • Add a flex folder and put the flex xml files from a working project
        • Under web inf, copy a web.xml file
      • If you’ve copied everything over correctly, you should be able to start the server by right clicking on the Server in the Servers view and selecting “Start” or “Debug”. If you navigate to http://localhost/XXX/messagebroker/amf you should get a nice blank screen, not a 404 or some other crappy result. If everything works, turn off the server before continuing.
      • Create package(s) under the “Java Resources:src” folder for your code. These packages will need to be the same as what’s in the remoting-config.xml file. These are your remote objects.
      • To debug the remote object, place your breakpoints and start the server in debug mode. Starting the server appears to reload the entire project so if you have a Flex project dropping its output in the XXX folder, you’ll have to rebuild.
    10. At this point you should be able to debug both side of the application.
  • OK, back to actually making things.
  • The data is coming over the wire as an ASObject. Inside it is a hashmap. All types work correctly except for the uint, which comes over as an int. Based on this info, I’m going to add a String to the base class that defines the table name. Then the object contains everything it needs to create a table in its hashmap. No creation of XML is required.
  • Spent a while wondering why some items weren’t appearing in the variables view of the java hashmap. Wound up creating a Set and looking at the variables there. They all show up, so I guess I’m just blind…

Phil 1.25.2010

8:00 – 5:00 VISIBILITY

  • Tentative meeting to discuss + data with Anne and Matt on Wednesday afternoon
  • Looks like I’m going to be taking classes at UMBC from 10:00 – 11:00 Wed/Fri. No one schedule meetings then until May 13 🙂
  • Working on automatic table creation. Instead of using the describeType xml directly, I now use it to create a smaller table that gets size information from the data in the object. Next is automating that process and inserting some data.
  • I really want to see how  data comes to a remote object, so I’m attempting to connect the debugger to my Tomcat instance.
    • Downloading the server adapters from the Eclipse  Web tools package. Actually, it looks like you have to download the whole WTP. I did not download the SDK version
    • Got Eclipse to control the server instance in the installed directory.
      • Create a new server in the Eclipse “Server” view
      • Right-click on the server and select “Open F3”. This brings up a configuration page.
      • Set the “Server Location” to “Use Tomcat Installation (takes control of Tomcat installation)
      • Tried just connecting to the remote object, but no joy. Next thing will be to try to create a dynamic web project in the normal Tomcat location where I can see the logs. Also, general behavior should be easier to tease out.

Phil 1.21.2011

7:30 – 3:30 VISIBILITY

  • Deployed Dong’s changes to PPM. All went well. I also ran TRUNCATE on the query_logs table and the size of the backup went from 78 megs to 4.5 megs. It was easily 90% SELECT statements. I asked Dong to only log DB access that affects the tables. That should keep things under control and make it more searchable.
  • Working on my Java db accessor classes. Decided that I’m going to work on building FLAILS to do this. it’s a good opportunity, and the other objects were just dissimilar to be annoying.
  • Took a detour into the javax xml parsing code and it still sucks. Dom4j has moved from dom4j.org to sourceforge. Had a bit of cognitive dissonance for a while at the website.
  • Added dom4j utilities from MavenAssist to JavaUtils, and found that we had commented out the part of MaveAssist that puts the deployment urls in the POM. That’s back in and we have a new Maven on the repo.
  • Created a SQL table from describeType xml!

Phil 1.20.2011

7:30 – 4:00 VISIBILITY

  • Pinged Kristie C. about a followup demo. We’re trying to schedule something for next week either here or at S2F
  • Pinged Anne about scheduling a + meeting
  • Testing Dong’s update. If everything works, I’ll roll it in this afternoon. Looks good.
  • Working on Project Tracker
    • Added ProjectInfoObject
    • Added EntryInfoObject
    • Added HistoryInfoObject
    • Added StatusInfoObject
    • Added TypeInfoObject
    • Abstracted RemotObject DB creation into base class, cleverly named ‘BaseObject’