Skip to content
Snippets Groups Projects
Commit a5dcce75 authored by npedot's avatar npedot
Browse files

adds result to query

parent db40766f
No related branches found
No related tags found
No related merge requests found
...@@ -9,13 +9,12 @@ import java.util.* ...@@ -9,13 +9,12 @@ import java.util.*
class QueryJdbcAdapter { class QueryJdbcAdapter {
fun query(datasource: DataSource, query: Query) { fun query(datasource: DataSource, query: Query):String {
var sqlquery = SQLizeUseCase().sqlize(query) var sqlquery = SQLizeUseCase().sqlize(query)
return query(datasource,sqlquery) return query(datasource,sqlquery)
} }
fun query(datasource: DataSource, sqlquery: String) { fun query(datasource: DataSource, sqlquery: String):String {
val source = datasource val source = datasource
val user = source.user val user = source.user
val pass = source.pass val pass = source.pass
...@@ -34,21 +33,25 @@ class QueryJdbcAdapter { ...@@ -34,21 +33,25 @@ class QueryJdbcAdapter {
val sqlnative = conn.nativeSQL(sqlquery) val sqlnative = conn.nativeSQL(sqlquery)
val prepareStatement = conn.prepareStatement(sqlnative) val prepareStatement = conn.prepareStatement(sqlnative)
val resultSet = prepareStatement.executeQuery() val resultSet = prepareStatement.executeQuery()
printResultSet(resultSet) val result =printResultSet(resultSet)
resultSet.close() resultSet.close()
conn.close() conn.close()
return result
} }
fun printResultSet(resultSet: ResultSet) { fun printResultSet(resultSet: ResultSet):String {
var result = ""
val metaData = resultSet.metaData val metaData = resultSet.metaData
val columnCount = metaData.columnCount val columnCount = metaData.columnCount
while( resultSet.next()) { while( resultSet.next()) {
for (i in 1..columnCount) { for (i in 1..columnCount) {
if (i >1 ) print(",") if (i >1 ) print(",")
print("${resultSet.getString(i)} ${metaData.getColumnName(i)}") //print("${resultSet.getString(i)} ${metaData.getColumnName(i)}")
result += "${resultSet.getString(i)} ${metaData.getColumnName(i)}" + System.lineSeparator()
} }
println() println()
} }
return result
} }
fun create(datasource: DataSource, sqlcreate: String) { fun create(datasource: DataSource, sqlcreate: String) {
......
...@@ -4,7 +4,6 @@ import com.fasterxml.jackson.annotation.JsonInclude ...@@ -4,7 +4,6 @@ import com.fasterxml.jackson.annotation.JsonInclude
import com.fasterxml.jackson.databind.DeserializationFeature import com.fasterxml.jackson.databind.DeserializationFeature
import com.fasterxml.jackson.dataformat.xml.XmlMapper import com.fasterxml.jackson.dataformat.xml.XmlMapper
import com.fasterxml.jackson.module.kotlin.KotlinModule import com.fasterxml.jackson.module.kotlin.KotlinModule
import com.thoughtworks.xstream.XStream
import unibz.cs.semint.kprime.domain.* import unibz.cs.semint.kprime.domain.*
import unibz.cs.semint.kprime.domain.ddl.Constraint import unibz.cs.semint.kprime.domain.ddl.Constraint
import unibz.cs.semint.kprime.domain.ddl.Database import unibz.cs.semint.kprime.domain.ddl.Database
......
...@@ -3,7 +3,6 @@ package unibz.cs.semint.kprime.domain.ddl ...@@ -3,7 +3,6 @@ package unibz.cs.semint.kprime.domain.ddl
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement
import com.thoughtworks.xstream.annotations.XStreamAsAttribute
import unibz.cs.semint.kprime.domain.dql.Query import unibz.cs.semint.kprime.domain.dql.Query
import java.util.* import java.util.*
import javax.xml.bind.annotation.XmlElements import javax.xml.bind.annotation.XmlElements
......
...@@ -90,6 +90,12 @@ class Schema () { ...@@ -90,6 +90,12 @@ class Schema () {
} }
fun addFunctionals(command:String): Schema {
val tableName:String = command.split(":")[0]
val setExpression: String= command.split(":")[1]
return addFunctionals(tableName,setExpression)
}
fun addFunctionals(tableName:String, setExpression: String): Schema { fun addFunctionals(tableName:String, setExpression: String): Schema {
val constraintsToAdd = Constraint.set(setExpression) val constraintsToAdd = Constraint.set(setExpression)
for (constraint in constraintsToAdd) { for (constraint in constraintsToAdd) {
......
...@@ -25,9 +25,27 @@ class SakilaQueryTI { ...@@ -25,9 +25,27 @@ class SakilaQueryTI {
//given //given
val sakilaSource = DataSource(type,name,driver,path,user,pass) val sakilaSource = DataSource(type,name,driver,path,user,pass)
// when // when
val result = QueryJdbcAdapter().query(sakilaSource,"select * from film") val result = QueryJdbcAdapter().query(sakilaSource,"select * from film where film_id=1")
// then // then
//assertEquals("read-meta-schema done.","") assertEquals("""
1 film_id
ACADEMY DINOSAUR title
A Epic Drama of a Feminist And a Mad Scientist who must Battle a Teacher in The Canadian Rockies description
2006 release_year
1 language_id
null original_language_id
6 rental_duration
0.99 rental_rate
86 length
20.99 replacement_cost
PG rating
2006-02-15 05:03:42 last_update
{"Deleted Scenes","Behind the Scenes"} special_features
'academi':1 'battl':15 'canadian':20 'dinosaur':2 'drama':5 'epic':4 'feminist':8 'mad':11 'must':14 'rocki':21 'scientist':12 'teacher':17 fulltext
""".trimIndent()
,result)
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment