- continue rewriting Financial Data Navigator
- separated Monthly and Yearly view into components
- got the basic navigation, yearly view working
Author Archives: pgfeldman
Phil 1.14.13
- Doctor appt this morning. The leg is totally fine.
10:00 – 3:00 ESSO
- Talked to Dong some about the Due/Overdue/Incomplete/Complete project status
- Installing new Java. Need to do this at home, too.
- To change the default Java library in JDeveloper, do the following
- Application->Default Project Properties. The “Default Project Properties” dialog opens
- Select Libraries and Classpath in the tree navigator on the left
- Click on the change button at the top right The “Edit Java SE Definition” dialog opens
- Click the “”Browse”” button after the “Java SE Executable:” field on the top right.
- Navigate to your new “java.exe” (e.g.. C:Program FilesJavajdk1.7.0_11bin)
- Note that this only changes the settings to new projects. To change the settings to an existing project, right click on the project in Application Navigator, click on “Libraries and Classpath”, and follow the steps above.
- Watching the next video. This one is on ADF faces
- Programmatic ADF. And some more code snippets.
3:00 – 5:00
- Q1 Team get together
Dong Shin 01.14.2013
- rewriting Financial Data Navigator
Phil 1.11.13
7:30 – 4:30 ESSO
- Logging in was sloooooooooooooooooooooooow today.
- Meeting with Chris B. Lenny and Tangie weren’t there, and Carla was busy, so it was just Dong, Chris and I. The main new thing was the idea of putting in a new field into the project line item (at the bottom of the project overview screen) that would have the identifier (possibly a script?) that tells the scripting system what item to look for in its query of COGNOS. That and a few bugs were added to the list of req’s. Also, I mentioned to Chris that we were starting on FA, and that it would not be Flash-based.
- Backups
- Deployed new PPM and PA
- Onward with Step 3: Explore the Starter Application
- Walked through FSMs with Dong. PA is getting complex in spots…
- ADF developer YouTube channel
- This looks particularly good starting around 14:00 minutes in
- More good stuff: Oracle ADF Insider – Learn Oracle ADF Online
FP
- Moved the Phantom over to the testbed a(new firewire cable and USB mux) and verified that the tactor project is compiling and running. Yay!
Dong Shin 01.11.2013
- meeting at Fort @ 7:30AM
- Uniques ID# (String) to identify MIPR/Budget center for updating COGNOS/FACT data – discussion later
- deployed new PA and PPM, few more bugs
- Reported Outlay shows up in Summary in PPM
- Current Month not correct in PPM
- continue working on Financial Data Navigator
Phil 1.10.13
8:00 – 4:00 ESSO
- Backups and meetings.
- We need to figure out a way to get around the need to “double click” to get to a cell after filling out a form.
- Found a better set of tutorials: Charting with ADF Data Visualization Components
- Part 1: Validating the Model and Starting Building the UI
- Nope, can’t get connected to the DB to make a schema, so I’m screwed. Error message from Ant is:
- C:JDeveloperFOD_11InfrastructureDBSchemabuild.xml:28: java.sql.SQLException: Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor. Checking the error message leads here. Going to poke at that after lunch. - Following the link above, I was able to determine what the SID(?) jdbc was attempting to connect to. This can be done in a couple of ways:
- Go to C:oraclexeapporacleproduct11.2.0servernetworkADMIN and view tnsnames.ora. It’s a text file. The file contains (in my case) three “definitions” of connections. In my case, the one labeled “XE” had my machine (WHITEOAK) listed as the host and a port (1521). That appeared to be the way to connect to the DB.
- The above can also be done by typing “lsnrctl services” at the command line. in this case, it shows an instance called “xe”. HOST is WHITEOAK, though the port is different (49170)
- I verified that xe was visible using “tnsping xe” on the command line. That looked promising, so I adjusted the build.properties (jdbc.sid =) to reflect that. And now that I go back and read the tutorial, it does indeed say that this value can either be orcl or xe. Woohoo!
- Part 2: Starting Using Graphic Components
- Part 3: Adding Other Complex Graphical Presentations to the Page
- Part 4: Using the Thematic Map Component
- C:JDeveloperFOD_11InfrastructureDBSchemabuild.xml:28: java.sql.SQLException: Listener refused the connection with the following error:
- On a separate note, it might be nice to put in the Feed Tem Social plugin and bring in interesting content related to our coding tavailes. Need to talk to Dong about that tomorrow.
Dong Shin 01.10.2013
- working on adding “DUE” status to individual projects
- PA defaults to “Reporting Months” on CURRENT and DUE status
- continue working on “DUE” status for list of projects in PA – done!
- modified the query to get status
- SELECT p.*, IF(p.uid IN (SELECT project_id FROM (SELECT project_id, year, year_count, count(funding_id) as data_count FROM obligations_outlays WHERE ((ISNULL(month_1) OR ISNULL(month_2)) AND (year+year_count-1) = 2013) OR ((ISNULL(month_1) OR ISNULL(month_2) OR ISNULL(month_3) OR ISNULL(month_4) OR ISNULL(month_5) OR ISNULL(month_6) OR ISNULL(month_7) OR ISNULL(month_8) OR ISNULL(month_9) OR ISNULL(month_10) OR ISNULL(month_11) OR ISNULL(month_12)) AND (year+year_count-1) < 2013) GROUP BY funding_id, year, year_count ) AS FOO WHERE data_count = 6), ‘OVERDUE’, IF(p.uid IN (SELECT project_id FROM (SELECT project_id, year, year_count, count(funding_id) as data_count FROM obligations_outlays WHERE ((ISNULL(month_1) OR ISNULL(month_2)) AND (year+year_count-1) = 2013) OR ((ISNULL(month_1) OR ISNULL(month_2) OR ISNULL(month_3) OR ISNULL(month_4) OR ISNULL(month_5) OR ISNULL(month_6) OR ISNULL(month_7) OR ISNULL(month_8) OR ISNULL(month_9) OR ISNULL(month_10) OR ISNULL(month_11) OR ISNULL(month_12)) AND (year+year_count-1) < 2013) GROUP BY funding_id, year, year_count ) AS FOO WHERE data_count < 6), ‘INCOMPLETE’, IF(p.uid IN (SELECT project_id FROM (SELECT project_id, year, year_count, count(funding_id) as data_count FROM obligations_outlays WHERE (ISNULL(month_3) AND (year+year_count-1) = 2013) GROUP BY funding_id, year, year_count ) AS FOO WHERE data_count > 1), ‘DUE’, ‘CURRENT’) ) ) as status FROM projects p WHERE p.uid in (SELECT project_id FROM budget_centers)
- modified the query to get status
Phil 1.8.13
8:00 – 4:00 ESSO
- The gang was in meetings, so backups were performed in a nearly silent office.
- Looks like there is a group meeting at Victoria’s Gastro Pub on the 14th at 3:00
- Had to go beg for my 20%. That’s really annoying.
- Part 3: Building a Web Service from an Existing WSDL
- Part 4: Building an Annotation Driven EJB Web Service
- Part 5: Creating a Web Service Proxy
- Part 6: Developing an ADF Client Using a Web Service Data Control Well, this one just does not work. It seems as though when I add the datagrid, something chokes on something that’s null. Since I don’t really understand the graphics mechanism, I can’t really debug. Tried going back and rebuilding the component, testing as I added things, but it still crashes with (apparently) non-existent error messages.
- Let’s try this again: Developing Ajax-Based User Interfaces with ADF Faces Rich Client Components.
FP
- The video of Paul’s interview with me about my work.
Dong Shin 01.09.2013
- Reported Outlay is now hidden from both PPM and PA
- adjusted rowCount and height of the datagrids accordingly
- reworked auto copy of PM Actuals to Reported Outlay in PPM and PA
- disabled tooltips on list of projects in PA
- working on adding “DUE” status to PA
Dong Shin 01.08.2013
- still sick at working at home
- got the correct status working of projects list in PA
- working on hiding Reported Outlay in PA – done
- working on hiding Reported Outlay in PPM
Phil 1.8.13
8:00 – 4:00 ESSO
- Backups
- Got Pidgin running and connected with Dimitri
- Viztool meeting scheduled for this Friday at 7:30. Sent Dong an email, since he’s still sick.
- Monthly presentation for Col. Dukes on the 28th.
- Building and Using Web Services with JDeveloper tutorial
- Part 1: Building a POJO Annotation-Driven Service
- Part 2: Building a Declaratively-Driven POJO Web Service
Phil 1.7.13
8:00 – 3:00 ESSO
- Backups. The now “non-merged” overdue table makes things go much faster.
- Verified that Tangie and Carla have accounts on the Data Visualization tool.
- Accepted a meeting invitation for Friday at 7:30. Ow.
- Looking into doing FA in JDeveloper
- Oracle database still works. Yay. The only way to get to the admin page appears to be through the start menu. Looks like it’s time to read some Oracle DB documentation.
- Per the help, getting SQL Developer. Documentation is here. And it’s running, and connecting to the 11_Express DB. Woohoo!
- OK, now that everything is back together, figuring out where I was the last time I was here (Oracle JDeveloper 11g Release 2 (11.1.2) Tutorials).
3:00 – 4:00- Orientation
Dong Shin 01.04.2013
- PA Status bug not fixed
- getting Current for incomplete projects
- got ************* should not reach here !!!!! ******************** message, may be related?
- Metting with Chris, Lenny, Tangie, Carla
- Proposed changes ( added to Req’s)
- Contract # should be a blank text field in Enter Invoice Diaglog
- Delete “Reported Outlay” from all views (PPM and PA)
- Fix DB so that the greater amount of PM Actuals or Reported Outlay is copied into the lower field. Also copy FMP.
- Default to “Reporting Month”
- For any row that is less than 100% use only those rows to calculate “incomplete” and “due”. When all rows are 100%, the item is current forever.
- “Planned Outlay” becomes “Spend Plan Baseline”
- For any row that equals 100%, auto-fill through the end of the contracts in PA (same rule as PPM)
- No tool tip in PA list view
- Proposed changes ( added to Req’s)
- finished up Security Briefing and sent in the Acknowledge form
Phil 1.4.13
8:00 – 4:00 ESSO
- Backups,
- Fixed a bug in the ingest for overdue projects. It was merging rather than replacing. Huge! Files!
- Deployed new version of PA. Still a bug with dates WRT incomplete projects.
- Loooooooooong meeting with Tangie, Carla, Lenny, Chris, Dong and I. Dong is adding the action items to the req’s page.
- May start with some new tools – a Financial Assistant (FA) app that will allow creation and editing of budget center information, and Program Manager Assistant (PMA) that will allow for streamlined management of projects.
- I think we should do this in JDeveloper or GWT.
- Some WCC getting acquainted emails and such.
4:00 – 5:00 FP.
- Cleaned up code while figuring things out.
- Added a new effect callback, which went in cleanly. Looking into how to have multiple effects.
Phil 1.3.13
8:00 – 4:00 ESSO
- Viz Tool meeting
- Found a date bug that we’re going to try to fix by Friday’s meeting
- Reset all the alert states to acknowledged, to keep the users from going crazy
- Need to add a way of acknowledging more than one alert. My thought is that we have a table that has the number of alerts that can show before an “acknowledge all” button is shown, and a MOTD list that can contain messages such as the state of the system. Maybe even something that has to be acknowledged.
- Need to add a way to indicate that it’s time to enter data, but not an “overdue” flag.
- Backups
- Need to do a status report. Done
- Worked out how to handle items in PA, when it is time to enter them, but they are not overdue. The states will now be as follows:
- Current. Everything is filled in
- Incomplete. Something is filled in, and the item is not overdue
- Due. It is time to fill out the item (i.e. Between the 1st and 17th of the month is the “Due” period for the previous month
- Overdue. An item that does not have all fields filled in that is past the “Due” date (i.e. the 17th)
- Finished up my security briefings and emailed a scan of the signed form to Carrie.
- Burned a disc containing PA and status for tomorrow.
4:00 – 5:00 FP
- Got the callback working.
- Pulled out setup(), run(), and terminate() methods. Next, I need to play around with the forces and make a moving object. Ideally, I’d like to have the rotating cube pair from the KF demo, but I’ll have to find some good cube code. I might start with spheres. Once I get the collisions behiving in a way that I like, I’ll start trying to add the code to (a copy of!) the KF demo
Header file:
class GravityWellClass
{
public:
GravityWellClass(void);
~GravityWellClass(void);
bool setup();
bool run();
bool terminate();
protected:
HDErrorInfo error;
HDSchedulerHandle hGravityWell;
HHD hHD;
static HDCallbackCode HDCALLBACK gravityWellCallback(void *data);
};
the callback method:
HDCallbackCode HDCALLBACK GravityWellClass::gravityWellCallback(void *data)
{
const HDdouble kStiffness = 0.075; /* N/mm */
const HDdouble kGravityWellInfluence = 40; /* mm */
/* This is the position of the gravity well in cartesian
(i.e. x,y,z) space. */
//static const hduVector3Dd wellPos = {0,0,0};
hduVector3Dd wellPos;
HDErrorInfo error;
hduVector3Dd position;
hduVector3Dd force;
hduVector3Dd positionTwell;
HHD hHD = hdGetCurrentDevice();
/* Begin haptics frame. ( In general, all state-related haptics calls
should be made within a frame. ) */
hdBeginFrame(hHD);
/* Get the current position of the device. */
hdGetDoublev(HD_CURRENT_POSITION, position);
memset(force, 0, sizeof(hduVector3Dd));
/* > positionTwell = wellPos-position <
Create a vector from the device position towards the gravity
well's center. */
wellPos[0] = 0;
wellPos[1] = 0;
wellPos[2] = 0;
hduVecSubtract(positionTwell, wellPos, position);
/* If the device position is within some distance of the gravity well's
center, apply a spring force towards gravity well's center. The force
calculation differs from a traditional gravitational body in that the
closer the device is to the center, the less force the well exerts;
the device behaves as if a spring were connected between itself and
the well's center. */
if (hduVecMagnitude(positionTwell) < kGravityWellInfluence)
{
/* > F = k * x <
F: Force in Newtons (N)
k: Stiffness of the well (N/mm)
x: Vector from the device endpoint position to the center
of the well. */
hduVecScale(force, positionTwell, kStiffness);
}
/* Send the force to the device. */
hdSetDoublev(HD_CURRENT_FORCE, force);
/* End haptics frame. */
hdEndFrame(hHD);
/* Check for errors and abort the callback if a scheduler error
is detected. */
if (HD_DEVICE_ERROR(error = hdGetError()))
{
hduPrintError(stderr, &error,
"Error detected while rendering gravity welln");
if (hduIsSchedulerError(&error))
{
return HD_CALLBACK_DONE;
}
}
/* Signify that the callback should continue running, i.e. that
it will be called again the next scheduler tick. */
return HD_CALLBACK_CONTINUE;
}
Lastly, the setup method that establishes the callback:
HDSchedulerHandle hGravityWell = hdScheduleAsynchronous(gravityWellCallback, 0, HD_MAX_SCHEDULER_PRIORITY);

You must be logged in to post a comment.