import fr.gouv.finances.dgfip.xemelios.common.config.EtatModel;
import fr.gouv.finances.dgfip.xemelios.common.config.Loader;
import fr.gouv.finances.dgfip.xemelios.common.config.SpecialKeyModel;
-import fr.gouv.finances.dgfip.xemelios.data.impl.pool.PoolManager;
import fr.gouv.finances.dgfip.xemelios.data.impl.sqlconfig.PersistenceConfigParser;
import fr.gouv.finances.dgfip.xemelios.data.impl.sqlconfig.TDocument;
import fr.gouv.finances.dgfip.xemelios.data.impl.sqlconfig.TEtat;
this.archiveLocator.initialize();
}
- // ----- beurk : application du patch qui passe doc_id et initial_doc_name 100 -> 300 (EV-MiniFin-Xemelios-0806) ------
- final PoolManager pool = PoolManager.getInstance();
- final Connection connection = pool.getConnection();
- try {
- final String value = this.getParameterValue(connection, "patchDocIdInitDocName");
- if (!"1".equals(value)) {
- this.patchDocIdInitDocName(connection);
- this.setParameterValue(connection, "patchDocIdInitDocName", "1");
-
- if (!connection.getAutoCommit()) {
- connection.commit();
- }
- }
- } finally {
- pool.releaseConnection(connection);
- }
}
public ArchiveLocator getArchiveLocator() {
return result;
}
- protected void patchDocIdInitDocName(final Connection connection) throws SQLException {
+ @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"));
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));
+ }
}