Skip to content
GitLab
Explore
Projects
Groups
Topics
Snippets
Projects
Groups
Topics
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Register
Sign in
Toggle navigation
Menu
UPSMF
UPHRH-lms-service
Commits
ace278e7
Unverified
Commit
ace278e7
authored
4 years ago
by
Mahesh Kumar Gangula
Committed by
GitHub
4 years ago
Browse files
Options
Download
Plain Diff
Merge pull request #341 from PradyumnaNagendra/release-3.8.0
Issue #SB-23777 fix: Update course batch issue fix
parents
0b75e596
96b8abbc
master
4.0.0_RC4
4.1.0-loadtest-fixes
SB-25890
SB-25890-1
bootcamp
collection-csv
dependabot/maven/course-mw/course-actors-common/com.fasterxml.jackson.core-jackson-databind-2.12.7.1
dependabot/maven/course-mw/course-actors-common/org.postgresql-postgresql-42.4.1
dependabot/maven/course-mw/enrolment-actor/com.fasterxml.jackson.core-jackson-databind-2.12.7.1
dependabot/maven/course-mw/sunbird-util/sunbird-cassandra-utils/com.fasterxml.jackson.core-jackson-databind-2.12.7.1
dependabot/maven/course-mw/sunbird-util/sunbird-notification/com.fasterxml.jackson.core-jackson-databind-2.12.7.1
dependabot/maven/course-mw/sunbird-util/sunbird-platform-core/actor-core/com.fasterxml.jackson.core-jackson-databind-2.12.7.1
dependabot/maven/course-mw/sunbird-util/sunbird-platform-core/actor-util/com.fasterxml.jackson.core-jackson-databind-2.12.7.1
dependabot/maven/course-mw/sunbird-util/sunbird-platform-core/auth-verifier/com.fasterxml.jackson.core-jackson-databind-2.12.7.1
dependabot/maven/course-mw/sunbird-util/sunbird-platform-core/common-util/com.fasterxml.jackson.core-jackson-databind-2.12.7.1
dependabot/maven/course-mw/sunbird-util/sunbird-platform-core/common-util/org.apache.kafka-kafka-clients-0.10.2.2
dependabot/maven/service/com.fasterxml.jackson.core-jackson-databind-2.12.7.1
helmchart
release-3.8.0
release-3.9.0
release-4.0.0
release-4.1.0
release-4.2.0
release-4.4.0
release-4.5.0
release-4.6.0
release-4.8.0
release-4.9.0
release-5.0.0
release-5.0.1
release-5.0.2
release-5.1.0
release-5.2.0
release-5.2.1
release-5.3.0
release-5.3.1
release-5.4.0
release-5.3.1_RC1
release-5.3.0_RC1
release-5.2.0_RC2
release-5.2.0_RC1
release-5.1.0_RC2
release-5.1.0_RC1
release-5.0.1_RC3
release-5.0.1_RC2
release-5.0.1_RC1
release-5.0.0_RC6
release-5.0.0_RC5
release-5.0.0_RC4
release-5.0.0_RC3
release-5.0.0_RC2
release-5.0.0_RC1
release-4.9.0_RC4
release-4.9.0_RC3
release-4.9.0_RC2
release-4.9.0_RC1
release-4.8.0_RC2
release-4.8.0_RC1
release-4.6.0_RC10
release-4.6.0_RC9
release-4.6.0_RC8
release-4.6.0_RC7
release-4.6.0_RC6
release-4.6.0_RC5
release-4.6.0_RC4
release-4.6.0_RC3
release-4.6.0_RC2
release-4.6.0_RC1
release-4.5.0_RC4
release-4.5.0_RC3
release-4.5.0_RC2
release-4.5.0_RC1
release-4.4.0_RC3
release-4.4.0_RC2
release-4.4.0_RC1
release-4.2.0_RC1
release-4.1.0_RC4
release-4.1.0_RC3
release-4.1.0_RC2
release-4.1.0_RC1
release-4.0.0_RC7
release-4.0.0_RC6
release-4.0.0_RC5
release-4.0.0_RC4
release-4.0.0_RC3
release-4.0.0_RC2
release-4.0.0_RC1
release-3.9.0_RC7
release-3.9.0_RC6
release-3.9.0_RC5
release-3.9.0_RC4
release-3.9.0_RC3
release-3.9.0_RC2
release-3.9.0_RC1
release-3.8.0_RC9
release-3.8.0_RC8
release-3.8.0_RC7
release-3.8.0_RC6
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
course-mw/course-actors-common/src/main/java/org/sunbird/learner/actors/search/SearchHandlerActor.java
+10
-8
...org/sunbird/learner/actors/search/SearchHandlerActor.java
course-mw/course-actors-common/src/main/java/org/sunbird/userorg/UserOrgServiceImpl.java
+5
-4
...src/main/java/org/sunbird/userorg/UserOrgServiceImpl.java
course-mw/course-actors/src/main/java/org/sunbird/learner/actors/coursebatch/CourseBatchManagementActor.java
+29
-24
...earner/actors/coursebatch/CourseBatchManagementActor.java
with
44 additions
and
36 deletions
+44
-36
course-mw/course-actors-common/src/main/java/org/sunbird/learner/actors/search/SearchHandlerActor.java
+
10
−
8
View file @
ace278e7
...
...
@@ -118,14 +118,16 @@ public class SearchHandlerActor extends BaseActor {
List
<
String
>
creatorIds
=
content
.
stream
().
filter
(
map
->
map
.
containsKey
(
CREATED_BY
)).
map
(
map
->
(
String
)
map
.
get
(
CREATED_BY
)).
collect
(
Collectors
.
toList
());
List
<
Map
<
String
,
Object
>>
userDetails
=
userOrgService
.
getUsersByIds
(
creatorIds
,
(
String
)
context
.
getOrDefault
(
JsonKey
.
X_AUTH_TOKEN
,
""
));
logger
.
info
(
requestContext
,
"SearchHandlerActor::populateCreatorDetails::userDetails : "
+
userDetails
);
List
<
Map
<
String
,
Object
>>
creatorDetails
=
userDetails
.
stream
().
map
(
user
->
new
HashMap
<
String
,
Object
>()
{{
put
(
JsonKey
.
ID
,
user
.
get
(
JsonKey
.
ID
));
put
(
JsonKey
.
FIRST_NAME
,
user
.
get
(
JsonKey
.
FIRST_NAME
));
put
(
JsonKey
.
LAST_NAME
,
user
.
get
(
JsonKey
.
LAST_NAME
));
}}).
collect
(
Collectors
.
toList
());
Map
<
String
,
Object
>
tempResult
=
CollectionUtils
.
isNotEmpty
(
creatorDetails
)
?
creatorDetails
.
stream
().
collect
(
Collectors
.
toMap
(
s
->
(
String
)
s
.
remove
(
"id"
),
s
->
s
))
:
new
HashMap
<>();
if
(
MapUtils
.
isNotEmpty
(
tempResult
))
{
content
.
stream
().
filter
(
map
->
tempResult
.
containsKey
(
map
.
get
(
CREATED_BY
))).
map
(
map
->
map
.
put
(
"creatorDetails"
,
tempResult
.
get
((
String
)
map
.
get
(
CREATED_BY
)))).
collect
(
Collectors
.
toList
());
if
(
CollectionUtils
.
isNotEmpty
(
userDetails
))
{
List
<
Map
<
String
,
Object
>>
creatorDetails
=
userDetails
.
stream
().
map
(
user
->
new
HashMap
<
String
,
Object
>()
{{
put
(
JsonKey
.
ID
,
user
.
get
(
JsonKey
.
ID
));
put
(
JsonKey
.
FIRST_NAME
,
user
.
get
(
JsonKey
.
FIRST_NAME
));
put
(
JsonKey
.
LAST_NAME
,
user
.
get
(
JsonKey
.
LAST_NAME
));
}}).
collect
(
Collectors
.
toList
());
Map
<
String
,
Object
>
tempResult
=
CollectionUtils
.
isNotEmpty
(
creatorDetails
)
?
creatorDetails
.
stream
().
collect
(
Collectors
.
toMap
(
s
->
(
String
)
s
.
remove
(
"id"
),
s
->
s
))
:
new
HashMap
<>();
if
(
MapUtils
.
isNotEmpty
(
tempResult
))
{
content
.
stream
().
filter
(
map
->
tempResult
.
containsKey
(
map
.
get
(
CREATED_BY
))).
map
(
map
->
map
.
put
(
"creatorDetails"
,
tempResult
.
get
((
String
)
map
.
get
(
CREATED_BY
)))).
collect
(
Collectors
.
toList
());
}
}
}
}
...
...
This diff is collapsed.
Click to expand it.
course-mw/course-actors-common/src/main/java/org/sunbird/userorg/UserOrgServiceImpl.java
+
5
−
4
View file @
ace278e7
...
...
@@ -5,6 +5,7 @@ import com.mashape.unirest.http.HttpMethod;
import
com.mashape.unirest.http.HttpResponse
;
import
com.mashape.unirest.http.Unirest
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.collections.MapUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.sunbird.common.exception.ProjectCommonException
;
import
org.sunbird.common.models.response.Response
;
...
...
@@ -176,16 +177,16 @@ public class UserOrgServiceImpl implements UserOrgService {
}
String
relativeUrl
=
getConfigValue
(
SUNBIRD_GET_SINGLE_USER_API
)
+
FORWARD_SLASH
+
id
;
Response
response
=
getUserOrgResponse
(
relativeUrl
,
HttpMethod
.
GET
,
requestMap
,
headers
);
if
(
response
!=
null
)
{
if
(
response
!=
null
&&
ResponseCode
.
OK
==
response
.
getResponseCode
()
)
{
return
(
Map
<
String
,
Object
>)
response
.
get
(
RESPONSE
);
}
return
n
ull
;
}
else
return
n
ew
HashMap
<>()
;
}
@Override
public
List
<
Map
<
String
,
Object
>>
getUsersByIds
(
List
<
String
>
ids
,
String
authToken
)
{
List
<
CompletableFuture
<
Map
<
String
,
Object
>>>
futures
=
ids
.
stream
().
map
(
id
->
getUserDetail
(
id
,
authToken
)).
collect
(
Collectors
.
toList
());
return
futures
.
stream
().
map
(
CompletableFuture:
:
join
).
collect
(
Collectors
.
toList
());
return
futures
.
stream
().
map
(
CompletableFuture:
:
join
).
filter
(
map
->
MapUtils
.
isNotEmpty
(
map
)).
collect
(
Collectors
.
toList
());
}
@Override
...
...
This diff is collapsed.
Click to expand it.
course-mw/course-actors/src/main/java/org/sunbird/learner/actors/coursebatch/CourseBatchManagementActor.java
+
29
−
24
View file @
ace278e7
...
...
@@ -356,34 +356,39 @@ public class CourseBatchManagementActor extends BaseActor {
private
void
validateMentors
(
CourseBatch
courseBatch
,
String
authToken
,
RequestContext
requestContext
)
{
List
<
String
>
mentors
=
courseBatch
.
getMentors
();
if
(
CollectionUtils
.
isNotEmpty
(
mentors
))
{
mentors
=
mentors
.
stream
().
distinct
().
collect
(
Collectors
.
toList
());
courseBatch
.
setMentors
(
mentors
);
String
batchCreatorRootOrgId
=
getRootOrg
(
courseBatch
.
getCreatedBy
(),
authToken
);
List
<
Map
<
String
,
Object
>>
mentorDetailList
=
userOrgService
.
getUsersByIds
(
mentors
,
authToken
);
logger
.
info
(
requestContext
,
"CourseBatchManagementActor::validateMentors::mentorDetailList : "
+
mentorDetailList
);
Map
<
String
,
Map
<
String
,
Object
>>
mentorDetails
=
mentorDetailList
.
stream
()
.
collect
(
Collectors
.
toMap
(
map
->
(
String
)
map
.
get
(
JsonKey
.
ID
),
map
->
map
));
for
(
String
userId
:
mentors
)
{
Map
<
String
,
Object
>
result
=
mentorDetails
.
get
(
userId
);
String
mentorRootOrgId
=
getRootOrgFromUserMap
(
result
);
if
(!
batchCreatorRootOrgId
.
equals
(
mentorRootOrgId
))
{
throw
new
ProjectCommonException
(
ResponseCode
.
userNotAssociatedToRootOrg
.
getErrorCode
(),
ResponseCode
.
userNotAssociatedToRootOrg
.
getErrorMessage
(),
ResponseCode
.
CLIENT_ERROR
.
getResponseCode
(),
userId
);
}
if
((
ProjectUtil
.
isNull
(
result
))
||
(
ProjectUtil
.
isNotNull
(
result
)
&&
result
.
isEmpty
())
||
(
ProjectUtil
.
isNotNull
(
result
)
&&
result
.
containsKey
(
JsonKey
.
IS_DELETED
)
&&
ProjectUtil
.
isNotNull
(
result
.
get
(
JsonKey
.
IS_DELETED
))
&&
(
Boolean
)
result
.
get
(
JsonKey
.
IS_DELETED
)))
{
throw
new
ProjectCommonException
(
ResponseCode
.
invalidUserId
.
getErrorCode
(),
ResponseCode
.
invalidUserId
.
getErrorMessage
(),
ResponseCode
.
CLIENT_ERROR
.
getResponseCode
());
if
(
CollectionUtils
.
isNotEmpty
(
mentorDetailList
)){
Map
<
String
,
Map
<
String
,
Object
>>
mentorDetails
=
mentorDetailList
.
stream
().
collect
(
Collectors
.
toMap
(
map
->
(
String
)
map
.
get
(
JsonKey
.
ID
),
map
->
map
));
for
(
String
mentorId:
mentors
)
{
Map
<
String
,
Object
>
result
=
mentorDetails
.
getOrDefault
(
mentorId
,
new
HashMap
<>());
if
(
MapUtils
.
isEmpty
(
result
)
||
(
result
.
containsKey
(
JsonKey
.
IS_DELETED
)
&&
(
Boolean
)
result
.
get
(
JsonKey
.
IS_DELETED
)))
{
throw
new
ProjectCommonException
(
ResponseCode
.
invalidUserId
.
getErrorCode
(),
ResponseCode
.
invalidUserId
.
getErrorMessage
(),
ResponseCode
.
CLIENT_ERROR
.
getResponseCode
());
}
else
{
String
mentorRootOrgId
=
getRootOrgFromUserMap
(
result
);
if
(!
batchCreatorRootOrgId
.
equals
(
mentorRootOrgId
))
{
throw
new
ProjectCommonException
(
ResponseCode
.
userNotAssociatedToRootOrg
.
getErrorCode
(),
ResponseCode
.
userNotAssociatedToRootOrg
.
getErrorMessage
(),
ResponseCode
.
CLIENT_ERROR
.
getResponseCode
(),
mentorId
);
}
}
}
}
else
{
logger
.
info
(
requestContext
,
"Invalid mentors for batchId: "
+
courseBatch
.
getBatchId
()
+
", mentors: "
+
mentors
);
throw
new
ProjectCommonException
(
ResponseCode
.
invalidUserId
.
getErrorCode
(),
ResponseCode
.
invalidUserId
.
getErrorMessage
(),
ResponseCode
.
CLIENT_ERROR
.
getResponseCode
());
}
}
}
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
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
Menu
Explore
Projects
Groups
Topics
Snippets