Commit 61e0939d authored by Anil Kumar Gupta's avatar Anil Kumar Gupta
Browse files

Issue #KN-439 feat: Added the variable for relative_path_prefix

No related merge requests found
Showing with 17 additions and 12 deletions
+17 -12
......@@ -760,6 +760,7 @@ cloud_storage_container=""
cloud_storage_endpoint=""
cloudstorage.metadata.replace_absolute_path=false
cloudstorage.relative_path_prefix= "CONTENT_STORAGE_BASE_PATH"
cloudstorage.read_base_path="https://sunbirddev.blob.core.windows.net"
cloudstorage.write_base_path=["https://sunbirddev.blob.core.windows.net"]
cloudstorage.metadata.list=["appIcon","posterImage","artifactUrl","downloadUrl","variants","previewUrl","pdfUrl", "streamingUrl", "toc_url"]
......@@ -13,13 +13,15 @@ object CSPMetaUtil {
private[this] val logger = LoggerFactory.getLogger(classOf[CSPMetaUtil])
def updateAbsolutePath(data: java.util.Map[String, AnyRef]): java.util.Map[String, AnyRef] = {
logger.info("CSPMetaUtil ::: updateAbsolutePath util.Map[String, AnyRef] ::: data before url replace :: " + data)
val relativePathPrefix: String = Platform.getString("cloudstorage.relative_path_prefix", "")
val cspMeta = Platform.getStringList("cloudstorage.metadata.list", new java.util.ArrayList[String]()).asScala.toList
val absolutePath = Platform.getString("cloudstorage.read_base_path", "") + java.io.File.separator + Platform.getString("cloud_storage_container", "")
if (MapUtils.isNotEmpty(data)) {
val updatedMeta: java.util.Map[String, AnyRef] = new java.util.HashMap[String, AnyRef]
data.asScala.map(x =>
if (cspMeta.contains(x._1))
updatedMeta.put(x._1, x._2.asInstanceOf[String].replace("CLOUD_STORAGE_BASE_PATH", absolutePath))
updatedMeta.put(x._1, x._2.asInstanceOf[String].replace(relativePathPrefix, absolutePath))
else updatedMeta.put(x._1, x._2)
).asJava
updatedMeta
......@@ -39,13 +41,14 @@ object CSPMetaUtil {
}
def updateAbsolutePath(property: Property): Property = {
val relativePathPrefix: String = Platform.getString("cloudstorage.relative_path_prefix", "")
val cspMeta = Platform.getStringList("cloudstorage.metadata.list", new java.util.ArrayList[String]())
val absolutePath = Platform.getString("cloudstorage.read_base_path", "") + java.io.File.separator + Platform.getString("cloud_storage_container", "")
if(cspMeta.contains(property.getPropertyName)) {
val value = property.getPropertyValue
value match {
case str: String =>
property.setPropertyValue(str.replace("CLOUD_STORAGE_BASE_PATH", absolutePath))
property.setPropertyValue(str.replace(relativePathPrefix, absolutePath))
case _ =>
}
}
......@@ -54,10 +57,11 @@ object CSPMetaUtil {
def updateRelativePath(data: java.util.Map[String, AnyRef]): java.util.Map[String, AnyRef] = {
logger.info("CSPMetaUtil ::: updateRelativePath util.Map[String, AnyRef] ::: data before url replace :: " + data)
val relativePathPrefix: String = Platform.getString("cloudstorage.relative_path_prefix", "")
val cspMeta: java.util.List[String] = Platform.getStringList("cloudstorage.metadata.list", new java.util.ArrayList[String]())
val validCSPSource: List[String] = Platform.getStringList("cloudstorage.write_base_path", new java.util.ArrayList[String]()).asScala.toList
val basePaths: Array[String] = validCSPSource.map(source => source + java.io.File.separator + Platform.getString("cloud_storage_container", "")).toArray
val repArray = getReplacementData(basePaths, "CLOUD_STORAGE_BASE_PATH")
val repArray = getReplacementData(basePaths, relativePathPrefix)
val result = if (MapUtils.isNotEmpty(data)) {
val updatedMeta: java.util.Map[String, AnyRef] = new java.util.HashMap[String, AnyRef]
data.asScala.map(x =>
......@@ -73,9 +77,10 @@ object CSPMetaUtil {
def saveExternalRelativePath(data: java.util.Map[String, AnyRef]): java.util.Map[String, AnyRef] = {
logger.info("CSPMetaUtil ::: saveExternalRelativePath util.Map[String, AnyRef] ::: data before url replace :: " + data)
val relativePathPrefix: String = Platform.getString("cloudstorage.relative_path_prefix", "")
val validCSPSource: List[String] = Platform.getStringList("cloudstorage.write_base_path", new java.util.ArrayList[String]()).asScala.toList
val basePaths: Array[String] = validCSPSource.map(source => source + java.io.File.separator + Platform.getString("cloud_storage_container", "")).toArray
val repArray = getReplacementData(basePaths, "CLOUD_STORAGE_BASE_PATH")
val repArray = getReplacementData(basePaths, relativePathPrefix)
val updatedData: java.util.Map[String, AnyRef] = new java.util.HashMap[String, AnyRef]
data.asScala.map(col => {
......@@ -98,16 +103,14 @@ object CSPMetaUtil {
def updateExternalRelativePath(data: java.util.Map[String, AnyRef]): java.util.Map[String, AnyRef] = {
logger.info("CSPMetaUtil ::: updateExternalRelativePath util.Map[String, AnyRef] ::: data before url replace :: " + data)
val relativePathPrefix: String = Platform.getString("cloudstorage.relative_path_prefix", "")
val validCSPSource: List[String] = Platform.getStringList("cloudstorage.write_base_path", new java.util.ArrayList[String]()).asScala.toList
val basePaths: Array[String] = validCSPSource.map(source => source + java.io.File.separator + Platform.getString("cloud_storage_container", "")).toArray
val repArray = getReplacementData(basePaths, relativePathPrefix)
val values = data.get("values")
val updatedValues = values match {
case x: List[AnyRef] => {
val validCSPSource: List[String] = Platform.getStringList("cloudstorage.write_base_path", new java.util.ArrayList[String]()).asScala.toList
val basePaths: Array[String] = validCSPSource.map(source => source + java.io.File.separator + Platform.getString("cloud_storage_container", "")).toArray
val repArray = getReplacementData(basePaths, "CLOUD_STORAGE_BASE_PATH")
x.map(value => StringUtils.replaceEach(value.asInstanceOf[String], basePaths, repArray))
}
case x: List[AnyRef] => x.map(value => StringUtils.replaceEach(value.asInstanceOf[String], basePaths, repArray))
case _ => values
}
......
......@@ -318,7 +318,8 @@ languageCode {
platform.language.codes=["as","bn","en","gu","hi","hoc","jun","ka","mai","mr","unx","or","san","sat","ta","te","urd"]
objectcategorydefinition.keyspace=dev_category_store
cloudstorage.metadata.replace_absolute_path=true
cloudstorage.metadata.replace_absolute_path=false
cloudstorage.relative_path_prefix= "CONTENT_STORAGE_BASE_PATH"
cloudstorage.read_base_path="https://sunbirddev.blob.core.windows.net"
cloudstorage.write_base_path=["https://sunbirddev.blob.core.windows.net"]
cloudstorage.metadata.list=["appIcon","posterImage","artifactUrl","downloadUrl","variants","previewUrl","pdfUrl", "streamingUrl", "toc_url"]
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment