Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Raphael
histream
Commits
c0520a2e
Commit
c0520a2e
authored
Aug 04, 2015
by
R.W.Majeed
Browse files
Added interfaces for FactTable and FactRow
parent
a90b0f1d
Changes
12
Hide whitespace changes
Inline
Side-by-side
histream-import/src/main/java/de/sekmi/histream/etl/ConceptTable.java
0 → 100644
View file @
c0520a2e
package
de.sekmi.histream.etl
;
import
de.sekmi.histream.etl.config.Concept
;
public
interface
ConceptTable
{
public
Concept
[]
getConcepts
();
}
histream-import/src/main/java/de/sekmi/histream/etl/FactRow.java
0 → 100644
View file @
c0520a2e
package
de.sekmi.histream.etl
;
import
java.util.List
;
import
de.sekmi.histream.Observation
;
/**
* Row containing parsed and processed facts from concept table
*
* @author Raphael
*
*/
public
interface
FactRow
{
List
<
Observation
>
getFacts
();
String
getPatientId
();
String
getVisitId
();
}
histream-import/src/main/java/de/sekmi/histream/etl/PatientRow.java
View file @
c0520a2e
package
de.sekmi.histream.etl
;
package
de.sekmi.histream.etl
;
import
java.util.List
;
import
de.sekmi.histream.Observation
;
import
de.sekmi.histream.ext.Patient
;
import
de.sekmi.histream.ext.Patient
;
import
de.sekmi.histream.impl.PatientImpl
;
import
de.sekmi.histream.impl.PatientImpl
;
...
@@ -9,7 +12,7 @@ import de.sekmi.histream.impl.PatientImpl;
...
@@ -9,7 +12,7 @@ import de.sekmi.histream.impl.PatientImpl;
* @author Raphael
* @author Raphael
*
*
*/
*/
public
class
PatientRow
extends
PatientImpl
{
public
class
PatientRow
extends
PatientImpl
implements
FactRow
{
String
firstname
;
String
firstname
;
String
lastname
;
String
lastname
;
// TODO concepts
// TODO concepts
...
@@ -19,4 +22,24 @@ public class PatientRow extends PatientImpl{
...
@@ -19,4 +22,24 @@ public class PatientRow extends PatientImpl{
this
.
firstname
=
first
;
this
.
firstname
=
first
;
this
.
lastname
=
last
;
this
.
lastname
=
last
;
}
}
@Override
public
List
<
Observation
>
getFacts
()
{
// TODO Auto-generated method stub
return
null
;
}
@Override
public
String
getPatientId
()
{
return
this
.
getId
();
}
@Override
public
String
getVisitId
()
{
// no visit id for patient facts
return
null
;
}
}
}
histream-import/src/main/java/de/sekmi/histream/etl/RecordSupplier.java
View file @
c0520a2e
...
@@ -6,7 +6,7 @@ import java.util.function.Supplier;
...
@@ -6,7 +6,7 @@ import java.util.function.Supplier;
import
de.sekmi.histream.ObservationFactory
;
import
de.sekmi.histream.ObservationFactory
;
import
de.sekmi.histream.etl.config.Table
;
import
de.sekmi.histream.etl.config.Table
;
public
class
RecordSupplier
<
R
>
implements
Supplier
<
R
>,
AutoCloseable
{
public
class
RecordSupplier
<
R
extends
FactRow
>
implements
Supplier
<
R
>,
AutoCloseable
{
private
RowSupplier
rows
;
private
RowSupplier
rows
;
private
Table
<
R
>
table
;
private
Table
<
R
>
table
;
private
ColumnMap
map
;
private
ColumnMap
map
;
...
...
histream-import/src/main/java/de/sekmi/histream/etl/VisitRow.java
View file @
c0520a2e
package
de.sekmi.histream.etl
;
package
de.sekmi.histream.etl
;
import
java.util.List
;
import
de.sekmi.histream.Observation
;
import
de.sekmi.histream.impl.VisitImpl
;
import
de.sekmi.histream.impl.VisitImpl
;
public
class
VisitRow
extends
VisitImpl
{
public
class
VisitRow
extends
VisitImpl
implements
FactRow
{
@Override
public
List
<
Observation
>
getFacts
()
{
// TODO Auto-generated method stub
return
null
;
}
@Override
public
String
getVisitId
()
{
return
this
.
getId
();
}
}
}
histream-import/src/main/java/de/sekmi/histream/etl/WideRow.java
View file @
c0520a2e
...
@@ -5,7 +5,7 @@ import java.util.List;
...
@@ -5,7 +5,7 @@ import java.util.List;
import
de.sekmi.histream.Observation
;
import
de.sekmi.histream.Observation
;
public
class
WideRow
{
public
class
WideRow
implements
FactRow
{
private
String
patid
;
private
String
patid
;
private
String
visit
;
private
String
visit
;
private
List
<
Observation
>
facts
;
private
List
<
Observation
>
facts
;
...
@@ -19,9 +19,12 @@ public class WideRow {
...
@@ -19,9 +19,12 @@ public class WideRow {
public
void
addFact
(
Observation
o
){
public
void
addFact
(
Observation
o
){
this
.
facts
.
add
(
o
);
this
.
facts
.
add
(
o
);
}
}
@Override
public
List
<
Observation
>
getFacts
(){
public
List
<
Observation
>
getFacts
(){
return
facts
;
return
facts
;
}
}
@Override
public
String
getPatientId
(){
return
patid
;}
public
String
getPatientId
(){
return
patid
;}
@Override
public
String
getVisitId
(){
return
visit
;}
public
String
getVisitId
(){
return
visit
;}
}
}
histream-import/src/main/java/de/sekmi/histream/etl/config/DataSource.java
View file @
c0520a2e
package
de.sekmi.histream.etl.config
;
package
de.sekmi.histream.etl.config
;
import
java.util.Arrays
;
import
java.util.List
;
import
javax.xml.bind.annotation.XmlAccessType
;
import
javax.xml.bind.annotation.XmlAccessType
;
import
javax.xml.bind.annotation.XmlAccessorType
;
import
javax.xml.bind.annotation.XmlAccessorType
;
import
javax.xml.bind.annotation.XmlElement
;
import
javax.xml.bind.annotation.XmlElement
;
...
@@ -11,6 +14,7 @@ import javax.xml.bind.annotation.XmlSeeAlso;
...
@@ -11,6 +14,7 @@ import javax.xml.bind.annotation.XmlSeeAlso;
@XmlAccessorType
(
XmlAccessType
.
FIELD
)
@XmlAccessorType
(
XmlAccessType
.
FIELD
)
@XmlSeeAlso
({
Column
.
class
,
StringColumn
.
class
})
@XmlSeeAlso
({
Column
.
class
,
StringColumn
.
class
})
public
class
DataSource
{
public
class
DataSource
{
@XmlElement
@XmlElement
Meta
meta
;
Meta
meta
;
...
@@ -28,5 +32,16 @@ public class DataSource {
...
@@ -28,5 +32,16 @@ public class DataSource {
WideTable
[]
wideTables
;
WideTable
[]
wideTables
;
public
PatientTable
getPatientTable
(){
return
patientTable
;
}
public
VisitTable
getVisitTable
(){
return
visitTable
;
}
public
List
<
WideTable
>
getWideTables
(){
return
Arrays
.
asList
(
wideTables
);
}
}
}
histream-import/src/main/java/de/sekmi/histream/etl/config/PatientTable.java
View file @
c0520a2e
...
@@ -8,6 +8,7 @@ import javax.xml.bind.annotation.XmlElementWrapper;
...
@@ -8,6 +8,7 @@ import javax.xml.bind.annotation.XmlElementWrapper;
import
de.sekmi.histream.ObservationFactory
;
import
de.sekmi.histream.ObservationFactory
;
import
de.sekmi.histream.etl.ColumnMap
;
import
de.sekmi.histream.etl.ColumnMap
;
import
de.sekmi.histream.etl.ConceptTable
;
import
de.sekmi.histream.etl.ParseException
;
import
de.sekmi.histream.etl.ParseException
;
import
de.sekmi.histream.etl.PatientRow
;
import
de.sekmi.histream.etl.PatientRow
;
...
@@ -17,7 +18,7 @@ import de.sekmi.histream.etl.PatientRow;
...
@@ -17,7 +18,7 @@ import de.sekmi.histream.etl.PatientRow;
* @author marap1
* @author marap1
*
*
*/
*/
public
class
PatientTable
extends
Table
<
PatientRow
>
implements
WideInterfac
e
{
public
class
PatientTable
extends
Table
<
PatientRow
>
implements
ConceptTabl
e
{
@XmlElement
@XmlElement
IDAT
idat
;
IDAT
idat
;
...
@@ -60,5 +61,11 @@ public class PatientTable extends Table<PatientRow> implements WideInterface{
...
@@ -60,5 +61,11 @@ public class PatientTable extends Table<PatientRow> implements WideInterface{
// TODO concepts
// TODO concepts
return
patient
;
return
patient
;
}
}
@Override
public
Concept
[]
getConcepts
()
{
return
concepts
;
}
}
}
histream-import/src/main/java/de/sekmi/histream/etl/config/Table.java
View file @
c0520a2e
...
@@ -7,11 +7,12 @@ import javax.xml.bind.annotation.XmlTransient;
...
@@ -7,11 +7,12 @@ import javax.xml.bind.annotation.XmlTransient;
import
de.sekmi.histream.ObservationFactory
;
import
de.sekmi.histream.ObservationFactory
;
import
de.sekmi.histream.etl.ColumnMap
;
import
de.sekmi.histream.etl.ColumnMap
;
import
de.sekmi.histream.etl.FactRow
;
import
de.sekmi.histream.etl.ParseException
;
import
de.sekmi.histream.etl.ParseException
;
import
de.sekmi.histream.etl.RecordSupplier
;
import
de.sekmi.histream.etl.RecordSupplier
;
@XmlTransient
@XmlTransient
public
abstract
class
Table
<
T
>
{
public
abstract
class
Table
<
T
extends
FactRow
>
{
@XmlElement
(
required
=
true
)
@XmlElement
(
required
=
true
)
TableSource
source
;
TableSource
source
;
...
...
histream-import/src/main/java/de/sekmi/histream/etl/config/VisitTable.java
View file @
c0520a2e
...
@@ -8,10 +8,11 @@ import javax.xml.bind.annotation.XmlType;
...
@@ -8,10 +8,11 @@ import javax.xml.bind.annotation.XmlType;
import
de.sekmi.histream.ObservationFactory
;
import
de.sekmi.histream.ObservationFactory
;
import
de.sekmi.histream.etl.ColumnMap
;
import
de.sekmi.histream.etl.ColumnMap
;
import
de.sekmi.histream.etl.ConceptTable
;
import
de.sekmi.histream.etl.ParseException
;
import
de.sekmi.histream.etl.ParseException
;
import
de.sekmi.histream.etl.VisitRow
;
import
de.sekmi.histream.etl.VisitRow
;
public
class
VisitTable
extends
Table
<
VisitRow
>
implements
WideInterfac
e
{
public
class
VisitTable
extends
Table
<
VisitRow
>
implements
ConceptTabl
e
{
@XmlElement
@XmlElement
IDAT
idat
;
IDAT
idat
;
...
@@ -54,4 +55,10 @@ public class VisitTable extends Table<VisitRow> implements WideInterface{
...
@@ -54,4 +55,10 @@ public class VisitTable extends Table<VisitRow> implements WideInterface{
// TODO other
// TODO other
// TODO concepts
// TODO concepts
return
visit
;
return
visit
;
}}
}
@Override
public
Concept
[]
getConcepts
()
{
return
concepts
;
}
}
histream-import/src/main/java/de/sekmi/histream/etl/config/WideInterface.java
deleted
100644 → 0
View file @
a90b0f1d
package
de.sekmi.histream.etl.config
;
public
interface
WideInterface
{
}
histream-import/src/main/java/de/sekmi/histream/etl/config/WideTable.java
View file @
c0520a2e
...
@@ -6,10 +6,11 @@ import javax.xml.bind.annotation.XmlElementWrapper;
...
@@ -6,10 +6,11 @@ import javax.xml.bind.annotation.XmlElementWrapper;
import
de.sekmi.histream.Observation
;
import
de.sekmi.histream.Observation
;
import
de.sekmi.histream.ObservationFactory
;
import
de.sekmi.histream.ObservationFactory
;
import
de.sekmi.histream.etl.ColumnMap
;
import
de.sekmi.histream.etl.ColumnMap
;
import
de.sekmi.histream.etl.ConceptTable
;
import
de.sekmi.histream.etl.ParseException
;
import
de.sekmi.histream.etl.ParseException
;
import
de.sekmi.histream.etl.WideRow
;
import
de.sekmi.histream.etl.WideRow
;
public
class
WideTable
extends
Table
<
WideRow
>
{
public
class
WideTable
extends
Table
<
WideRow
>
implements
ConceptTable
{
@XmlElement
@XmlElement
DataTableIdat
idat
;
DataTableIdat
idat
;
...
@@ -40,4 +41,9 @@ public class WideTable extends Table<WideRow> {
...
@@ -40,4 +41,9 @@ public class WideTable extends Table<WideRow> {
}
}
return
rec
;
return
rec
;
}
}
@Override
public
Concept
[]
getConcepts
()
{
return
concepts
;
}
}
}
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment