Skip to content

Commit 51dad18

Browse files
authored
Merge pull request #34 from Yuval-Roth/db_hotfix
Db hotfix
2 parents 644135f + c4c89b3 commit 51dad18

3 files changed

Lines changed: 23 additions & 4 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)

0 commit comments

Comments
 (0)