@startuml

title Parse Values

skinparam titleBorderRoundCorner 10
skinparam titleBorderThickness 3
skinparam titleBorderColor indianred
skinparam titleBackgroundColor ivory
skinparam FontName quicksand

skinparam actor {
 	BorderColor indianred
 	}

 skinparam sequence {
 	LifeLineBackgroundColor indianred
 	ParticipantBackgroundColor ivory
 }

 skinparam roundcorner 10

 skinparam component {
   arrowThickness 1
   ArrowFontName Verdana
   ArrowColor indianred
   ArrowFontColor darkslategrey
 }



-> CSVReader: parseAndLog(String[] readings, Logger logger, SensorList sensorList)
activate CSVReader

CSVReader -->> SimpleDateFormat: sdf 1 = new SimpleDateFormat("dd/MM/yyyy")
CSVReader -->> SimpleDateFormat: sdf 2 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'+00:00'")
CSVReader -->> SimpleDateFormat: sdf N = new SimpleDateFormat("...")

alt try

CSVReader -->> Double: Double readValue = Double.parseDouble(readings[2]);
CSVReader -->> String:String readID = readings[0];
CSVReader -->> Date:Date readDate = sdf N.parse(readings[1]);
CSVReader -> CSVReader: setCSVReadings(sensor, readDate, readValue)

else catch
CSVReader -> CSVReader: NumberFormatException
CSVReader -> CSVReader: ParseException

end



@enduml