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
dad2a0e6
Commit
dad2a0e6
authored
5 years ago
by
neha
Browse files
Options
Download
Patches
Plain Diff
backward compatibility shifted from datanode to contentactor
parent
91dc829d
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
devcon-2020
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.7.0
release-2.8.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
release-2.9.0_RC6
release-2.9.0_RC5
release-2.9.0_RC4
release-2.9.0_RC3
release-2.9.0_RC2
release-2.9.0_RC1
release-2.8.0
release-2.8.0_RC7
release-2.8.0_RC6
release-2.8.0_RC5
release-2.8.0_RC4
release-2.8.0_RC3
release-2.7.0
release-2.7.0_RC10
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
learning-api/orchestrator/src/main/java/org/sunbird/actors/ContentActor.java
+49
-0
...trator/src/main/java/org/sunbird/actors/ContentActor.java
ontology-engine/graph-engine_2.11/src/main/scala/org/sunbird/graph/nodes/DataNode.scala
+1
-36
....11/src/main/scala/org/sunbird/graph/nodes/DataNode.scala
with
50 additions
and
36 deletions
+50
-36
learning-api/orchestrator/src/main/java/org/sunbird/actors/ContentActor.java
+
49
−
0
View file @
dad2a0e6
...
...
@@ -15,10 +15,13 @@ import org.sunbird.graph.utils.NodeUtil;
import
org.sunbird.utils.RequestUtils
;
import
scala.concurrent.Future
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
import
org.sunbird.common.Platform
;
import
static
java
.
util
.
stream
.
Collectors
.
toList
;
public
class
ContentActor
extends
BaseActor
{
...
...
@@ -75,6 +78,9 @@ public class ContentActor extends BaseActor {
.
map
(
new
Mapper
<
Node
,
Response
>()
{
@Override
public
Response
apply
(
Node
node
)
{
// Added for backward compatibility in mobile
if
(!
StringUtils
.
isEmpty
((
String
)
request
.
getRequest
().
get
(
"mode"
))
&&
!
StringUtils
.
equals
(
"edit"
,
(
String
)
request
.
getRequest
().
get
(
"mode"
)))
updateContentTaggedProperty
(
node
);
Map
<
String
,
Object
>
metadata
=
NodeUtil
.
serialize
(
node
,
fields
,
(
String
)
request
.
getContext
().
get
(
"schemaName"
),
(
String
)
request
.
getContext
().
get
(
"version"
));
metadata
.
put
(
"identifier"
,
node
.
getIdentifier
().
replace
(
".img"
,
""
));
Response
response
=
ResponseHandler
.
OK
();
...
...
@@ -131,4 +137,47 @@ public class ContentActor extends BaseActor {
}
}
/**
*
* @param node
*/
private
void
updateContentTaggedProperty
(
Node
node
)
{
Boolean
contentTaggingFlag
=
Platform
.
config
.
hasPath
(
"content.tagging.backward_enable"
)?
Platform
.
config
.
getBoolean
(
"content.tagging.backward_enable"
):
false
;
if
(
contentTaggingFlag
)
{
List
<
String
>
contentTaggedKeys
=
Platform
.
config
.
hasPath
(
"content.tagging.property"
)
?
Arrays
.
asList
(
Platform
.
config
.
getString
(
"content.tagging.property"
).
split
(
","
)):
new
ArrayList
<>(
Arrays
.
asList
(
"subject"
,
"medium"
));
contentTaggedKeys
.
forEach
(
contentTagKey
->
{
if
(
node
.
getMetadata
().
containsKey
(
contentTagKey
))
{
List
<
String
>
prop
=
prepareList
(
node
.
getMetadata
().
get
(
contentTagKey
));
node
.
getMetadata
().
put
(
contentTagKey
,
prop
.
get
(
0
));
}
});
}
}
/**
*
* @param obj
* @return
*/
private
static
List
<
String
>
prepareList
(
Object
obj
)
{
List
<
String
>
list
=
new
ArrayList
<
String
>();
try
{
if
(
obj
instanceof
String
)
{
list
.
add
((
String
)
obj
);
}
else
if
(
obj
instanceof
String
[])
{
list
=
Arrays
.
asList
((
String
[])
obj
);
}
else
if
(
obj
instanceof
List
){
list
.
addAll
((
List
<
String
>)
obj
);
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
if
(
null
!=
list
)
{
list
=
list
.
stream
().
filter
(
x
->
org
.
apache
.
commons
.
lang3
.
StringUtils
.
isNotBlank
(
x
)
&&
!
org
.
apache
.
commons
.
lang3
.
StringUtils
.
equals
(
" "
,
x
)).
collect
(
toList
());
}
return
list
;
}
}
This diff is collapsed.
Click to expand it.
ontology-engine/graph-engine_2.11/src/main/scala/org/sunbird/graph/nodes/DataNode.scala
+
1
−
36
View file @
dad2a0e6
...
...
@@ -17,7 +17,6 @@ import org.sunbird.parseq.Task
import
scala.collection.JavaConversions._
import
scala.concurrent.
{
ExecutionContext
,
Future
}
import
org.sunbird.common.Platform
object
DataNode
{
...
...
@@ -57,15 +56,10 @@ object DataNode {
resultNode
.
map
(
node
=>
{
val
fields
:
List
[
String
]
=
Optional
.
ofNullable
(
request
.
get
(
"fields"
).
asInstanceOf
[
util.List
[
String
]]).
orElse
(
new
util
.
ArrayList
[
String
]()).
toList
val
extPropNameList
=
DefinitionNode
.
getExternalProps
(
request
.
getContext
.
get
(
"graph_id"
).
asInstanceOf
[
String
],
request
.
getContext
.
get
(
"version"
).
asInstanceOf
[
String
],
schemaName
)
val
finalNodeFuture
:
Future
[
Node
]
=
if
(
CollectionUtils
.
isNotEmpty
(
extPropNameList
)
&&
null
!=
fields
&&
fields
.
exists
(
field
=>
extPropNameList
.
contains
(
field
)))
if
(
CollectionUtils
.
isNotEmpty
(
extPropNameList
)
&&
null
!=
fields
&&
fields
.
exists
(
field
=>
extPropNameList
.
contains
(
field
)))
populateExternalProperties
(
fields
,
node
,
request
,
extPropNameList
)
else
Future
(
node
)
val
isBackwardCompatible
=
if
(
Platform
.
config
.
hasPath
(
"content.tagging.backward_enable"
))
Platform
.
config
.
getBoolean
(
"content.tagging.backward_enable"
)
else
false
if
(
isBackwardCompatible
&&
!
StringUtils
.
equalsIgnoreCase
(
request
.
get
(
"mode"
).
asInstanceOf
[
String
],
"edit"
))
finalNodeFuture
.
map
(
node
=>
updateContentTaggedProperty
(
node
)).
flatMap
(
f
=>
f
)
else
finalNodeFuture
}).
flatMap
(
f
=>
f
)
recoverWith
{
case
e
:
CompletionException
=>
throw
e
.
getCause
}
}
...
...
@@ -164,33 +158,4 @@ object DataNode {
}
list
}
/**
* To support backward compatibility to mobile team.
* @param node
* @param ec
* @return
*/
@Deprecated
private
def
updateContentTaggedProperty
(
node
:
Node
)(
implicit
ec
:
ExecutionContext
)
:
Future
[
Node
]
=
{
val
contentTaggedKeys
=
if
(
Platform
.
config
.
hasPath
(
"content.tagging.property"
))
(
for
(
prop
<-
Platform
.
config
.
getString
(
"content.tagging.property"
).
split
(
","
))
yield
prop
)
(
collection
.
breakOut
)
else
List
(
"subject"
,
"medium"
)
contentTaggedKeys
.
map
(
prop
=>
populateContentTaggedProperty
(
prop
,
node
.
getMetadata
.
getOrDefault
(
prop
,
""
),
node
))
Future
{
node
}
}
private
def
populateContentTaggedProperty
(
key
:
String
,
value
:
Any
,
node
:
Node
)(
implicit
ec
:
ExecutionContext
)
:
Future
[
Node
]
=
{
val
contentValue
:
String
=
value
match
{
case
v
:
String
=>
v
.
asInstanceOf
[
String
]
case
v
:
List
[
Any
]
=>
v
.
head
.
asInstanceOf
[
String
]
case
v
:
Array
[
String
]
=>
v
.
head
}
if
(!
StringUtils
.
isAllBlank
(
contentValue
))
node
.
getMetadata
.
put
(
key
,
contentValue
)
else
node
.
getMetadata
.
remove
(
key
)
Future
(
node
)
}
}
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