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
knowledge-platform
Commits
66b603f8
Unverified
Commit
66b603f8
authored
5 years ago
by
Mahesh Kumar Gangula
Committed by
GitHub
5 years ago
Browse files
Options
Download
Plain Diff
Merge pull request #220 from PradyumnaNagendra/SB-18415
Sb 18415
parents
9ba70dd7
c460460b
taxonomy-api
3.9.0-prod-fix
4.1.0_fixes
AmiableAnil-patch-1
Gcloud_copy
Gcloud_fix
Remove_unwantedCode_Gcloud_fix
actors-test
bulk-upload-comptenecy-mapping
bulk-upload-excelsheet
bulk-upload-test_excel
bulk_upload
code-cleanup
csp-migration
dependabot/maven/platform-core/platform-telemetry/ch.qos.logback-logback-core-1.2.9
dependabot/maven/search-api/search-core/org.apache.httpcomponents-httpclient-4.5.13
flag-api
ft-spike
knowlg-friday
knowlg-oneclick
loadtest-release-2.10
local-setup-fix
local-setup-kube
m-4.2.0
master
master-data
neo4j-3.4.9
neo4j-4-code
new_objecttype
org-target-enhancement
patch-1
patch-2
patch-3
poc_bulk_upload
qs-schema
rahul_bulk_upload_postgres
release-2.10.0
release-2.9.0
release-3.0.0
release-3.0.1
release-3.1.0
release-3.2.0
release-3.3.0
release-3.4.0
release-3.5.0
release-3.6.0
release-3.6.0.1
release-3.7.0
release-3.8.0
release-3.9.0
release-4.0.0
release-4.1.0
release-4.10.0
release-4.10.1
release-4.2.0
release-4.3.0
release-4.4.0
release-4.5.0
release-4.6.0
release-4.7.0
release-4.7.0-debug
release-4.8.0
release-4.8.0-debug
release-4.9.0
release-4.9.1
release-5.0.0
release-5.0.1
release-5.1.0
release-5.1.0-content
release-5.2.0
release-5.3.0
retire-api
revert-718-visiblity-private-api
revert-719-assessment-private-read-api
revert-720-visiblity-public-search-api
revert-721-visiblity-private-search-api
review-4.1.0
s-debug
schema-update-4.0
schema-updates
release-5.2.0_RC2
release-5.2.0_RC1
release-5.1.0_RC1
release-5.0.0_RC2
release-5.0.0_RC1
release-4.10.0_RC2
release-4.10.0_RC1
release-4.9.1_RC1
release-4.9.0_RC8
release-4.9.0_RC7
release-4.9.0_RC6
release-4.9.0_RC5
release-4.9.0_RC4
release-4.9.0_RC3
release-4.9.0_RC2
release-4.9.0_RC1
release-4.8.0_RC5
release-4.8.0_RC4
release-4.8.0_RC3
release-4.8.0_RC2
release-4.8.0_RC1
release-4.7.0_RC6
release-4.7.0_RC5
release-4.7.0_RC4
release-4.7.0_RC3
release-4.7.0_RC2
release-4.7.0_RC1
release-4.6.0_RC2
release-4.6.0_RC1
release-4.5.0_RC2
release-4.5.0_RC1
release-4.4.0_RC6
release-4.4.0_RC5
release-4.4.0_RC4
release-4.4.0_RC3
release-4.4.0_RC2
release-4.4.0_RC1
release-4.3.0_RC10
release-4.3.0_RC9
release-4.3.0_RC8
release-4.3.0_RC7
release-4.3.0_RC6
release-4.3.0_RC5
release-4.3.0_RC4
release-4.3.0_RC3
release-4.3.0_RC2
release-4.3.0_RC1
release-4.2.0_RC13
release-4.2.0_RC12
release-4.2.0_RC11
release-4.2.0_RC10
release-4.2.0_RC9
release-4.2.0_RC8
release-4.2.0_RC7
release-4.2.0_RC6
release-4.2.0_RC5
release-4.2.0_RC4
release-4.2.0_RC3
release-4.2.0_RC2
release-4.2.0_RC1
release-4.1.0_RC13
release-4.1.0_RC12
release-4.1.0_RC11
release-4.1.0_RC10
release-4.1.0_RC9
release-4.1.0_RC8
release-4.1.0_RC7
release-4.1.0_RC6
release-4.1.0_RC5
release-4.1.0_RC4
release-4.1.0_RC3
release-4.1.0_RC2
release-4.1.0_RC1
release-4.0.0_RC9
release-4.0.0_RC8
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_RC12
release-3.9.0_RC11
release-3.9.0_RC10
release-3.9.0_RC9
release-3.9.0_RC8
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
release-3.8.0_RC5
release-3.8.0_RC4
release-3.8.0_RC3
release-3.8.0_RC2
release-3.8.0_RC1
release-3.7.0_RC1
release-3.6.0_RC5
release-3.6.0_RC4
release-3.6.0_RC3
release-3.6.0_RC2
release-3.6.0_RC1
release-3.5.0
release-3.5.0_RC2
release-3.5.0_RC1
release-3.4.0
release-3.4.0_RC2
release-3.4.0_RC1
release-3.3.0_RC10
release-3.3.0_RC9
release-3.3.0_RC8
release-3.3.0_RC7
release-3.3.0_RC6
release-3.3.0_RC5
release-3.3.0_RC4
release-3.3.0_RC3
release-3.3.0_RC2
release-3.3.0_RC1
release-3.2.0_RC9
release-3.2.0_RC8
release-3.2.0_RC7
release-3.2.0_RC6
release-3.2.0_RC5
release-3.2.0_RC4
release-3.2.0_RC3
release-3.2.0_RC2
release-3.2.0_RC1
release-3.1.0
release-3.1.0_RC8
release-3.1.0_RC7
release-3.1.0_RC6
release-3.1.0_RC5
release-3.1.0_RC4
release-3.1.0_RC3
release-3.1.0_RC2
release-3.1.0_RC1
release-3.0.1_RC3
release-3.0.1_RC2
release-3.0.1_RC1
release-3.0.0
release-3.0.0_RC11
release-3.0.0_RC10
release-3.0.0_RC9
release-3.0.0_RC8
release-3.0.0_RC7
release-3.0.0_RC6
release-3.0.0_RC5
release-3.0.0_RC4
release-3.0.0_RC3
release-3.0.0_RC2
release-3.0.0_RC1
release-2.10.0
release-2.10.0_RC19
release-2.10.0_RC18
release-2.10.0_RC17
release-2.10.0_RC16
release-2.10.0_RC15
release-2.10.0_RC14
release-2.10.0_RC13
release-2.10.0_RC12
release-2.10.0_RC11
release-2.10.0_RC10
release-2.10.0_RC9
release-2.10.0_RC8
release-2.10.0_RC7
release-2.10.0_RC6
release-2.10.0_RC5
release-2.10.0_RC4
release-2.10.0_RC3
release-2.10.0_RC2
release-2.10.0_RC1
release-2.9.0_RC9
release-2.9.0_RC8
release-2.9.0_RC7
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
content-api/content-service/app/controllers/v3/ContentController.scala
+10
-0
...ontent-service/app/controllers/v3/ContentController.scala
content-api/content-service/conf/routes
+1
-0
content-api/content-service/conf/routes
content-api/hierarchy-manager/src/main/scala/org/sunbird/managers/HierarchyManager.scala
+24
-28
...rc/main/scala/org/sunbird/managers/HierarchyManager.scala
with
35 additions
and
28 deletions
+35
-28
content-api/content-service/app/controllers/v3/ContentController.scala
+
10
−
0
View file @
66b603f8
...
...
@@ -100,6 +100,16 @@ class ContentController @Inject()(@Named(ActorNames.CONTENT_ACTOR) contentActor:
getResult
(
ApiId
.
GET_HIERARCHY
,
collectionActor
,
readRequest
)
}
def
getBookmarkHierarchy
(
identifier
:
String
,
bookmarkId
:
String
,
mode
:
Option
[
String
])
=
Action
.
async
{
implicit
request
=>
val
headers
=
commonHeaders
()
val
content
=
new
java
.
util
.
HashMap
().
asInstanceOf
[
java.util.Map
[
String
,
Object
]]
content
.
putAll
(
headers
)
content
.
putAll
(
Map
(
"rootId"
->
identifier
,
"bookmarkId"
->
bookmarkId
,
"mode"
->
mode
.
getOrElse
(
""
)))
val
readRequest
=
getRequest
(
content
,
headers
,
"getHierarchy"
)
setRequestContext
(
readRequest
,
version
,
objectType
,
null
)
getResult
(
ApiId
.
GET_HIERARCHY
,
collectionActor
,
readRequest
)
}
def
flag
(
identifier
:
String
)
=
Action
.
async
{
implicit
request
=>
val
result
=
ResponseHandler
.
OK
()
val
response
=
JavaJsonUtils
.
serialize
(
result
)
...
...
This diff is collapsed.
Click to expand it.
content-api/content-service/conf/routes
+
1
−
0
View file @
66b603f8
...
...
@@ -30,6 +30,7 @@ PATCH /content/v3/hierarchy/add controllers.v3.ContentController.add
DELETE /content/v3/hierarchy/remove controllers.v3.ContentController.removeHierarchy
PATCH /content/v3/hierarchy/update controllers.v3.ContentController.updateHierarchy
GET /content/v3/hierarchy/:identifier controllers.v3.ContentController.getHierarchy(identifier:String, mode:Option[String])
GET /content/v3/hierarchy/:identifier/:bookmarkId controllers.v3.ContentController.getBookmarkHierarchy(identifier: String, bookmarkId: String, mode: Option[String])
POST /content/v3/upload/:identifier controllers.v3.ContentController.upload(identifier:String)
POST /content/v3/copy/:identifier controllers.v3.ContentController.copy(identifier:String, mode:Option[String], type:String ?= "deep")
...
...
This diff is collapsed.
Click to expand it.
content-api/hierarchy-manager/src/main/scala/org/sunbird/managers/HierarchyManager.scala
+
24
−
28
View file @
66b603f8
...
...
@@ -127,16 +127,16 @@ object HierarchyManager {
if
(
StringUtils
.
equalsIgnoreCase
(
"Retired"
,
rootNode
.
getMetadata
.
getOrDefault
(
"status"
,
""
).
asInstanceOf
[
String
]))
{
Future
(
ResponseHandler
.
ERROR
(
ResponseCode
.
RESOURCE_NOT_FOUND
,
ResponseCode
.
RESOURCE_NOT_FOUND
.
name
(),
"rootId "
+
request
.
get
(
"rootId"
)
+
" does not exist"
))
}
/*if (StringUtils.isNotEmpty(rootNode.getMetadata.getOrDefault("variants", "").asInstanceOf[String])) {
rootNode.getMetadata().put("variants", mapAsJavaMap(JsonUtils.deserialize(rootNode.getMetadata().get("variants").asInstanceOf[String], classOf[java.util.Map[String, AnyRef]]).toMap))
}*/
val
metadata
:
util.Map
[
String
,
AnyRef
]
=
NodeUtil
.
serialize
(
rootNode
,
new
util
.
ArrayList
[
String
](),
request
.
getContext
.
get
(
"schemaName"
).
asInstanceOf
[
String
],
request
.
getContext
.
get
(
"version"
).
asInstanceOf
[
String
])
val
bookmarkId
=
request
.
get
(
"bookmarkId"
).
asInstanceOf
[
String
]
var
metadata
:
util.Map
[
String
,
AnyRef
]
=
NodeUtil
.
serialize
(
rootNode
,
new
util
.
ArrayList
[
String
](),
request
.
getContext
.
get
(
"schemaName"
).
asInstanceOf
[
String
],
request
.
getContext
.
get
(
"version"
).
asInstanceOf
[
String
])
val
hierarchy
=
fetchHierarchy
(
request
,
rootNode
.
getIdentifier
)
hierarchy
.
map
(
hierarchy
=>
{
if
(!
hierarchy
.
isEmpty
&&
CollectionUtils
.
isNotEmpty
(
hierarchy
.
getOrDefault
(
"children"
,
""
).
asInstanceOf
[
util.ArrayList
[
java.util.Map
[
String
,
AnyRef
]]]))
metadata
.
put
(
"children"
,
hierarchy
.
getOrDefault
(
"children"
,
new
util
.
ArrayList
[
java.util.Map
[
String
,
AnyRef
]]).
asInstanceOf
[
util.ArrayList
[
java.util.Map
[
String
,
AnyRef
]]])
metadata
.
put
(
"identifier"
,
request
.
get
(
"rootId"
))
if
(
StringUtils
.
isNotEmpty
(
bookmarkId
))
metadata
=
filterBookmarkHierarchy
(
metadata
.
get
(
"children"
).
asInstanceOf
[
util.List
[
util.HashMap
[
String
,
AnyRef
]]],
bookmarkId
)
response
.
put
(
"content"
,
metadata
)
response
})
...
...
@@ -386,22 +386,20 @@ object HierarchyManager {
if
(!
hierarchy
.
isEmpty
)
{
if
(
StringUtils
.
isNoneEmpty
(
hierarchy
.
getOrDefault
(
"status"
,
""
).
asInstanceOf
[
String
])
&&
statusList
.
contains
(
hierarchy
.
getOrDefault
(
"status"
,
""
).
asInstanceOf
[
String
])
&&
CollectionUtils
.
isNotEmpty
(
mapAsJavaMap
(
hierarchy
).
get
(
"children"
).
asInstanceOf
[
util.ArrayList
[
util.HashMap
[
String
,
AnyRef
]]]))
{
val
bookmarkHierarchy
=
filterBookmarkHierarchy
(
mapAsJavaMap
(
hierarchy
).
get
(
"children"
).
asInstanceOf
[
util.ArrayList
[
util.HashMap
[
String
,
AnyRef
]]],
request
.
get
(
"rootId"
).
asInstanceOf
[
String
])
bookmarkHierarchy
.
map
(
hierarchy
=>
{
if
(!
hierarchy
.
isEmpty
)
{
rootHierarchy
.
put
(
"content"
,
hierarchy
)
RedisCache
.
set
(
hierarchyPrefix
+
request
.
get
(
"rootId"
),
JsonUtils
.
serialize
(
new
util
.
HashMap
[
String
,
AnyRef
](
hierarchy
)))
Future
(
rootHierarchy
)
}
else
{
Future
(
new
util
.
HashMap
[
String
,
AnyRef
]())
}
}).
flatMap
(
f
=>
f
)
if
(!
bookmarkHierarchy
.
isEmpty
)
{
rootHierarchy
.
put
(
"content"
,
hierarchy
)
RedisCache
.
set
(
hierarchyPrefix
+
request
.
get
(
"rootId"
),
JsonUtils
.
serialize
(
new
util
.
HashMap
[
String
,
AnyRef
](
bookmarkHierarchy
)))
rootHierarchy
}
else
{
new
util
.
HashMap
[
String
,
AnyRef
]()
}
}
else
{
Future
(
new
util
.
HashMap
[
String
,
AnyRef
]()
)
new
util
.
HashMap
[
String
,
AnyRef
]()
}
}
else
{
Future
(
new
util
.
HashMap
[
String
,
AnyRef
]()
)
new
util
.
HashMap
[
String
,
AnyRef
]()
}
})
.
flatMap
(
f
=>
f
)
})
}
else
{
Future
(
new
util
.
HashMap
[
String
,
AnyRef
]())
}
...
...
@@ -447,11 +445,11 @@ object HierarchyManager {
}
}
def
filterBookmarkHierarchy
(
children
:
util.List
[
util.HashMap
[
String
,
AnyRef
]],
bookmarkId
:
String
)(
implicit
ec
:
ExecutionContext
)
:
Future
[
util.HashMap
[
String
,
AnyRef
]
]
=
{
def
filterBookmarkHierarchy
(
children
:
util.List
[
util.HashMap
[
String
,
AnyRef
]],
bookmarkId
:
String
)(
implicit
ec
:
ExecutionContext
)
:
util.HashMap
[
String
,
AnyRef
]
=
{
if
(
CollectionUtils
.
isNotEmpty
(
children
))
{
val
response
=
children
.
filter
(
_
.
get
(
"identifier"
)
==
bookmarkId
).
toList
if
(
CollectionUtils
.
isNotEmpty
(
response
))
{
Future
(
response
.
get
(
0
)
)
response
.
get
(
0
)
}
else
{
val
nextChildren
=
bufferAsJavaList
(
children
.
flatMap
(
child
=>
{
if
(!
child
.
isEmpty
&&
CollectionUtils
.
isNotEmpty
(
child
.
get
(
"children"
).
asInstanceOf
[
util.ArrayList
[
util.HashMap
[
String
,
AnyRef
]]]))
...
...
@@ -461,7 +459,7 @@ object HierarchyManager {
filterBookmarkHierarchy
(
nextChildren
,
bookmarkId
)
}
}
else
{
Future
(
new
util
.
HashMap
[
String
,
AnyRef
]()
)
new
util
.
HashMap
[
String
,
AnyRef
]()
}
}
...
...
@@ -471,17 +469,15 @@ object HierarchyManager {
parentHierarchy
.
map
(
hierarchy
=>
{
if
(!
hierarchy
.
isEmpty
&&
CollectionUtils
.
isNotEmpty
(
mapAsJavaMap
(
hierarchy
).
get
(
"children"
).
asInstanceOf
[
util.ArrayList
[
util.HashMap
[
String
,
AnyRef
]]]))
{
val
bookmarkHierarchy
=
filterBookmarkHierarchy
(
mapAsJavaMap
(
hierarchy
).
get
(
"children"
).
asInstanceOf
[
util.ArrayList
[
util.HashMap
[
String
,
AnyRef
]]],
request
.
get
(
"rootId"
).
asInstanceOf
[
String
])
bookmarkHierarchy
.
map
(
hierarchy
=>
{
if
(!
hierarchy
.
isEmpty
)
{
hierarchy
}
else
{
new
util
.
HashMap
[
String
,
AnyRef
]()
}
})
if
(!
bookmarkHierarchy
.
isEmpty
)
{
bookmarkHierarchy
}
else
{
new
util
.
HashMap
[
String
,
AnyRef
]()
}
}
else
{
Future
(
new
util
.
HashMap
[
String
,
AnyRef
]()
)
new
util
.
HashMap
[
String
,
AnyRef
]()
}
})
.
flatMap
(
f
=>
f
)
})
}
else
{
Future
(
new
util
.
HashMap
[
String
,
AnyRef
]())
}
...
...
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