private void updateTestdataValue(TestcaseStep tcStep , Map<String, String> testdataRow) {
		String testdataValue;
		logger.info("UpdateTestdata value - \n TestcaseID:"+ tcStep.getTestcaseID() + " , StepID:"+tcStep.getStepID());
		logger.info("TestdataName::" + tcStep.getTestDataName()+ " , TestdataType::"+tcStep.getTestDataType());
		String tdType = tcStep.getTestDataType();
		if(tdType.toUpperCase().equals("XLPARAMETER")==true){
			try{
				testdataValue = testdataRow.get(tcStep.getTestDataName().toUpperCase());
				tcStep.setTestDataValue(testdataValue);
				logger.info("For step#"+tcStep.getStepID() + " in testcase - "+ tcStep.getTestcaseID() + " , test data name "+ tcStep.getTestDataName()+ " is updated with value:"+testdataValue);
			}catch(Exception e){
				logger.error("Exception in updateTestdataValues for \n testdataname::"+tcStep.getTestDataName() +
						"  in TestcaseID::"+ tcStep.getTestcaseID() + " at stepId:"+tcStep.getStepID());
				logger.error("\n StacktraceInfo::"+e.getMessage());
				testdataValue="TESTDATA_NOTFOUND";
				tcStep.setTestDataValue(testdataValue);
			}
		
		}else if(tdType.toUpperCase().equals("ENVIRONMENTVARIABLE")==true){
			try{
				logger.info("tdType is ENVIRONMENTVARIABLE @step#"+tcStep.getStepID() + " in TestcaseID#"+tcStep.getTestcaseID());
				EnvironmentVariables ev = EnvironmentVariables.getInstance();
				String evValue =ev.getTestParameterValue(tcStep.getApplicationID(), tcStep.getTestDataName());
				if(evValue.equals("NOT_FOUND")==false){
					tcStep.setTestDataValue(evValue);
					logger.info("testdatavalue is set by env Variable- "+evValue);
				}else{
					logger.info("testdatavalue is not set by env Variable- "+evValue);
					tcStep.setTestDataValue("TESTDATA_NOTFOUND");
				}
			}catch(Exception e){
				logger.error("Exception in updateTestdataValues for \n testdataname::"+tcStep.getTestDataName() +
						"  in TestcaseID::"+ tcStep.getTestcaseID() + " at stepId:"+tcStep.getStepID());
				logger.error("\n StacktraceInfo::"+e.getMessage());
				tcStep.setTestDataValue("TESTDATA_NOTFOUND");

			}
		}else if(tdType.toUpperCase().equals("RUNTIMEVARIABLE")==true ){
			logger.info("testdataType is runtimevariable, will be updated at teststep level");
			if(tcStep.getKeyword().startsWith("Store")==true){
				tcStep.setTestDataValue(tcStep.getTestDataName());
			}else{
				tcStep.setTestDataValue("TOBEUPDATED_RUNTIME");
			}
			
		}else{
			tcStep.setTestDataType("INVALID");
			logger.error("Invalid testdataType error \n testdataname::"+tcStep.getTestDataName() +
					"  in TestcaseID::"+ tcStep.getTestcaseID() + " at stepId:"+tcStep.getStepID());
			tcStep.setTestDataValue("TESTDATA_NOTFOUND");
		}
			
	}