1   package eu.fbk.knowledgestore.datastore;
2   
3   import eu.fbk.knowledgestore.data.Record;
4   import eu.fbk.knowledgestore.data.Stream;
5   import eu.fbk.knowledgestore.data.XPath;
6   import eu.fbk.knowledgestore.datastore.AbstractDataStoreTest;
7   import eu.fbk.knowledgestore.datastore.DataStore;
8   import eu.fbk.knowledgestore.datastore.MySQLDataStore;
9   import eu.fbk.knowledgestore.vocabulary.KS;
10  import org.junit.Ignore;
11  import org.junit.Test;
12  
13  import java.io.IOException;
14  import java.sql.Connection;
15  import java.sql.PreparedStatement;
16  import java.util.List;
17  import java.util.concurrent.CancellationException;
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  public class MySQLDataStoreTest extends AbstractDataStoreTest {
28  	@Override
29  	protected DataStore createDataStore() {
30  		MySQLDataStore s = new MySQLDataStore("localhost", "root", "pippo", "test");
31  		return s;
32  	}
33  
34  	@Test
35  	public void testParseQuery() throws Throwable {
36  		MySQLDataStore ds = (MySQLDataStore) this.createDataStore();
37  		ds.init();
38  
39  		String partialInsertQuery = "(MD5(?), ?)";
40  
41  		Connection con = ds.dataSource.getConnection();
42  		PreparedStatement stmt = con.prepareStatement(partialInsertQuery);
43  		stmt.setString(1, "Pippo");
44  
45  		stmt.setInt(2, 182376);
46  		System.out.println(stmt.toString());
47  	}
48  
49  	@Test
50  	@Ignore
51  	public void testRetrieve() {
52  		DataStore ds = this.createDataStore();
53  		try {
54  			ds.init();
55  			List<Record> records = createRecords(3, KS.RESOURCE);
56  			DataTransaction dataTran = ds.begin(false);
57  			dataTran.store(KS.RESOURCE, records.get(0));
58  			dataTran.store(KS.RESOURCE, records.get(1));
59  			dataTran.delete(KS.RESOURCE, records.get(2).getID());
60  			XPath condition = XPath.parse("'example.org'"); 
61  			
62  			Stream<Record> cur = dataTran.retrieve(KS.RESOURCE, condition, null);
63  			try {
64  				for (Record r : cur) {
65  					System.out.println(r);
66  				}
67  			} finally {
68  				cur.close();
69  			}
70  		} catch (IOException e) {
71  			
72  			e.printStackTrace();
73  		} catch (CancellationException ex) {
74  			
75  		}
76  	}
77  
78  }