1515import org .linkeddatafragments .datasource .IDataSource ;
1616import org .linkeddatafragments .datasource .IFragmentRequestProcessor ;
1717import org .linkeddatafragments .fragments .LinkedDataFragment ;
18+ import org .linkeddatafragments .fragments .tpf .TriplePatternElement ;
1819import org .linkeddatafragments .fragments .tpf .TriplePatternFragment ;
1920import org .linkeddatafragments .fragments .tpf .TriplePatternFragmentRequest ;
21+ import org .linkeddatafragments .fragments .tpf .TriplePatternFragmentRequestImpl ;
22+ import org .linkeddatafragments .util .TriplePatternElementParser ;
2023
2124
2225/**
2326 *
2427 * @author Bart Hanssens <bart.hanssens@fedict.be>
2528 */
26- public abstract class DataSourceTest {
29+ public abstract class DataSourceTest < TermType , VarType > {
2730 private static IDataSource ds ;
2831
2932 /**
@@ -43,6 +46,9 @@ public static IDataSource getDatasource() {
4346 public static void setDatasource (IDataSource ds ) {
4447 DataSourceTest .ds = ds ;
4548 }
49+
50+ protected abstract TriplePatternElementParser <TermType ,VarType >
51+ getTriplePatternElementParser ();
4652
4753 /**
4854 * Copy the demo triple in the jar to a temp file.
@@ -84,15 +90,18 @@ public static JsonObject createConfig(String title, String desc, String type) {
8490 */
8591 @ Test
8692 public void testEmpty () {
87- TriplePatternFragmentRequest request = new TriplePatternFragmentRequest () {
88- public boolean isPageRequest () { return true ; }
89- public long getPageNumber () { return 1L ; }
90- public String getFragmentURL () { return "http://example.org/f" ; }
91- public String getDatasetURL () { return "http://example.org/" ; }
92- public String getSubject () { return "http://nothing.ldf.org" ; }
93- public String getPredicate () { return null ; }
94- public String getObject () { return null ; }
95- };
93+ final TriplePatternElementParser <TermType ,VarType > tpeParser =
94+ getTriplePatternElementParser ();
95+
96+ final TriplePatternFragmentRequest <TermType ,VarType > request =
97+ new TriplePatternFragmentRequestImpl <TermType ,VarType >(
98+ "http://example.org/f" , // fragmentURL
99+ "http://example.org/" , // datasetURL,
100+ true , // pageNumberWasRequested,
101+ 1L , //pageNumber,
102+ tpeParser .parseIntoTriplePatternElement ("http://nothing.ldf.org" ), // subject,
103+ tpeParser .parseIntoTriplePatternElement (null ), // predicate,
104+ tpeParser .parseIntoTriplePatternElement (null ) ); //object
96105
97106 final IFragmentRequestProcessor proc = getDatasource ().getRequestProcessor ();
98107 final LinkedDataFragment ldf = proc .createRequestedFragment ( request );
@@ -109,14 +118,25 @@ public void testEmpty() {
109118 */
110119 @ Test
111120 public void testEstimate () {
112- TriplePatternFragmentRequest request = new TriplePatternFragmentRequest () {
121+ final TriplePatternElementParser <TermType ,VarType > tpeParser =
122+ getTriplePatternElementParser ();
123+
124+ final TriplePatternFragmentRequest <TermType ,VarType > request =
125+ new TriplePatternFragmentRequest <TermType ,VarType >() {
113126 public boolean isPageRequest () { return true ; }
114127 public long getPageNumber () { return 1L ; }
115128 public String getFragmentURL () { return "http://example.org/f" ; }
116129 public String getDatasetURL () { return "http://example.org/" ; }
117- public String getSubject () { return "http://data.gov.be/catalog/ckanvl" ; }
118- public String getPredicate () { return null ; }
119- public String getObject () { return null ; }
130+
131+ public TriplePatternElement <TermType ,VarType > getSubject () {
132+ return tpeParser .parseIntoTriplePatternElement ("http://data.gov.be/catalog/ckanvl" );
133+ }
134+ public TriplePatternElement <TermType ,VarType > getPredicate () {
135+ return tpeParser .parseIntoTriplePatternElement (null );
136+ }
137+ public TriplePatternElement <TermType ,VarType > getObject () {
138+ return tpeParser .parseIntoTriplePatternElement (null );
139+ }
120140 };
121141
122142 final IFragmentRequestProcessor proc = getDatasource ().getRequestProcessor ();
0 commit comments