Author Archives: pgfeldman

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 🙂

Dong Shin 01.27.2011

  • Snow!
  • PPM Changes
    • Modifying Funding Request for Project Status
      • direct_citest table changes to set up relationship with contracts table, update existing data
        • ALTER TABLE `direct_cites` ADD `contract_id` INT NULL AFTER `funding_request_id` , ADD INDEX ( `contract_id` )
        • ALTER TABLE `direct_cites` ADD FOREIGN KEY ( `contract_id` ) REFERENCES `project_portfolio`.`contracts` (
          `uid`) ON DELETE SET NULL ON UPDATE CASCADE ;

        • UPDATE direct_cites SET contract_id = ( SELECT uid
          FROM contracts
          WHERE direct_cites.contract_number = contracts.contract_number )
    • working on Funding Request for the database changes…

Mike 1.26.2011

Continued working on the Report App / Widget thing.  I now have a singleton which creates and manages all ReportItems.  Report widgets and other ReportItems request ReportItems as defined in their configurations and a report is built hierarchically and the tree navigator displays the structure.   Using the concept of Flex UIComponent parents, when a user clicks on something in the tree, I can trace up the hierarchy to expand whatever nodes are in the path and scroll down to the correct vertical position.

Tom.DeVito 1.26.2011

Repairing the hand:

  • Bondable terminals came in today
  • Glued them on to the area next to the strain gauges
  • They seem pretty solid but I am going to wait for the glue to dry completely before wiring.
  • Hopefully these work as a good anchor point for the wiring.
  • Started repairing the connection wire

Learning OpenGL:

  • Got the solar system working today
  • I know how to do things but why they work I will have to look into.  The documentation for the functions shows how it affects the matrix but I haven’t really looked into this yet.

glMatrixMode(GL_PROJECTION);
glLoadIdentity();

gluPerspective(60, (GLfloat)800 / (GLfloat)800, 1.0, 100.0);

glClearColor(0.0, 0.0, 0.0, 0.0);
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_MODELVIEW);

  • The bold code above needed to be added in order to get the lighting to work.  I assume this is because lighting projects and is part of the projection matrix but I have no idea.
  • Translating before scaling allows you to make items smaller without affecting their position.
  • Pushing saves the current matrix and popping restores the current matrix.  After pushing the matrix, any actions before you pop the matrix will be isolated to only the object you are drawing within.

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…

Dong Shin 01.26.2011

  • PPM Changes
    • all necessary project data passed onto Financial Status Panel
    • added Program Element and FACTS PE to Create Project Panel
    • disabled changed check on Financial Data – wasn’t really needed because data save is automatic
    • new tables to support Financial Status
      • program_elements
        • CREATE TABLE `project_portfolio`.`program_elements` (
          `name` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,PRIMARY KEY ( `name` )) ENGINE = InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci;

      • facts_pe
        • CREATE TABLE `project_portfolio`.`facts_pe` (
          `name` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,PRIMARY KEY ( `name` )) ENGINE = InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci;

    • added program_elements and facts_pe fields to budget_centers and set relationships
      • ALTER TABLE `budget_centers` ADD `program_element` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL ,
        ADD `facts_pe` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL
      • ALTER TABLE `budget_centers` ADD INDEX ( `program_element` )
      • ALTER TABLE `budget_centers` ADD INDEX ( `facts_pe` )
      • ALTER TABLE `budget_centers` ADD FOREIGN KEY ( `program_element` ) REFERENCES `project_portfolio`.`program_elements` (
        `name`) ON DELETE SET NULL ON UPDATE CASCADE ;

      • ALTER TABLE `budget_centers` ADD FOREIGN KEY ( `facts_pe` ) REFERENCES `project_portfolio`.`facts_pe` (
        `name`) ON DELETE SET NULL ON UPDATE CASCADE ;


Tom.DeVito 1.25.2011

