private void elaborate(DataRecord record) { short type = record.getType(); long time = record.getTime().getTime(); Statement statement = null; String query = ""; switch (type) { case Properties.TEMP_DEFORM_TYPE: int node_identifier = record.getNode_identifier(); int period = record.getPeriod(); float temperature = record.getTemperature(); if (!nodes_status.containsKey(new Integer(node_identifier))) { nodes_status.put(new Integer(node_identifier), new NodeLogStatus()); } NodeLogStatus status = (NodeLogStatus) nodes_status.get(new Integer(node_identifier)); status.registerTuple(time, period); status.updateTimeRef(time, period); Timestamp ts = new Timestamp(status.getTime(period)); try { out.write( "SENSOR:" + Properties.getSensorId(node_identifier) + "\tPERIOD: " + period + "\tTEMPERATURE: " + temperature + "\tTIMESTAMP: " + ts + "\n"); out.flush(); } catch (IOException ioe) { System.out.println(ioe.toString()); } try { query = "insert into Measurement " + "(MeasurementID, SensorID, SessionID, \"TimeStamp\") " + "values(measurement_seq.nextval," + Properties.getSensorId(node_identifier) + "," + period + ", \'" + ts + "\')"; statement = connection.createStatement(); statement.executeUpdate(query); statement.close(); query = "insert into Value " + "(ValueID, MeasurementID, ChannelID, ScalarValue, " + "OriginalCalibrationID, ScalarRms)" + "values(value_seq.nextval, measurement_seq.currval, " + Properties.getTempChannelId(node_identifier) + ", " + temperature + ", 0, 0)"; statement = connection.createStatement(); statement.executeUpdate(query); statement.close(); synchronized (data) { data.remove(0); } } catch (SQLException se) { try { log.write("Cannot execute INSERT query\n"); log.write(se.toString()); log.flush(); } catch (IOException ie) { System.out.println(ie.toString()); } } finally { try { statement.close(); } catch (Exception e) { try { log.write("Statement closure error"); log.write(e.toString()); log.flush(); } catch (IOException ie) { System.out.println(ie.toString()); } } } break; default: try { log.write("Unknown tuple received"); log.flush(); } catch (IOException ie) { System.out.println(ie.toString()); } } }