Skip to content

Commit 72c9151

Browse files
committed
fixed insertion to experiments table
1 parent 644135f commit 72c9151

4 files changed

Lines changed: 24 additions & 5 deletions

File tree

common/src/main/java/com/imsproject/common/dataAccess/abstracts/DAOBase.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -179,10 +179,10 @@ abstract class DAOBase<T, PK : PrimaryKey> protected constructor(
179179
}
180180

181181
fun buildQueryAndInsert(idColumnName: String, values: Array<out Any?>, transactionId: String?): Int {
182-
val questionmarks = List(nonKeyColumnNames.size) { "?" }.joinToString(", "); //don't ask please
182+
val questionmarks = List(nonKeyColumnNames.size) { "?" }.joinToString(", ");
183183
val insertQuery = "INSERT INTO $tableName (${nonKeyColumnNames.joinToString()}) VALUES (${questionmarks}) RETURNING $idColumnName"
184184
try {
185-
val keysResultSet = cursor.executeInsert(insertQuery,values, transactionId)
185+
val keysResultSet = cursor.executeInsert(insertQuery, values, transactionId)
186186
if(keysResultSet.next()) {
187187
val id = keysResultSet.getInt(idColumnName)
188188
if(id != null){

game_server/src/main/kotlin/com/imsproject/gameserver/api/RestApiController.kt

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,23 @@ class RestApiController(
147147
}
148148
}
149149

150+
// todo: delete
151+
@PostMapping("/data/experiment/{action}")
152+
fun dataTest2(
153+
@PathVariable action: String,
154+
@RequestBody body: String): ResponseEntity<String> {
155+
var obj = fromJson<ExperimentDTO>(body)
156+
157+
when(action) {
158+
"insert" -> { daoController.handleInsert(obj) }
159+
"delete" -> { daoController.handleDelete(obj) }
160+
"update" -> { daoController.handleUpdate(obj) }
161+
"select" -> { daoController.handleSelect(obj) }
162+
}
163+
return Response.getOk().toResponseEntity()
164+
}
165+
166+
150167
private data class QnA(val question: String, val answer: String)
151168
private data class ExperimentFeedback(val expId: Int, val pid: Int, val qnas: List<QnA>)
152169
@PostMapping("/data/experiment/insert/feedback")

game_server/src/main/kotlin/com/imsproject/gameserver/dataAccess/implementations/ExperimentsDAO.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ import com.imsproject.common.utils.Response
1111
import com.imsproject.gameserver.dataAccess.models.ExperimentDTO
1212
import com.imsproject.gameserver.dataAccess.models.ExperimentWithParticipantNamesDTO
1313
import org.springframework.stereotype.Component
14+
import java.time.LocalDateTime
15+
import java.time.format.DateTimeFormatter
1416

1517
@Component
1618
class ExperimentsDAO(cursor: SQLExecutor) : DAOBase<ExperimentDTO, ExperimentPK>(cursor, "Experiments", ExperimentPK.primaryColumnsList, arrayOf("pid1", "pid2", "date_time")) {
@@ -30,14 +32,14 @@ class ExperimentsDAO(cursor: SQLExecutor) : DAOBase<ExperimentDTO, ExperimentPK>
3032

3133
@Throws(DaoException::class)
3234
override fun insert(obj: ExperimentDTO, transactionId: String?): Int {
33-
val values = arrayOf(obj.pid1,obj.pid2)
35+
val values = arrayOf(obj.pid1,obj.pid2, obj.dateTime ?: LocalDateTime.now())
3436
val idColName = primaryKeyColumnNames.joinToString()
3537
return buildQueryAndInsert(idColName, values, transactionId)
3638
}
3739

3840
@Throws(DaoException::class)
3941
override fun update(obj: ExperimentDTO, transactionId: String?) {
40-
val values = arrayOf(obj.pid1,obj.pid2)
42+
val values = arrayOf(obj.pid1,obj.pid2,obj.dateTime)
4143
val id = obj.expId ?: throw IllegalArgumentException("Lobby ID must not be null")
4244
val idColName = primaryKeyColumnNames.joinToString()
4345
buildQueryAndUpdate(idColName, id, values, transactionId)

game_server/src/main/resources/application.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,4 @@ database.port=5432
1010
database.name=ims-db
1111
database.driver-class-name=org.postgresql.Driver
1212

13-
running.local=false
13+
running.local=true

0 commit comments

Comments
 (0)