Visual Studio Issues:

  • Tried to compile RCS System and I keep getting:  ERROR spawning ‘RC.exe’
  • I thought this might have been because my libraries were in the wrong spot but then I noticed that I could not compile any C++ programs.
  • Forums say to reinstall VS 2008 or install vc++ components
  • If you have this problem and need to look up you VS key, this post will tell you where to find it:  http://stackoverflow.com/questions/529064/visual-studio-2008-product-key-in-registry
  • Download for VS 2008 pro kept stopping.  Going to try to download it at home.
  • Installed VS2010 because we had it.  Using it for now but I still want to get 2008 back on so I don’t have to worry about the projects being compatible.
  • ctrl+j forces the auto-complete to pop-up when programing in VC++

Learning 3d opengl:

  • While waiting for the terminal pads and other components to come, I have decided that it would be good to take another look at openGL so I can be more useful on the software side of the project.
  • Previously, I only used opengl to make a 2d sliding box with friction, for testing our first prototype.  This was very simple because the camera could be straight on and there was only one object to worry about moving.
  • Phil recommended that I make a planetary system with 3 planets, moons around the planets, and moons around the moon to practice the basics.
  • I am going to read through the openGL book tonight and start trying to make the system tomorrow.  If the pads arrive, I will start attaching them first so we can get the hand working.

Mike 1.25.2011

Working on a real report widget instead of hard-coding one over and over:

  • Pretty much stealing the design from Microsoft Word’s navigation layout.  Here’s what it looks like so far:
  • The widget takes in a hierarchical configuration object.  A node in hierarchy receives one of the rollupcontainers in the report and the navigation pane on the left is actually pointing directly at the configuration object.
  • Next I’m going to try adding in the ability to click items in the tree and have the report navigate to that spot
  • Then simple editing like removing / moving items around in the tree

Dong Shin 01.25.2011

  • PPM changes
    • fixed DateFields not working properly – null out when editing is done
      • default parseFunction fails on labelFunction – set parseFunction to null
    • Server filters out SELECT SQL statements – too many statements
    • working on Project and Budget selection for FinancialStatus

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.

Christine 01.27.2011

  • Met with Phil to discuss what to work on next. Decided to take on the Ingest application. Over the next few days I will be checking out the project, reviewing it and writing up my plan of attack

Tom.DeVito 1.24.2011

Simulation Physics:

  • The Havok physics engine, commonly used in video games, is free for academic purposes.
  • Pretty sure we can use this but it might be overkill.
  • There is another popular one that is open source called bullet
  • Cannot find any inventory of what functions are in the libraries.  I don’t know if you can get impulse forces from this.

Integrated Circuits:

  • Reviewed the soldering techniques video from youtube.  The maker of the video has a website: http://store.curiousinventor.com/
  • Lots of good guides and projects there
  • Found a pcb board simulator with guides for how to use it on his site.
  • The AD5248 seem to be a good digital potentiometer.  It is 2-bit addressable, has 10k ohm resistance, 2 circuits per package,and 256 steps.

Phil 1.24.2010

8:00 – 5:00 VISIBILITY

  • Got a screenshot of the condition where PPM runs a dialog about saving financial data. I can’t tell what other windows are open, but from the position of the scroll bars, at least one is.
    • The dialog reads: “Data have been changed. Do you wish to save before close?”
    • According to Christie, the only way to get out of the screen is to answer “no”. Changes to the spreadsheet are not changed if she exits and reopens the spreadsheet.
  • Walked Christine through work options on Vis4. She’s going to work on making a new Ingest Manager front end that customers will have more success interacting with.
  • Got a good deal of work done on generic infoObject exchange.
    • Creating descriptive XML from actionscript objects that will be used on the java side to build tables
    • Working on reading and writing data to/from tables.
  • Ordered some FP parts for Tom
  • No ride today – *WAY* too cold.

Mike 1.24.2011

  • Updated report from Allan, looked through it and added a few things to the prototype report
  • Added in some navigation code to the report window so a button in the quad chart can open sections of the report.  (scrolling to a grandchild of a component is quite the pain)
  • Added collapseAll and expandAll to the report
  • Checked in the rest of the debug code to svn and added the RollUpContainer to FGMUtils

Dong Shin 01.24.2011

  • working at home
  • PPM Changes
    • setting up project_portfolio database for Financial Status Data
    • additional fields to Funding Requests
    • fixed data editing errors in CurrencyTextInput
    • send changed data back to FinancialStatusDataDataGrid from FinancialStatusDataFromWindow for update
  • need to look at why Financial Data Save Confirmation not working properly……