private void insert() { if (mID >= 0) { LOGGER.warning("message already in db, ID: " + mID); return; } Database db = Database.getInstance(); List<Object> values = new LinkedList<>(); values.add(mThread.getID()); values.add(mDir); values.add(mUser.getID()); values.add(mJID); values.add(Database.setString(mXMPPID)); values.add(mDate); values.add(mReceiptStatus); // i simply don't like to save all possible content explicitly in the // database, so we use JSON here values.add(mContent.toJSONString()); values.add(mCoderStatus.getEncryption()); values.add(mCoderStatus.getSigning()); values.add(mCoderStatus.getErrors()); values.add(mServerError.toJSON()); values.add(mServerDate); int id = db.execInsert(TABLE, values); if (id <= 0) { LOGGER.log(Level.WARNING, "db, could not insert message"); mID = -2; return; } mID = id; }