i2b2 Gotchas Name Not Found Exception
When first using the workbench, get javax.naming.NameNotFoundException for two datasources: !QueryToolDemo2DS and !WorkplaceDemo2DS
I cannot remember these datasources during the install. A grep of the data sql, however, reveals:
INSERT INTO CRC_DB_LOOKUP
(c_domain_id, c_project_path, c_owner_id, c_db_fullschema, c_db_datasource, c_db_servertype, c_db_nicename, c_db_tooltip, c_comment, c_entry_date, c_change_date, c_status_cd)
VALUES('i2b2demo', '/Demo2/', '@', 'i2b2demodata2', 'java:QueryToolDemo2DS', 'ORACLE', 'Demo2', NULL, NULL, NULL, NULL, NULL);
There is a similar insert for project Demo.
NB: that there is a value of ORACLE for c_db_servertype, which implies the particular RDBMS system is not transparent.
Clue Looks like I've made a mistake on the data install. In "Data Installation Guide_1-5-1.pdf" within section 2.5 entitled "Create Demodata tables and load data", it appears I've skipped the part of the procedure for Demo2. It states within subsections 6 and 7:
6. Edit the db.properties file for the user/password i2b2demodata2 and project demo2. 7. Repeat steps 3, 4 and 5 (Create demodata tables, stored procedures and load data).
This I have not done. And there are similar sections for Demo2 concerning metadata and workdata within the same guide. Having altered the install procedures to cover demo2 correctly (plus the following points regarding extra datasources) and then undertaken a re-install, the workbench ran correctly without a NameNotFoundException.
NB: I'm pretty sure there also is an assumption within the 5 cell install guides that the demo data details are (by implication) replicated and changed for demo2. I have not done this either, so the guides need a careful examination with this in mind. Now corrected. It only touched upon installs of the ontology, crc and workplace cells. I needed to add an extra datasource to each of the *-ds.xml files to cover 'demo2'.
One thing I still find confusing, however...
Each of these installs has a etc/spring/something.properties file with something like the following entries:
workplace.ws.pm.url=http://localhost:9090/i2b2/rest/PMService/getServices workplace.ws.pm.webServiceMethod=Rest # Flag to bypass project management cell workplace.ws.pm.bypass=false workplace.ws.pm.bypass.role=ADMIN workplace.ws.pm.bypass.project=Demo
Notice the last property. What does it mean? Why does it say 'Demo'? Should there be a 'Demo2'?