-
Type:
Improvement
-
Resolution: Fixed
-
Priority:
Minor
-
Component/s: Datum Import
-
None
If the JSON data in a datum import is malformed, too many ERROR logs are generated, like:
com.fasterxml.jackson.core.JsonParseException: Unexpected character ('i' (code 105)): was expecting double-quote to start field name at [Source: (String)"{irradiance:0}"; line: 1, column: 3] at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:1840) at com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:712) at com.fasterxml.jackson.core.base.ParserMinimalBase._reportUnexpectedChar(ParserMinimalBase.java:637) at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._handleOddName(ReaderBasedJsonParser.java:1782) at com.fasterxml.jackson.core.json.ReaderBasedJsonParser.nextFieldName(ReaderBasedJsonParser.java:933) at com.fasterxml.jackson.databind.deser.std.MapDeserializer._readAndBindStringKeyMap(MapDeserializer.java:500) at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:364) at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:29) at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4202) at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3205) at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3188) at net.solarnetwork.util.JsonUtils.getStringMap(JsonUtils.java:186) at net.solarnetwork.central.datum.imp.standard.BaseCsvIterator.parseNumberMap(BaseCsvIterator.java:214) at net.solarnetwork.central.datum.imp.standard.BasicCsvDatumImportInputFormatService$CsvImportContext$CsvIterator.parseRow(BasicCsvDatumImportInputFormatService.java:121) at net.solarnetwork.central.datum.imp.standard.BasicCsvDatumImportInputFormatService$CsvImportContext$CsvIterator.parseRow(BasicCsvDatumImportInputFormatService.java:107) at net.solarnetwork.central.datum.imp.standard.BaseCsvIterator.getNext(BaseCsvIterator.java:343) at net.solarnetwork.central.datum.imp.standard.BaseCsvIterator.hasNext(BaseCsvIterator.java:355) at net.solarnetwork.central.datum.imp.biz.dao.DaoDatumImportBiz$DatumImportPreview.call(DaoDatumImportBiz.java:510) at net.solarnetwork.central.datum.imp.biz.dao.DaoDatumImportBiz$DatumImportPreview.call(DaoDatumImportBiz.java:475) at java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1424) at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056) at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692) at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
These should be logged at WARN at most, without any stacktrace.