Commit a3487c78 authored by lakshmikommalapati's avatar lakshmikommalapati
Browse files

update in CompetencyExcelParser class

No related merge requests found
Showing with 81 additions and 4 deletions
+81 -4
package handlers
import handlers.CompetencyExcelParser.fracclMap
import org.apache.poi.ss.usermodel.DataFormatter
import org.apache.poi.xssf.usermodel.{XSSFRow, XSSFSheet, XSSFWorkbook}
import org.slf4j.{Logger, LoggerFactory}
......@@ -9,6 +10,7 @@ import java.util
import scala.collection.JavaConverters.{asScalaIteratorConverter, iterableAsScalaIterableConverter, mapAsScalaMapConverter}
import scala.collection.mutable
import scala.collection.mutable.ListBuffer
import scala.sys.SystemProperties.headless.key
case class Activity(code: String, label: String)
......@@ -23,6 +25,10 @@ object CompetencyExcelParser {
private var listData :util.Map[String, AnyRef] = new util.HashMap[String, AnyRef]
private var fracclMap: mutable.Map[String, AnyRef] = mutable.Map.empty
private var competencyMap: util.Map[String, AnyRef] = new util.HashMap[String,AnyRef]()
var dataList: List[util.Map[String, AnyRef]] = List.empty
var data: util.Map[String, AnyRef] = new util.HashMap[String, AnyRef]()
var map: List[util.Map[String, AnyRef]] = List.empty
var dataMap: util.Map[String, AnyRef] = new util.HashMap[String, AnyRef]()
def parseCompetencyData(xssFRow: XSSFRow) = {
val rowContent = (0 until xssFRow.getPhysicalNumberOfCells)
......@@ -48,7 +54,9 @@ object CompetencyExcelParser {
listData.put("compefracclMaptency",competency)
listData.put("competencyLevelId",competencyLevelId)
fracclMap.put(competencyMapping.concat(activityId), listData)
listData
fetchDataFromFracclMap(competencyMapping.concat(activityId), fracclMap)
// fetchsheetdata(listData)
//listData
}
......@@ -81,7 +89,9 @@ object CompetencyExcelParser {
} else {
None
}
}).toList
getData
}
......@@ -91,11 +101,13 @@ object CompetencyExcelParser {
val finalData: mutable.Map[String, List[Map[String, AnyRef]]] = mutable.Map.empty
try {
val workbook = new XSSFWorkbook(new FileInputStream(file))
//getData = getCompetenciesData(workbook.getSheetAt(1))
(1 until workbook.getNumberOfSheets)
.foreach(index => {
if(index==1) {
getData = getCompetenciesData(workbook.getSheetAt(index))
}
getSheetBasedOnRoleLabel(getData,workbook.getSheetAt(index))
val convertedData = getData.map(_.asScala.toMap)
finalData += (workbook.getSheetName(index) -> convertedData)
......@@ -115,5 +127,70 @@ object CompetencyExcelParser {
javaMap
}
def fetchDataFromFracclMap(competencylevel:String,fracclMap:mutable.Map[String, AnyRef]):util.Map[String, AnyRef]= {
logger.info("Enter into the fetchDataFromFracclMap")
val competencyLevelValue= fracclMap.get(competencylevel)
val key:String="roleLabel"
val levelValue: AnyRef = competencyLevelValue match {
case Some(x) => {
val dataLabel = x.asInstanceOf[util.Map[String, AnyRef]]
var valueOption: AnyRef = dataLabel.get(key)
valueOption
}
case None => "None"
}
val activity: AnyRef = /*levelValue match{
case levelValue=>*/
competencyLevelValue match {
case Some(x) => {
val dataLabel = x.asInstanceOf[util.Map[String, AnyRef]]
var valueOption: AnyRef = dataLabel.get("activityLabel")
valueOption
}
case None => "None"
}
data.put(competencylevel, activity)
//dataList=dataList:+data
dataMap.put(levelValue.toString,data)
dataMap
}
}
def getSheetBasedOnRoleLabel(data:List[util.Map[String, AnyRef]], sheet: XSSFSheet):util.Map[String,AnyRef]={
logger.info("Enter into the getSheetBasedOnRoleLabel")
val sheetMap:util.Map[String,AnyRef]=new util.HashMap[String,AnyRef]()
val keyValue = data.flatMap(m => m.keySet().asScala).distinct.toList
val value = data.flatMap(n=> n.values().asScala).distinct
val activity:String=null
/*value.foreach{v=>
activity= v match{
case Some(x)=>{
val activityLabel:String=x.asInstanceOf
}
}
}*/
// val innerValue = data.flatMap(_.get(key)).map(_.innerValue).getOrElse(Seq.empty)
keyValue.foreach(k=>
if(k.equals(sheet.getSheetName) ){
} else {
}
)
sheetMap.put("key","value").asInstanceOf[util.Map[String,AnyRef]]
}
}
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