Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
MilderJoghurt
rlf-server
Commits
2d53bd6a
Commit
2d53bd6a
authored
Jun 24, 2015
by
Fjen Undso
Browse files
QuestionController: delete old answers of same owner when a new one arrives
parent
514fc22c
Changes
3
Show whitespace changes
Inline
Side-by-side
app/controllers/QuestionController.java
View file @
2d53bd6a
package
controllers
;
import
java.util.List
;
import
models.QuestionAnswer
;
import
models.Session
;
import
play.libs.Json
;
...
...
@@ -16,7 +18,7 @@ public class QuestionController extends Controller {
/**
* Creates a new {@link QuestionAnswer} for a {@link Session} from the
* request body
* request body
and deletes the old answers from the same owner
*
* @param sid
* the ID of a Session
...
...
@@ -35,6 +37,13 @@ public class QuestionController extends Controller {
JsonNode
json
=
request
().
body
().
asJson
();
QuestionAnswer
answer
=
Json
.
fromJson
(
json
,
QuestionAnswer
.
class
);
if
(!
answer
.
owner
.
isEmpty
())
{
// Delete old answer(s)
List
<
QuestionAnswer
>
oldAnswers
=
QuestionAnswer
.
findFromOwner
(
answer
.
owner
);
for
(
QuestionAnswer
qa
:
oldAnswers
)
{
qa
.
delete
();
}
QuestionAnswer
inserted
=
new
QuestionAnswer
(
session
,
answer
.
owner
,
answer
.
answer
);
session
.
addQuestionAnswer
(
inserted
);
...
...
app/controllers/VoteController.java
View file @
2d53bd6a
...
...
@@ -110,6 +110,7 @@ public class VoteController extends Controller {
sAll
.
value
=
v
.
value
;
break
;
case
REQUEST:
// TODO: consider only last 5minutes?
sRequests
.
value
+=
v
.
value
.
compareTo
(
0
);
break
;
default
:
...
...
app/models/QuestionAnswer.java
View file @
2d53bd6a
package
models
;
import
java.util.Date
;
import
java.util.List
;
import
javax.persistence.Entity
;
import
javax.persistence.Id
;
...
...
@@ -52,6 +53,10 @@ public class QuestionAnswer extends Model {
public
static
Finder
<
Long
,
QuestionAnswer
>
find
=
new
Finder
<
Long
,
QuestionAnswer
>(
Long
.
class
,
QuestionAnswer
.
class
);
public
static
List
<
QuestionAnswer
>
findFromOwner
(
String
owner
)
{
return
QuestionAnswer
.
find
.
where
().
eq
(
"owner"
,
owner
).
findList
();
}
public
QuestionAnswer
(
Session
session
,
String
owner
,
Answer
answer
)
{
this
.
session
=
session
;
this
.
owner
=
owner
;
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment