Skip to content

Commit

Permalink
Merge pull request #6 from dgunda1/master
Browse files Browse the repository at this point in the history
1.7.12a fix
  • Loading branch information
dgunda1 authored Sep 15, 2020
2 parents b60a2d6 + ac3a22f commit 1f68094
Show file tree
Hide file tree
Showing 110 changed files with 6,129 additions and 3,081 deletions.
406 changes: 406 additions & 0 deletions LICENSE.txt

Large diffs are not rendered by default.

7 changes: 6 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,16 @@
[Georgia Clinical and Translational Science Alliance (Georgia CTSA)](http://www.georgiactsa.org), [Emory University](http://www.emory.edu), Atlanta, GA

## What does it do?
This is a stock i2b2 1.7.09c project management (PM) cell, patched with support for delegating authentication to a server that implements [version 2 of the CAS protocol](https://apereo.github.io/cas/5.0.x/protocol/CAS-Protocol-V2-Specification.html) for single sign-on.
This is a stock i2b2 1.7.12a project management (PM) cell, patched with support for delegating authentication to a server that implements [version 2 of the CAS protocol](https://apereo.github.io/cas/5.0.x/protocol/CAS-Protocol-V2-Specification.html) for single sign-on.


The code is adapted from similar code for an older version of i2b2 by Dan Connolly found at https://bitbucket.org/DanC/i2b2-pm-cas.

## Version history

### Version 1.3
Updated i2b2 version to 1.7.12a.

### Version 1.2
Updated i2b2 version to 1.7.09c.

Expand All @@ -17,6 +21,7 @@ Updated i2b2 version to 1.7.08b.
### Version 1.0
Initial release using i2b2 version 1.7.05.


## CAS implementations supported
We expect any full implementation of version 2 of the CAS protocol to work. In particular, the implementation must support proxying. The following implementations of CAS are known to work:
* [Eureka! Clinical CAS](https://github.com/eurekaclinical/cas), which is a patched version of [JASIG CAS version 3.5.2](https://wiki.jasig.org/display/CASUM/Home)
Expand Down
3 changes: 2 additions & 1 deletion build.properties
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
#Ant build property file

## JBOSS HOME
jboss.home=/opt/wildfly-10.0.0.Final
jboss.home=/opt/wildfly-17.0.1.Final
axis2.war.name=i2b2.war

report=test-reports
testfiledir=testfiles
testhost=http://127.0.0.1:9090/i2b2/services
25 changes: 22 additions & 3 deletions build.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
$Id: build.xml,v 1.3 2010/02/03 18:19:26 mem61 Exp $
$Id: build.xml,v 1.3 2018/01/18 18:19:26 mem61 Exp $
-->
<project basedir="." default="all" name="Project Management Cell">

Expand All @@ -23,6 +23,8 @@
<pathelement location="lib/jcifs-1.3.3.jar" />
<pathelement location="lib/servlet-api.jar" />
<pathelement location="../${i2b2CommonProject}/dist/i2b2Common-core.jar" />
<pathelement location="../${i2b2CommonProject}/lib/smbj-0.9.1.jar" />

</path>

<taskdef name="xjc" classname="com.sun.tools.xjc.XJCTask">
Expand All @@ -43,22 +45,38 @@
<!-- COMMON JAXB GENERATION -->
<!-- =================================================================== -->
<target name="jaxb_gen" depends="init" description="Generate JAXB classes for i2b2 and Vocab Data messages">
<xjc destdir="${gensrc}" removeOldOutput="no">
<!-- <exec executable="xjc">
<arg value="-d"/>
<arg value="${gensrc}"/>
<arg value="../${i2b2xmlproject}/xsd/cell/pm_1.1/PM_USER.xsd"/>
<arg value="../${i2b2xmlproject}/xsd/hive/msg_1.1/i2b2_response.xsd"/>
<arg value="../${i2b2xmlproject}/xsd/cell/pm_1.1/i2b2_version_msg.xsd"/>
<arg value="-b"/>
<arg value="./etc/xsd_1.1/i2b2_pm_bindings.xjb"/>
<arg value="-b"/>
<arg value="./etc/xsd_1.1/i2b2_response_message_bindings.xjb"/>
<arg value="-b"/>
<arg value="./etc/xsd_1.1/i2b2_version_bindings.xjb"/>
</exec>
--> <xjc destdir="${gensrc}" removeOldOutput="no">

<schema dir="../${i2b2xmlproject}/xsd/cell/pm_1.1" includes="PM_USER.xsd" />
<schema dir="../${i2b2xmlproject}/xsd/hive/msg_1.1" includes="i2b2_response.xsd" />
<schema dir="../${i2b2xmlproject}/xsd/cell/pm_1.1" includes="i2b2_version_msg.xsd" />
<binding dir="." includes="etc/xsd_1.1/i2b2_pm_bindings.xjb" />
<binding dir="." includes="etc/xsd_1.1/i2b2_response_message_bindings.xjb" />
<binding dir="." includes="etc/xsd_1.1/i2b2_version_bindings.xjb" />
</xjc>

</target>

<!-- =================================================================== -->
<!-- COMPILE -->
<!-- =================================================================== -->
<target name="compile" depends="init,jaxb_gen" description="Compile files without cleaning">
<mkdir dir="${classes}" />
<javac destdir="${classes}" optimize="${javac.opt}" debug="${javac.debug}">
<javac destdir="${classes}" optimize="${javac.opt}" debug="true">
<src path="${src}" />
<src path="${gensrc}" />
<src path="test" />
Expand Down Expand Up @@ -150,6 +168,7 @@
<formatter type="xml" />
<jvmarg value="-Dtestfiledir=${testfiledir}" />
<jvmarg value="-Djava.endorsed.dirs=endorsed_lib" />
<jvmarg value="-Dtesthost=${testhost}" />
<!--<test name="AllTests" todir="${report.dir}"/>-->
<batchtest fork="yes" todir="${reports.dir}">
<fileset dir="test">
Expand Down
10 changes: 9 additions & 1 deletion etc/axis2/services.xml
Original file line number Diff line number Diff line change
@@ -1,4 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2006-2018 Massachusetts General Hospital
All rights reserved. This program and the accompanying materials
are made available under the terms of the Mozilla Public License,
v. 2.0. If a copy of the MPL was not distributed with this file, You can
obtain one at http://mozilla.org/MPL/2.0/. I2b2 is also distributed under
the terms of the Healthcare Disclaimer.
-->
<service name="PMService" scope="request">
<description>
Project Management Processing Service
Expand All @@ -10,4 +18,4 @@
<messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
</operation>
<parameter name="ServiceClass">edu.harvard.i2b2.pm.ws.PMService</parameter>
</service>
</service>
74 changes: 58 additions & 16 deletions etc/jboss/pm-ds.xml
Original file line number Diff line number Diff line change
@@ -1,63 +1,105 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
_____ __ __ _____ _ _____
| __ \| \/ | | __ \ | | / ____|
| |__) | \ / | | | | | __ _| |_ __ _| (___ ___ _ _ _ __ ___ ___
| ___/| |\/| | | | | |/ _` | __/ _` |\___ \ / _ \| | | | '__/ __/ _ \
| | | | | | | |__| | (_| | || (_| |____) | (_) | |_| | | | (_| __/
|_| |_| |_| |_____/ \__,_|\__\__,_|_____/ \___/ \__,_|_| \___\___|
-->
<datasources xmlns="http://www.jboss.org/ironjacamar/schema">
<!--
_____ ______ _____ _______ _____ ____ _ _ __
/ ____| ____/ ____|__ __|_ _/ __ \| \ | | /_ |
| (___ | |__ | | | | | || | | | \| | | |
\___ \| __|| | | | | || | | | . ` | | |
____) | |___| |____ | | _| || |__| | |\ | | |
|_____/|______\_____| |_| |_____\____/|_| \_| |_|
The bootstrap points to the data source for your database lookup table which is a hivedata table, this is required.
1) This database defaults to Oracle, uncomment SQL Server or PostgreSQL and comment out the Oracle one.
2) Update the <connection-url> with the location of your hostname, port and SID (Oracle Only).
2) Update the <user-name> with the database user
3) Update the <password> with the database password
-->
<datasource jta="false" jndi-name="java:/PMBootStrapDS"
pool-name="PMBootStrapDS" enabled="true" use-ccm="false">
<connection-url>jdbc:oracle:thin:@localhost:1521:xe</connection-url>
<driver-class>oracle.jdbc.OracleDriver</driver-class>
<driver>ojdbc6.jar</driver>
<driver>ojdbc8.jar</driver>
<security>
<user-name>i2b2pm</user-name>
<password>demouser</password>
</security>
<validation>
<valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker"/>
<validate-on-match>false</validate-on-match>
<background-validation>false</background-validation>
</validation>
<background-validation>true</background-validation>
<background-validation-millis>60000</background-validation-millis>
<use-fast-fail>true</use-fast-fail>
<check-valid-connection-sql>SELECT 1 FROM DUAL</check-valid-connection-sql>
</validation>
<statement>
<share-prepared-statements>false</share-prepared-statements>
</statement>
</datasource>

<!--

<!-- SQL SERVER EXAMPLE -->
<!--
<datasource jta="false" jndi-name="java:/PMBootStrapDS"
pool-name="PMBootStrapDS" enabled="true" use-ccm="false">
<connection-url>jdbc:postgresql://localhost:5432/i2b2</connection-url>
<driver-class>org.postgresql.Driver</driver-class>
<driver>postgresql-9.2-1002.jdbc4.jar</driver>
<connection-url>jdbc:sqlserver://localhost:1433</connection-url>
<driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class>
<driver>mssql-jdbc-7.4.1.jre8.jar</driver>
<security>
<user-name>i2b2pm</user-name>
<password>demouser</password>
</security>
<validation>
<valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mssql.MSSQLValidConnectionChecker"/>
<validate-on-match>false</validate-on-match>
<background-validation>false</background-validation>
<background-validation>true</background-validation>
<background-validation-millis>60000</background-validation-millis>
<use-fast-fail>true</use-fast-fail>
<check-valid-connection-sql>SELECT 1</check-valid-connection-sql>
</validation>
<statement>
<share-prepared-statements>false</share-prepared-statements>
</statement>
</datasource>
-->

<!-- POSTGRESQL EXAMPLE -->
<!--
<datasource jta="false" jndi-name="java:/PMBootStrapDS"
pool-name="PMBootStrapDS" enabled="true" use-ccm="false">
<connection-url>jdbc:sqlserver://localhost:1433</connection-url>
<driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class>
<driver>sqljdbc4.jar</driver>
<connection-url>jdbc:postgresql://localhost:5432/i2b2</connection-url>
<driver-class>org.postgresql.Driver</driver-class>
<driver>postgresql-42.2.8.jar</driver>
<security>
<user-name>i2b2pm</user-name>
<password>demouser</password>
</security>
<validation>
<valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mssql.MSSQLValidConnectionChecker"></valid-connection-checker>
<validate-on-match>false</validate-on-match>
<valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.postgres.PostgreSQLValidConnectionChecker"/>
<validate-on-match>false</validate-on-match>
<background-validation>true</background-validation>
<background-validation-millis>60000</background-validation-millis>
<use-fast-fail>true</use-fast-fail>
<check-valid-connection-sql>SELECT 1</check-valid-connection-sql>
</validation>
<statement>
<share-prepared-statements>false</share-prepared-statements>
</statement>
</datasource>
-->
-->
</datasources>

Loading

0 comments on commit 1f68094

Please sign in to comment.