if (this.archiveLocator != null) {
this.archiveLocator.initialize();
}
+
}
public ArchiveLocator getArchiveLocator() {
}
}
+ public boolean parameterExists(final Connection connection, final String paramName) throws SQLException {
+ final PreparedStatement ps = connection.prepareStatement(this.queryProvider.getQuery("setParameterValue.exists"));
+ try {
+ final ResultSet rs = ps.executeQuery();
+ return rs.next();
+ } finally {
+ ps.close();
+ }
+ }
+
+ public void setParameterValue(final Connection connection, final String paramName, final String paramValue) throws SQLException {
+ final String query = this.queryProvider.getQuery(this.parameterExists(connection, paramName) ? "setParameterValue.update" : "setParameterValue.insert");
+ final PreparedStatement ps = connection.prepareStatement(query);
+ try {
+ ps.setString(1, paramName);
+ ps.setString(2, paramValue);
+ ps.execute();
+ } finally {
+ ps.close();
+ }
+ }
+
public boolean isAlreadyImportingArchive(final Connection connection, final String archiveName, final String exercice) throws SQLException {
final PreparedStatement ps = connection.prepareStatement(this.queryProvider.getQuery("isAlreadyImportingArchive"));
try {
return result;
}
+
+ @Override
+ public void patchDocIdInitDocName(final Connection connection) throws SQLException {
+ final String alterQuery = this.queryProvider.getQuery("patchDocIdInitDocName.alterTable");
+
+ final PreparedStatement ps = connection.prepareStatement(this.queryProvider.getQuery("patchDocIdInitDocName.getTableColumn"));
+ try {
+ final ResultSet rs = ps.executeQuery();
+ final Statement alterSt = connection.createStatement();
+
+ while (rs.next()) {
+ final String sql = alterQuery.replace(":table", rs.getString(1)).replace(":column", rs.getString(2));
+ alterSt.execute(sql);
+ }
+
+ this.setParameterValue("patchDocIdInitDocName", "true");
+ } finally {
+ ps.close();
+ }
+ }
+
+ @Override
+ public boolean isPatchDocIdInitDocNameNeeded(final Connection connection) throws SQLException {
+ final String value = this.getParameterValue(connection, "patchDocIdInitDocName");
+ return !("true".equals(value));
+ }
}