Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
ARSnova Backend
Manage
Activity
Members
Labels
Code
Merge requests
0
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Operate
Environments
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Help
Help
Support
GitLab documentation
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Privacy
Imprint
Contact
Snippets
Groups
Projects
Show more breadcrumbs
Paul-Christian Volkmer
ARSnova Backend
Commits
f034caed
Commit
f034caed
authored
10 years ago
by
Tom Käsler
Browse files
Options
Downloads
Patches
Plain Diff
#15459 check to see whether new question brings a new subject to append it in subjectSortOrder
parent
92025f94
Branches
Branches containing commit
Tags
Tags containing commit
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
src/main/java/de/thm/arsnova/dao/CouchDBDao.java
+26
-15
26 additions, 15 deletions
src/main/java/de/thm/arsnova/dao/CouchDBDao.java
src/main/java/de/thm/arsnova/services/QuestionService.java
+22
-17
22 additions, 17 deletions
src/main/java/de/thm/arsnova/services/QuestionService.java
with
48 additions
and
32 deletions
src/main/java/de/thm/arsnova/dao/CouchDBDao.java
+
26
−
15
View file @
f034caed
...
...
@@ -20,6 +20,7 @@ package de.thm.arsnova.dao;
import
java.io.IOException
;
import
java.util.AbstractMap
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.Collection
;
import
java.util.HashMap
;
import
java.util.HashSet
;
...
...
@@ -550,6 +551,7 @@ public class CouchDBDao implements IDatabaseDao, ApplicationEventPublisherAware
q
.
put
(
"gridType"
,
question
.
getGridType
());
q
.
put
(
"scaleFactor"
,
question
.
getScaleFactor
());
q
.
put
(
"gridScaleFactor"
,
question
.
getGridScaleFactor
());
q
.
put
(
"timestamp"
,
question
.
getTimestamp
());
return
q
;
}
...
...
@@ -1973,14 +1975,6 @@ public class CouchDBDao implements IDatabaseDao, ApplicationEventPublisherAware
for
(
final
Document
d
:
results
.
getResults
())
{
final
String
s
=
d
.
getString
(
"value"
);
qids
.
add
(
s
);
/*final Answer a = new Answer();
a.setAnswerCount(d.getInt("value"));
a.setAbstentionCount(abstentionCount);
a.setQuestionId(d.getJSONObject().getJSONArray("key").getString(0));
a.setPiRound(piRound);
final String answerText = d.getJSONObject().getJSONArray("key").getString(2);
a.setAnswerText("null".equals(answerText) ? null : answerText);
answers.add(a);*/
}
return
qids
;
...
...
@@ -2004,21 +1998,38 @@ public class CouchDBDao implements IDatabaseDao, ApplicationEventPublisherAware
if
(
results
.
getResults
().
isEmpty
())
{
return
null
;
}
SortOrder
sortOrder
=
new
SortOrder
();
for
(
final
Document
d
:
results
.
getResults
())
{
sortOrder
.
set_id
(
d
.
getJSONObject
(
"value"
).
getString
(
"_id"
));
sortOrder
.
set_rev
(
d
.
getJSONObject
(
"value"
).
getString
(
"_rev"
));
sortOrder
.
setSessionId
(
d
.
getJSONObject
(
"value"
).
getString
(
"sessionId"
));
sortOrder
.
setSortType
(
d
.
getJSONObject
(
"value"
).
getString
(
"sortType"
));
sortOrder
.
setQuestionVariant
(
d
.
getJSONObject
(
"value"
).
getString
(
"questionVariant"
));
List
<
String
>
sort
=
new
ArrayList
<
String
>();
JSONArray
json
=
d
.
getJSONObject
(
"value"
).
getJSONArray
(
"sortOrder"
);
int
len
=
json
.
size
();
for
(
int
i
=
0
;
i
<
len
;
i
++)
{
sort
.
add
(
json
.
getString
(
i
));
}
sortOrder
.
setSortOrder
(
sort
);
}
return
(
SortOrder
)
JSONObject
.
toBean
(
results
.
getJSONArray
(
"rows"
).
optJSONObject
(
0
).
optJSONObject
(
"value"
),
SortOrder
.
class
);
return
sortOrder
;
}
@Override
public
SortOrder
createOrUpdateSortOrder
(
SortOrder
sortOrder
)
{
try
{
String
id
=
sortOrder
.
get_id
();
String
rev
=
sortOrder
.
get_rev
();
SortOrder
oldSortOrder
=
getSortOrder
(
sortOrder
.
getSessionId
(),
sortOrder
.
getQuestionVariant
(),
sortOrder
.
getSubject
());
Document
d
=
new
Document
();
if
(
null
!=
id
)
{
String
id
=
""
;
String
rev
=
""
;
if
(
oldSortOrder
!=
null
)
{
id
=
oldSortOrder
.
get_id
();
rev
=
oldSortOrder
.
get_rev
();
d
=
database
.
getDocument
(
id
,
rev
);
}
...
...
This diff is collapsed.
Click to expand it.
src/main/java/de/thm/arsnova/services/QuestionService.java
+
22
−
17
View file @
f034caed
...
...
@@ -140,10 +140,23 @@ public class QuestionService implements IQuestionService, ApplicationEventPublis
final
Question
result
=
databaseDao
.
saveQuestion
(
session
,
question
);
SortOrder
sortOrder
=
databaseDao
.
getSortOrder
(
session
.
get_id
(),
question
.
getQuestionVariant
(),
question
.
getSubject
());
if
(
sortOrder
!=
null
)
{
addQuestionToSortOrder
(
sortOrder
,
question
);
databaseDao
.
createOrUpdateSortOrder
(
sortOrder
);
SortOrder
subjectSortOrder
=
databaseDao
.
getSortOrder
(
session
.
get_id
(),
question
.
getQuestionVariant
(),
""
);
if
(
subjectSortOrder
!=
null
)
{
SortOrder
questionSortOrder
=
databaseDao
.
getSortOrder
(
session
.
get_id
(),
question
.
getQuestionVariant
(),
question
.
getSubject
());
if
(
questionSortOrder
==
null
)
{
List
<
String
>
s
=
new
ArrayList
<
String
>();
s
.
add
(
question
.
getSubject
());
SortOrder
newQSortOrder
=
new
SortOrder
();
newQSortOrder
.
setSessionId
(
question
.
get_id
());
newQSortOrder
.
setSortType
(
subjectSortOrder
.
getSortType
());
newQSortOrder
.
setQuestionVariant
(
subjectSortOrder
.
getQuestionVariant
());
newQSortOrder
.
setSortOrder
(
s
);
databaseDao
.
createOrUpdateSortOrder
(
newQSortOrder
);
addToSortOrder
(
subjectSortOrder
,
question
.
getSubject
());
}
else
{
addToSortOrder
(
questionSortOrder
,
question
.
get_id
());
}
}
final
NewQuestionEvent
event
=
new
NewQuestionEvent
(
this
,
session
,
result
);
...
...
@@ -589,11 +602,7 @@ public class QuestionService implements IQuestionService, ApplicationEventPublis
subjectSortOrder
=
createSortOrder
(
session
,
"lecture"
,
""
);
}
final
User
user
=
userService
.
getCurrentUser
();
if
(
session
.
isCreator
(
user
))
{
return
getQuestionsBySortOrder
(
subjectSortOrder
,
false
);
}
else
{
return
getQuestionsBySortOrder
(
subjectSortOrder
,
true
);
}
return
getQuestionsBySortOrder
(
subjectSortOrder
,
session
.
isCreator
(
user
));
}
@Override
...
...
@@ -617,11 +626,7 @@ public class QuestionService implements IQuestionService, ApplicationEventPublis
subjectSortOrder
=
createSortOrder
(
session
,
"preparation"
,
""
);
}
final
User
user
=
userService
.
getCurrentUser
();
if
(
session
.
isCreator
(
user
))
{
return
getQuestionsBySortOrder
(
subjectSortOrder
,
false
);
}
else
{
return
getQuestionsBySortOrder
(
subjectSortOrder
,
true
);
}
return
getQuestionsBySortOrder
(
subjectSortOrder
,
session
.
isCreator
(
user
));
}
private
Session
getSession
(
final
String
sessionkey
)
{
...
...
@@ -829,14 +834,14 @@ public class QuestionService implements IQuestionService, ApplicationEventPublis
return
sortOrder
.
getSortType
();
}
public
SortOrder
add
Question
ToSortOrder
(
SortOrder
sortOrder
,
Question
question
)
{
public
SortOrder
addToSortOrder
(
SortOrder
sortOrder
,
String
toBeAdded
)
{
List
<
String
>
tmpList
=
sortOrder
.
getSortOrder
();
tmpList
.
add
(
question
.
get_id
()
);
tmpList
.
add
(
toBeAdded
);
sortOrder
.
setSortOrder
(
tmpList
);
if
(
"alphabet"
.
equals
(
sortOrder
.
getSortType
()))
{
sortOrder
=
alphabeticalSort
(
sortOrder
);
}
return
sortOrder
;
return
databaseDao
.
createOrUpdateSortOrder
(
sortOrder
)
;
}
public
List
<
Question
>
getQuestionsBySortOrder
(
SortOrder
subjectSortOrder
,
boolean
onlyActive
)
{
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment