Author: bpoussin Date: 2010-12-16 23:47:20 +0100 (Thu, 16 Dec 2010) New Revision: 616 Url: http://nuiton.org/repositories/revision/wikitty/616 Log: make copy of wikitty before modification to put in event Modified: trunk/wikitty-jdbc-impl/src/main/java/org/nuiton/wikitty/jdbc/WikittyExtensionStorageJDBC.java trunk/wikitty-jdbc-impl/src/main/java/org/nuiton/wikitty/jdbc/WikittyStorageJDBC.java Modified: trunk/wikitty-jdbc-impl/src/main/java/org/nuiton/wikitty/jdbc/WikittyExtensionStorageJDBC.java =================================================================== --- trunk/wikitty-jdbc-impl/src/main/java/org/nuiton/wikitty/jdbc/WikittyExtensionStorageJDBC.java 2010-12-16 00:02:14 UTC (rev 615) +++ trunk/wikitty-jdbc-impl/src/main/java/org/nuiton/wikitty/jdbc/WikittyExtensionStorageJDBC.java 2010-12-16 22:47:20 UTC (rev 616) @@ -142,6 +142,7 @@ //if the data is not already recorded if (!versionResultSet.next()) { + // FIXME poussin 20101216 make copy before add to result to prevent side effect result.addExtension(ext); WikittyJDBCUtil.doQuery(connection, jdbcQuery.getProperty(QUERY_INSERT_EXTENSION_ADMIN), Modified: trunk/wikitty-jdbc-impl/src/main/java/org/nuiton/wikitty/jdbc/WikittyStorageJDBC.java =================================================================== --- trunk/wikitty-jdbc-impl/src/main/java/org/nuiton/wikitty/jdbc/WikittyStorageJDBC.java 2010-12-16 00:02:14 UTC (rev 615) +++ trunk/wikitty-jdbc-impl/src/main/java/org/nuiton/wikitty/jdbc/WikittyStorageJDBC.java 2010-12-16 22:47:20 UTC (rev 616) @@ -343,13 +343,15 @@ WikittyJDBCUtil.doQuery(connection, q, newVersion, extensionList, null, wikitty.getId()); - wikitty.setVersion(newVersion); - wikitty.clearDirty(); - result.addWikitty(wikitty); + // make a clone to prevent side effect + Wikitty newWikitty = wikitty.clone(); + newWikitty.setVersion(newVersion); + newWikitty.clearDirty(); + result.addWikitty(newWikitty); } return result; - } catch (SQLException eee) { + } catch (Exception eee) { throw new WikittyException("Can't store wikitty", eee); } finally { WikittyJDBCUtil.closeQuietly(connection);