branch develop updated (f4eb2ed -> 5a3a7db)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git from f4eb2ed add missing license header new 5a3a7db [iso] fix possible bugs in code The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit 5a3a7db1d07ca76b56224e9cfc41cd6db4801e21 Author: Tony CHEMIT <dev@tchemit.fr> Date: Sat Dec 31 19:18:29 2016 +0100 [iso] fix possible bugs in code Summary of changes: .../swing/ui/content/ObserveActionMap.java | 4 +- .../LonglineDetailCompositionUIInitializer.java | 3 +- ...onglineDetailCompositionUIValidationHelper.java | 8 +- .../migration/H2DataSourceMigration.java | 86 ++++----- .../migration/PGDataSourceMigration.java | 197 ++++++++++----------- .../ird/observe/services/binder/BinderSupport.java | 2 + .../services/rest/ObserveServiceFactoryRest.java | 1 + .../seine/TripSeineGearUseServiceRestTest.java | 8 +- .../services/runner/ObserveServiceMainFactory.java | 8 +- .../observe/services/topia/ObserveJdbcHelper.java | 2 - .../UpdateSqlWithCascadeStatementGenerator.java | 13 +- .../longline/LonglinePositionSetDtoHelper.java | 4 +- .../service/data/seine/RouteServiceTopia.java | 2 +- .../topia/entity/LengthWeightParemetersTest.java | 22 +-- .../seine/TripSeineGearUseServiceTopiaTest.java | 8 +- .../ird/observe/services/ObserveFormRequests.java | 4 - .../services/dto/longline/SectionWithTemplate.java | 2 +- .../fr/ird/observe/services/gson/DateAdapter.java | 2 + .../services/service/actions/report/Report.java | 4 +- .../service/actions/report/ReportBuilder.java | 4 +- 20 files changed, 184 insertions(+), 200 deletions(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 5a3a7db1d07ca76b56224e9cfc41cd6db4801e21 Author: Tony CHEMIT <dev@tchemit.fr> Date: Sat Dec 31 19:18:29 2016 +0100 [iso] fix possible bugs in code --- .../swing/ui/content/ObserveActionMap.java | 4 +- .../LonglineDetailCompositionUIInitializer.java | 3 +- ...onglineDetailCompositionUIValidationHelper.java | 8 +- .../migration/H2DataSourceMigration.java | 86 ++++----- .../migration/PGDataSourceMigration.java | 197 ++++++++++----------- .../ird/observe/services/binder/BinderSupport.java | 2 + .../services/rest/ObserveServiceFactoryRest.java | 1 + .../seine/TripSeineGearUseServiceRestTest.java | 8 +- .../services/runner/ObserveServiceMainFactory.java | 8 +- .../observe/services/topia/ObserveJdbcHelper.java | 2 - .../UpdateSqlWithCascadeStatementGenerator.java | 13 +- .../longline/LonglinePositionSetDtoHelper.java | 4 +- .../service/data/seine/RouteServiceTopia.java | 2 +- .../topia/entity/LengthWeightParemetersTest.java | 22 +-- .../seine/TripSeineGearUseServiceTopiaTest.java | 8 +- .../ird/observe/services/ObserveFormRequests.java | 4 - .../services/dto/longline/SectionWithTemplate.java | 2 +- .../fr/ird/observe/services/gson/DateAdapter.java | 2 + .../services/service/actions/report/Report.java | 4 +- .../service/actions/report/ReportBuilder.java | 4 +- 20 files changed, 184 insertions(+), 200 deletions(-) diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ObserveActionMap.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ObserveActionMap.java index 358e40a..b85b125 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ObserveActionMap.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ObserveActionMap.java @@ -107,12 +107,12 @@ public class ObserveActionMap extends ActionMap { @Override public Action get(Object key) { - AbstractGlobalUIAction globalUIAction = globalActions.get(key); + AbstractGlobalUIAction globalUIAction = globalActions.get(key.toString()); if (globalUIAction != null) { return globalUIAction; } - Class<? extends AbstractUIAction> actionType = mapping.get(key); + Class<? extends AbstractUIAction> actionType = mapping.get(key.toString()); if (actionType == null) { return super.get(key); diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/longline/LonglineDetailCompositionUIInitializer.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/longline/LonglineDetailCompositionUIInitializer.java index 15b7fac..ae2f73f 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/longline/LonglineDetailCompositionUIInitializer.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/longline/LonglineDetailCompositionUIInitializer.java @@ -224,7 +224,6 @@ public class LonglineDetailCompositionUIInitializer extends ContentUIInitializer EditableTableModelSupport model = (EditableTableModelSupport) getTable().getModel(); boolean canInsertBefore = model.isEmpty() || model.getSelectedRowIndex() > 0; - boolean canInsertAfter = true; boolean canDelete = !model.isSelectionEmpty(); if (canDelete) { @@ -237,7 +236,7 @@ public class LonglineDetailCompositionUIInitializer extends ContentUIInitializer ui.getDeleteSelectedSectionTemplate().setEnabled(canDelete); ui.getInsertBeforeSelectedSectionTemplate().setEnabled(canInsertBefore); - ui.getInsertAfterSelectedSectionTemplate().setEnabled(canInsertAfter); + ui.getInsertAfterSelectedSectionTemplate().setEnabled(true); } diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/longline/LonglineDetailCompositionUIValidationHelper.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/longline/LonglineDetailCompositionUIValidationHelper.java index bd140d7..9ef8853 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/longline/LonglineDetailCompositionUIValidationHelper.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/longline/LonglineDetailCompositionUIValidationHelper.java @@ -30,10 +30,10 @@ import fr.ird.observe.services.dto.longline.BasketDto; import fr.ird.observe.services.dto.longline.BranchlineDto; import fr.ird.observe.services.dto.longline.SectionDto; import fr.ird.observe.services.dto.longline.SectionWithTemplate; -import org.nuiton.jaxx.validator.swing.SwingValidator; -import org.nuiton.jaxx.validator.swing.SwingValidatorMessage; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.nuiton.jaxx.validator.swing.SwingValidator; +import org.nuiton.jaxx.validator.swing.SwingValidatorMessage; import org.nuiton.validator.bean.simple.SimpleBeanValidator; import javax.swing.JComponent; @@ -60,7 +60,7 @@ public class LonglineDetailCompositionUIValidationHelper { private final LonglineDetailCompositionValidatorService validatorService; - private final Set<SwingValidator> validators; + private final Set<SimpleBeanValidator<?>> validators; public LonglineDetailCompositionUIValidationHelper(LonglineDetailCompositionUI ui, DecoratorService decoratorService) { this.model = ui.getModel(); @@ -69,7 +69,7 @@ public class LonglineDetailCompositionUIValidationHelper { SwingValidator<BasketDto> basketValidator = ui.getBasketValidator(); SwingValidator<BranchlineDto> branchlineValidator = ui.getBranchlineValidator(); - this.validators = ImmutableSet.<SwingValidator>builder().add( + this.validators = ImmutableSet.<SimpleBeanValidator<?>>builder().add( sectionValidator, basketValidator, branchlineValidator diff --git a/persistence/src/main/java/fr/ird/observe/persistence/migration/H2DataSourceMigration.java b/persistence/src/main/java/fr/ird/observe/persistence/migration/H2DataSourceMigration.java index 6d847cd..417a02e 100644 --- a/persistence/src/main/java/fr/ird/observe/persistence/migration/H2DataSourceMigration.java +++ b/persistence/src/main/java/fr/ird/observe/persistence/migration/H2DataSourceMigration.java @@ -60,21 +60,19 @@ public class H2DataSourceMigration extends AbstractDataSourceMigration { tx.doSqlWork(connection -> { String sql = "select CONSTRAINT_NAME from INFORMATION_SCHEMA.Constraints where CONSTRAINT_TYPE='UNIQUE' AND TABLE_NAME=? AND Column_list =?;"; - PreparedStatement ps = connection.prepareStatement(sql); - ps.setString(1, tableName.toUpperCase()); - ps.setString(2, columnName.toUpperCase()); - try { - ResultSet set = ps.executeQuery(); - if (set.next()) { - String constraintName = set.getString(1); - if (log.isDebugEnabled()) - log.debug("found constraint of type unique for table " + tableName + " and column " + columnName + ": " + constraintName); - result.add(constraintName); + try (PreparedStatement ps = connection.prepareStatement(sql)) { + ps.setString(1, tableName.toUpperCase()); + ps.setString(2, columnName.toUpperCase()); + try (ResultSet set = ps.executeQuery()) { + if (set.next()) { + String constraintName = set.getString(1); + if (log.isDebugEnabled()) + log.debug("found constraint of type unique for table " + tableName + " and column " + columnName + ": " + constraintName); + result.add(constraintName); + } + } catch (Exception e) { + throw new SQLException("Could not obtain constraint unique for table" + tableName + " and column " + columnName, e); } - } catch (Exception e) { - throw new SQLException("Could not obtain constraint unique for table" + tableName + " and column " + columnName, e); - } finally { - ps.close(); } }); @@ -93,20 +91,18 @@ public class H2DataSourceMigration extends AbstractDataSourceMigration { tx.doSqlWork(connection -> { String sql = "select CONSTRAINT_NAME from INFORMATION_SCHEMA.Constraints where CONSTRAINT_TYPE='UNIQUE' AND TABLE_NAME=?;"; - PreparedStatement ps = connection.prepareStatement(sql); - ps.setString(1, tableName.toUpperCase()); - try { - ResultSet set = ps.executeQuery(); - if (set.next()) { - String constraintName = set.getString(1); - if (log.isDebugEnabled()) - log.debug("found constraint of type unique for table " + tableName + " : " + constraintName); - result.add(constraintName); + try (PreparedStatement ps = connection.prepareStatement(sql)) { + ps.setString(1, tableName.toUpperCase()); + try (ResultSet set = ps.executeQuery()) { + if (set.next()) { + String constraintName = set.getString(1); + if (log.isDebugEnabled()) + log.debug("found constraint of type unique for table " + tableName + " : " + constraintName); + result.add(constraintName); + } + } catch (Exception e) { + throw new SQLException("Could not obtain constraint unique for table " + tableName, e); } - } catch (Exception e) { - throw new SQLException("Could not obtain constraint unique for table " + tableName, e); - } finally { - ps.close(); } }); @@ -124,10 +120,11 @@ public class H2DataSourceMigration extends AbstractDataSourceMigration { tx.doSqlWork(connection -> { String sql = String.format("SELECT DISTINCT constraint_name FROM INFORMATION_SCHEMA.Constraints WHERE (CONSTRAINT_TYPE='UNIQUE' OR CONSTRAINT_TYPE='REFERENTIAL') AND TABLE_NAME='%S';", tableName); try (PreparedStatement ps = connection.prepareStatement(sql)) { - ResultSet set = ps.executeQuery(); - while (set.next()) { - String constraintName = set.getString(1); - result.add(constraintName); + try (ResultSet set = ps.executeQuery()) { + while (set.next()) { + String constraintName = set.getString(1); + result.add(constraintName); + } } } catch (Exception e) { throw new SQLException("Could not obtain constraints for table " + tableName, e); @@ -144,10 +141,11 @@ public class H2DataSourceMigration extends AbstractDataSourceMigration { tx.doSqlWork(connection -> { String sql = String.format("SELECT DISTINCT constraint_name FROM INFORMATION_SCHEMA.Constraints WHERE CONSTRAINT_TYPE='REFERENTIAL' AND TABLE_NAME='%S';", tableName); try (PreparedStatement ps = connection.prepareStatement(sql)) { - ResultSet set = ps.executeQuery(); - while (set.next()) { - String constraintName = set.getString(1); - result.add(constraintName); + try (ResultSet set = ps.executeQuery()) { + while (set.next()) { + String constraintName = set.getString(1); + result.add(constraintName); + } } } catch (Exception e) { throw new SQLException("Could not obtain constraints for table " + tableName, e); @@ -168,10 +166,11 @@ public class H2DataSourceMigration extends AbstractDataSourceMigration { "AND TABLE_NAME='%S' " + "AND COLUMN_LIST='%S';", schemaName, tableName, columnName); try (PreparedStatement ps = connection.prepareStatement(sql)) { - ResultSet set = ps.executeQuery(); - while (set.next()) { - String constraintName = set.getString(1); - result.add(constraintName); + try (ResultSet set = ps.executeQuery()) { + while (set.next()) { + String constraintName = set.getString(1); + result.add(constraintName); + } } } catch (Exception e) { throw new SQLException("Could not obtain constraints for table " + tableName, e); @@ -206,10 +205,11 @@ public class H2DataSourceMigration extends AbstractDataSourceMigration { tx.doSqlWork(connection -> { String sql = String.format("SELECT DISTINCT constraint_name FROM INFORMATION_SCHEMA.Constraints WHERE CONSTRAINT_TYPE='UNIQUE' AND TABLE_NAME='%S';", tableName); try (PreparedStatement ps = connection.prepareStatement(sql)) { - ResultSet set = ps.executeQuery(); - while (set.next()) { - String constraintName = set.getString(1); - result.add(constraintName); + try (ResultSet set = ps.executeQuery()) { + while (set.next()) { + String constraintName = set.getString(1); + result.add(constraintName); + } } } catch (Exception e) { throw new SQLException("Could not obtain constraints for table " + tableName, e); diff --git a/persistence/src/main/java/fr/ird/observe/persistence/migration/PGDataSourceMigration.java b/persistence/src/main/java/fr/ird/observe/persistence/migration/PGDataSourceMigration.java index 7627d22..55f80c3 100644 --- a/persistence/src/main/java/fr/ird/observe/persistence/migration/PGDataSourceMigration.java +++ b/persistence/src/main/java/fr/ird/observe/persistence/migration/PGDataSourceMigration.java @@ -32,6 +32,7 @@ import java.sql.SQLException; import java.util.ArrayList; import java.util.HashSet; import java.util.List; +import java.util.Objects; import java.util.Set; /** @@ -64,60 +65,54 @@ public class PGDataSourceMigration extends AbstractDataSourceMigration { String sqlOid = "select oid from pg_class where relname=?;"; { - PreparedStatement ps = connection.prepareStatement(sqlOid); - ps.setString(1, tableName.toLowerCase()); - try { - ResultSet set = ps.executeQuery(); - if (set.next()) { - oid = set.getString(1); - if (log.isDebugEnabled()) - log.debug("found table oid " + tableName + ": " + oid); + try (PreparedStatement ps = connection.prepareStatement(sqlOid)) { + ps.setString(1, tableName.toLowerCase()); + try (ResultSet set = ps.executeQuery()) { + if (set.next()) { + oid = set.getString(1); + if (log.isDebugEnabled()) + log.debug("found table oid " + tableName + ": " + oid); + } + } catch (Exception e) { + throw new SQLException("Could not obtain oid for table" + tableName, e); } - } catch (Exception e) { - throw new SQLException("Could not obtain oid for table" + tableName, e); - } finally { - ps.close(); } } - + Objects.requireNonNull(oid); // get attribute num String attNumSql = "select attnum from pg_attribute where attrelid=? AND attname =?"; String attNum = null; { - PreparedStatement ps = connection.prepareStatement(attNumSql); - ps.setInt(1, Integer.valueOf(oid)); - ps.setString(2, columnName.toLowerCase()); - try { - ResultSet set = ps.executeQuery(); - if (set.next()) { - attNum = set.getString(1); - if (log.isDebugEnabled()) - log.debug("found attribute " + columnName + " attNum : " + attNum); + try (PreparedStatement ps = connection.prepareStatement(attNumSql)) { + ps.setInt(1, Integer.valueOf(oid)); + ps.setString(2, columnName.toLowerCase()); + try (ResultSet set = ps.executeQuery()) { + if (set.next()) { + attNum = set.getString(1); + if (log.isDebugEnabled()) + log.debug("found attribute " + columnName + " attNum : " + attNum); + } + } catch (Exception e) { + throw new SQLException("Could not obtain attNum for column" + columnName, e); } - } catch (Exception e) { - throw new SQLException("Could not obtain attNum for column" + columnName, e); - } finally { - ps.close(); } } String sql = "SELECT conname FROM pg_constraint where contype='u' and conrelid= ? and conkey = '{" + attNum + "}';"; - PreparedStatement ps = connection.prepareStatement(sql); - ps.setInt(1, Integer.valueOf(oid)); - try { - ResultSet set = ps.executeQuery(); + try (PreparedStatement ps = connection.prepareStatement(sql)) { + ps.setInt(1, Integer.valueOf(oid)); + try (ResultSet set = ps.executeQuery()) { - if (set.next()) { - String constraintName = set.getString(1); - if (log.isDebugEnabled()) - log.debug("found constraint of type unique for table " + tableName + " and column " + columnName + ": " + constraintName); - result.add(constraintName); + if (set.next()) { + String constraintName = set.getString(1); + if (log.isDebugEnabled()) + log.debug("found constraint of type unique for table " + tableName + " and column " + columnName + ": " + constraintName); + result.add(constraintName); + } + } catch (Exception e) { + throw new SQLException("Could not obtain constraint unique for table" + tableName + " and column " + columnName, e); } - } catch (Exception e) { - throw new SQLException("Could not obtain constraint unique for table" + tableName + " and column " + columnName, e); - } finally { - ps.close(); } }); @@ -136,20 +131,19 @@ public class PGDataSourceMigration extends AbstractDataSourceMigration { tx.doSqlWork(connection -> { String sql = "SELECT conname FROM pg_constraint where contype='u' and conrelid= (select oid from pg_class where relname=?);"; - PreparedStatement ps = connection.prepareStatement(sql); - ps.setString(1, tableName.toLowerCase()); - try { - ResultSet set = ps.executeQuery(); - if (set.next()) { - String constraintName = set.getString(1); - if (log.isDebugEnabled()) - log.debug("found constraint of type unique for table " + tableName + " : " + constraintName); - result.add(constraintName); + try (PreparedStatement ps = connection.prepareStatement(sql)) { + ps.setString(1, tableName.toLowerCase()); + try (ResultSet set = ps.executeQuery()) { + if (set.next()) { + String constraintName = set.getString(1); + if (log.isDebugEnabled()) + log.debug("found constraint of type unique for table " + tableName + " : " + constraintName); + result.add(constraintName); + } + + } catch (Exception e) { + throw new SQLException("Could not obtain constraint unique for table " + tableName, e); } - } catch (Exception e) { - throw new SQLException("Could not obtain constraint unique for table " + tableName, e); - } finally { - ps.close(); } }); @@ -167,10 +161,11 @@ public class PGDataSourceMigration extends AbstractDataSourceMigration { tx.doSqlWork(connection -> { String sql = String.format("SELECT DISTINCT conname FROM pg_constraint WHERE ( contype='u' OR contype='f' ) AND conrelid = (SELECT oid FROM pg_class WHERE relname='%s');", tableName.toLowerCase()); try (PreparedStatement ps = connection.prepareStatement(sql)) { - ResultSet set = ps.executeQuery(); - while (set.next()) { - String constraintName = set.getString(1); - result.add(constraintName); + try (ResultSet set = ps.executeQuery()) { + while (set.next()) { + String constraintName = set.getString(1); + result.add(constraintName); + } } } catch (Exception e) { throw new SQLException("Could not obtain constraints for table " + tableName, e); @@ -187,10 +182,11 @@ public class PGDataSourceMigration extends AbstractDataSourceMigration { tx.doSqlWork(connection -> { String sql = String.format("SELECT DISTINCT conname FROM pg_constraint WHERE ( contype='f' ) AND conrelid = (SELECT oid FROM pg_class WHERE relname='%s');", tableName.toLowerCase()); try (PreparedStatement ps = connection.prepareStatement(sql)) { - ResultSet set = ps.executeQuery(); - while (set.next()) { - String constraintName = set.getString(1); - result.add(constraintName); + try (ResultSet set = ps.executeQuery()) { + while (set.next()) { + String constraintName = set.getString(1); + result.add(constraintName); + } } } catch (Exception e) { throw new SQLException("Could not obtain constraints for table " + tableName, e); @@ -207,64 +203,62 @@ public class PGDataSourceMigration extends AbstractDataSourceMigration { tx.doSqlWork(connection -> { - // get table oid String oid = null; String sqlOid = "select oid from pg_class where relnamespace = (select oid from pg_catalog.pg_namespace where nspname=?) AND relname=?;"; { - PreparedStatement ps = connection.prepareStatement(sqlOid); - ps.setString(1, schemaName.toLowerCase()); - ps.setString(2, tableName.toLowerCase()); - try { - ResultSet set = ps.executeQuery(); - if (set.next()) { - oid = set.getString(1); - if (log.isDebugEnabled()) - log.debug("found table oid " + tableName + ": " + oid); + try (PreparedStatement ps = connection.prepareStatement(sqlOid)) { + ps.setString(1, schemaName.toLowerCase()); + ps.setString(2, tableName.toLowerCase()); + try (ResultSet set = ps.executeQuery()) { + if (set.next()) { + oid = set.getString(1); + if (log.isDebugEnabled()) + log.debug("found table oid " + tableName + ": " + oid); + } } } catch (Exception e) { throw new SQLException("Could not obtain oid for table" + tableName, e); - } finally { - ps.close(); + } } + Objects.requireNonNull(oid); // get attribute num String attNumSql = "select attnum from pg_attribute where attrelid=? AND attname =?"; String attNum = null; { - PreparedStatement ps = connection.prepareStatement(attNumSql); - ps.setInt(1, Integer.valueOf(oid)); - ps.setString(2, columnName.toLowerCase()); - try { - ResultSet set = ps.executeQuery(); - if (set.next()) { - attNum = set.getString(1); - if (log.isDebugEnabled()) - log.debug("found attribute " + columnName + " attNum : " + attNum); + try (PreparedStatement ps = connection.prepareStatement(attNumSql)) { + ps.setInt(1, Integer.valueOf(oid)); + ps.setString(2, columnName.toLowerCase()); + try { + try (ResultSet set = ps.executeQuery()) { + if (set.next()) { + attNum = set.getString(1); + if (log.isDebugEnabled()) + log.debug("found attribute " + columnName + " attNum : " + attNum); + } + } + } catch (Exception e) { + throw new SQLException("Could not obtain attNum for column" + columnName, e); } - } catch (Exception e) { - throw new SQLException("Could not obtain attNum for column" + columnName, e); - } finally { - ps.close(); } } String sql = "SELECT DISTINCT conname FROM pg_constraint WHERE contype='f' AND conrelid = ? AND conkey = '{" + attNum + "}';"; - PreparedStatement ps = connection.prepareStatement(sql); - ps.setInt(1, Integer.valueOf(oid)); - - try { - ResultSet set = ps.executeQuery(); - while (set.next()) { - String constraintName = set.getString(1); - result.add(constraintName); + try (PreparedStatement ps = connection.prepareStatement(sql)) { + ps.setInt(1, Integer.valueOf(oid)); + try { + try (ResultSet set = ps.executeQuery()) { + while (set.next()) { + String constraintName = set.getString(1); + result.add(constraintName); + } + } + } catch (Exception e) { + throw new SQLException("Could not obtain constraints for table " + tableName, e); } - } catch (Exception e) { - throw new SQLException("Could not obtain constraints for table " + tableName, e); - } finally { - ps.close(); } }); @@ -295,10 +289,11 @@ public class PGDataSourceMigration extends AbstractDataSourceMigration { tx.doSqlWork(connection -> { String sql = String.format("SELECT DISTINCT conname FROM pg_constraint WHERE ( contype='u' ) AND conrelid = (SELECT oid FROM pg_class WHERE relname='%s');", tableName.toLowerCase()); try (PreparedStatement ps = connection.prepareStatement(sql)) { - ResultSet set = ps.executeQuery(); - while (set.next()) { - String constraintName = set.getString(1); - result.add(constraintName); + try (ResultSet set = ps.executeQuery()) { + while (set.next()) { + String constraintName = set.getString(1); + result.add(constraintName); + } } } catch (Exception e) { throw new SQLException("Could not obtain constraints for table " + tableName, e); diff --git a/services-binder/src/main/java/fr/ird/observe/services/binder/BinderSupport.java b/services-binder/src/main/java/fr/ird/observe/services/binder/BinderSupport.java index 7c20c88..aad8489 100644 --- a/services-binder/src/main/java/fr/ird/observe/services/binder/BinderSupport.java +++ b/services-binder/src/main/java/fr/ird/observe/services/binder/BinderSupport.java @@ -43,6 +43,7 @@ import java.util.ArrayList; import java.util.Collection; import java.util.LinkedHashSet; import java.util.List; +import java.util.Objects; /** * Created on 24/11/15. @@ -96,6 +97,7 @@ public abstract class BinderSupport<E extends TopiaEntity, D extends IdDto> { entityList = new LinkedHashSet<>(references.size()); ReferentialReference<DD> firstReference = Iterables.get(references, 0, null); + Objects.requireNonNull(firstReference); Class<DD> type = firstReference.getType(); ReferentialBinderSupport<EE, DD> binder = BinderEngine.get().getReferentialBinder(type); diff --git a/services-rest/src/main/java/fr/ird/observe/services/rest/ObserveServiceFactoryRest.java b/services-rest/src/main/java/fr/ird/observe/services/rest/ObserveServiceFactoryRest.java index 4ecdace..74ae552 100644 --- a/services-rest/src/main/java/fr/ird/observe/services/rest/ObserveServiceFactoryRest.java +++ b/services-rest/src/main/java/fr/ird/observe/services/rest/ObserveServiceFactoryRest.java @@ -339,6 +339,7 @@ public class ObserveServiceFactoryRest extends ObserveServiceFactorySupport impl } // si c'est un type parametré, on envoie la class correspondante a ce type if (parameter.getParameterizedType() instanceof TypeVariable) { + Objects.requireNonNull(value); TypeVariable typeVariable = (TypeVariable) parameter.getParameterizedType(); requestBuilder.addParameter(PARAMETERIZED_TYPE_PREFIX + typeVariable.getName(), value.getClass().getCanonicalName()); diff --git a/services-rest/src/test/java/fr/ird/observe/services/rest/service/seine/TripSeineGearUseServiceRestTest.java b/services-rest/src/test/java/fr/ird/observe/services/rest/service/seine/TripSeineGearUseServiceRestTest.java index 101f28d..b080aa7 100644 --- a/services-rest/src/test/java/fr/ird/observe/services/rest/service/seine/TripSeineGearUseServiceRestTest.java +++ b/services-rest/src/test/java/fr/ird/observe/services/rest/service/seine/TripSeineGearUseServiceRestTest.java @@ -196,8 +196,8 @@ public class TripSeineGearUseServiceRestTest extends AbstractServiceRestTest { .stream() .filter(IdHelper.newIdPredicate(ObserveFixtures.GEAR_USE_FEATURES_SEINE_ID_1)) .findFirst() - .get(); - + .orElse(null); + Assert.assertNotNull(featuresSeineDto); featuresSeineDto.setNumber(12); featuresSeineDto.setComment("Un Commentaire"); for (GearUseFeaturesMeasurementSeineDto measurementSeineDto : featuresSeineDto.getGearUseFeaturesMeasurement()) { @@ -220,8 +220,8 @@ public class TripSeineGearUseServiceRestTest extends AbstractServiceRestTest { .stream() .filter(IdHelper.newIdPredicate(ObserveFixtures.GEAR_USE_FEATURES_SEINE_ID_1)) .findFirst() - .get(); - + .orElse(null); + Assert.assertNotNull(feature1); Assert.assertEquals(ObserveFixtures.GEAR_USE_FEATURES_SEINE_ID_1, feature1.getId()); Assert.assertEquals("fr.ird.observe.entities.referentiel.Gear#1239832686125#0.25", feature1.getGear().getId()); diff --git a/services-runner/src/main/java/fr/ird/observe/services/runner/ObserveServiceMainFactory.java b/services-runner/src/main/java/fr/ird/observe/services/runner/ObserveServiceMainFactory.java index 9ae4535..3b40500 100644 --- a/services-runner/src/main/java/fr/ird/observe/services/runner/ObserveServiceMainFactory.java +++ b/services-runner/src/main/java/fr/ird/observe/services/runner/ObserveServiceMainFactory.java @@ -71,16 +71,16 @@ public class ObserveServiceMainFactory implements ObserveServiceFactory { @Override public <S extends ObserveService> boolean accept(ObserveDataSourceConfiguration dataSourceConfiguration, Class<S> serviceType) { - ObserveServiceFactory factory = getFactory(dataSourceConfiguration, serviceType); - return factory != null; + getFactory(dataSourceConfiguration, serviceType); + return true; } @Override public <S extends ObserveService> boolean accept(ObserveDataSourceConnection dataSourceConnection, Class<S> serviceType) { - ObserveServiceFactory factory = getFactory(dataSourceConnection, serviceType); - return factory != null; + getFactory(dataSourceConnection, serviceType); + return true; } diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/ObserveJdbcHelper.java b/services-topia/src/main/java/fr/ird/observe/services/topia/ObserveJdbcHelper.java index 99a690a..48768dd 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/ObserveJdbcHelper.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/ObserveJdbcHelper.java @@ -60,7 +60,6 @@ public class ObserveJdbcHelper extends JdbcHelper { public Set<String> getTablePrivileges(String schema, String tableName) { Connection connection = null; - PreparedStatement preparedStatement = null; try { connection = openConnection(); DatabaseMetaData metaData = connection.getMetaData(); @@ -89,7 +88,6 @@ public class ObserveJdbcHelper extends JdbcHelper { } catch (SQLException e) { throw new RuntimeException(e); } finally { - closeQuietly(preparedStatement); closeQuietly(connection); } diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/service/actions/synchro/referential/sql/UpdateSqlWithCascadeStatementGenerator.java b/services-topia/src/main/java/fr/ird/observe/services/topia/service/actions/synchro/referential/sql/UpdateSqlWithCascadeStatementGenerator.java index 26a30eb..ac61050 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/service/actions/synchro/referential/sql/UpdateSqlWithCascadeStatementGenerator.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/service/actions/synchro/referential/sql/UpdateSqlWithCascadeStatementGenerator.java @@ -24,8 +24,8 @@ package fr.ird.observe.services.topia.service.actions.synchro.referential.sql; import com.google.common.collect.ImmutableList; import com.google.common.collect.Multimap; -import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.reference.ReferentialReference; +import fr.ird.observe.services.dto.referential.ReferentialDto; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.persistence.metadata.TopiaMetadataEntity; @@ -46,8 +46,6 @@ public abstract class UpdateSqlWithCascadeStatementGenerator<R extends Referenti private final UpdateSqlStatementGenerator<R> delegateGenerator; private final Multimap<Class<? extends ReferentialDto>, String> idsOnlyExistingOnThisSide; - private final StringBuilder sqlBuilder = new StringBuilder(); - public UpdateSqlWithCascadeStatementGenerator(TopiaMetadataEntity metadataEntity, Class<R> dtoType, Multimap<Class<? extends ReferentialDto>, String> idsOnlyExistingOnThisSide) { @@ -78,11 +76,7 @@ public abstract class UpdateSqlWithCascadeStatementGenerator<R extends Referenti public ImmutableList<String> generateSql(R referentialDto) { - ImmutableList<String> sqls = delegateGenerator.generateSql(referentialDto); - for (String sql : sqls) { - sqlBuilder.append(sql); - } - return sqls; + return delegateGenerator.generateSql(referentialDto); } @@ -92,9 +86,6 @@ public abstract class UpdateSqlWithCascadeStatementGenerator<R extends Referenti // il faut insérer aussi ce référentiel ImmutableList<String> sqls = insertMissingReferential(associationType, associationId); - for (String sql : sqls) { - sqlBuilder.append(sql); - } // ce référentiel est désormais présent dans les deux sources idsOnlyExistingOnThisSide.remove(associationType, associationId); diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/service/data/longline/LonglinePositionSetDtoHelper.java b/services-topia/src/main/java/fr/ird/observe/services/topia/service/data/longline/LonglinePositionSetDtoHelper.java index 9398e80..8f24f4e 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/service/data/longline/LonglinePositionSetDtoHelper.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/service/data/longline/LonglinePositionSetDtoHelper.java @@ -78,7 +78,7 @@ public class LonglinePositionSetDtoHelper { DataReference<BasketDto> basketRefWithSection = positionSetDto.getBaskets().stream() .filter(b -> basketRef.getId().equals(b.getId())) .findFirst() - .get(); + .orElse(null); positionDto.setBasket(basketRefWithSection); @@ -91,7 +91,7 @@ public class LonglinePositionSetDtoHelper { DataReference<BranchlineDto> branchlineRefWithSection = positionSetDto.getBranchlines().stream() .filter(b -> branchlineRef.getId().equals(b.getId())) .findFirst() - .get(); + .orElse(null); positionDto.setBranchline(branchlineRefWithSection); diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/service/data/seine/RouteServiceTopia.java b/services-topia/src/main/java/fr/ird/observe/services/topia/service/data/seine/RouteServiceTopia.java index 2d75499..61f5fa9 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/service/data/seine/RouteServiceTopia.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/service/data/seine/RouteServiceTopia.java @@ -109,7 +109,7 @@ public class RouteServiceTopia extends ObserveServiceTopia implements RouteServi for (ActivitySeineStubDto activitySeineDto : activitySeineDtos) { - ActivitySeine activitySeine = activitySeines.stream().filter(TopiaEntities.entityHasId(activitySeineDto.getId())::apply).findFirst().get(); + ActivitySeine activitySeine = activitySeines.stream().filter(TopiaEntities.entityHasId(activitySeineDto.getId())::apply).findFirst().orElse(null); boolean isFindeVeille = activitySeine.getVesselActivitySeine() != null && ActivitySeineImpl.ACTIVITY_FIN_DE_VEILLE.equals(activitySeine.getVesselActivitySeine().getCode()); diff --git a/services-topia/src/test/java/fr/ird/observe/services/topia/entity/LengthWeightParemetersTest.java b/services-topia/src/test/java/fr/ird/observe/services/topia/entity/LengthWeightParemetersTest.java index 517b48e..866dd94 100644 --- a/services-topia/src/test/java/fr/ird/observe/services/topia/entity/LengthWeightParemetersTest.java +++ b/services-topia/src/test/java/fr/ird/observe/services/topia/entity/LengthWeightParemetersTest.java @@ -92,10 +92,10 @@ public class LengthWeightParemetersTest extends AbstractServiceTopiaTest { LengthWeightParameterTopiaDao lengthWeightParameterDao = persistenceContext.getLengthWeightParameterDao(); - Species species = optionalSpecies.get(); - Sex maleSex = optionalMaleSex.get(); - Ocean atlanticOcean = optionalAtlanticOcean.get(); - Ocean indianOcean = optionalIndianOcean.get(); + Species species = optionalSpecies.orElse(null); + Sex maleSex = optionalMaleSex.orElse(null); + Ocean atlanticOcean = optionalAtlanticOcean.orElse(null); + Ocean indianOcean = optionalIndianOcean.orElse(null); // Ajout parametrage Male / Atlantique (2010) createLengthWeightParameter(lengthWeightParameterDao, species, atlanticOcean, maleSex, firstStartDate, firstEndDate); @@ -175,13 +175,13 @@ public class LengthWeightParemetersTest extends AbstractServiceTopiaTest { Optional<Ocean> optionalPacificOcean = Optional.ofNullable(oceanDAO.forCodeEquals("3").tryFindUnique().orNull()); Assert.assertNotNull("Could not find ocean with code 3 (Pacific)", optionalPacificOcean.isPresent()); - Species species = optionalSpecies.get(); - Sex undeterminedSex = optionalUndeterminedSex.get(); - Sex maleSex = optionalMaleSex.get(); - Sex femaleSex = optionalFemaleSex.get(); - Ocean atlanticOcean = optionalAtlanticOcean.get(); - Ocean indianOcean = optionalIndianOcean.get(); - Ocean pacificOcean = optionalPacificOcean.get(); + Species species = optionalSpecies.orElse(null); + Sex undeterminedSex = optionalUndeterminedSex.orElse(null); + Sex maleSex = optionalMaleSex.orElse(null); + Sex femaleSex = optionalFemaleSex.orElse(null); + Ocean atlanticOcean = optionalAtlanticOcean.orElse(null); + Ocean indianOcean = optionalIndianOcean.orElse(null); + Ocean pacificOcean = optionalPacificOcean.orElse(null); assertFoundLengthWeightParameter(persistenceContext, species, atlanticOcean, null, undeterminedSex, date2009, date1970); assertFoundLengthWeightParameter(persistenceContext, species, atlanticOcean, undeterminedSex, undeterminedSex, date2009, date1970); diff --git a/services-topia/src/test/java/fr/ird/observe/services/topia/service/data/seine/TripSeineGearUseServiceTopiaTest.java b/services-topia/src/test/java/fr/ird/observe/services/topia/service/data/seine/TripSeineGearUseServiceTopiaTest.java index 3bb5401..c88e985 100644 --- a/services-topia/src/test/java/fr/ird/observe/services/topia/service/data/seine/TripSeineGearUseServiceTopiaTest.java +++ b/services-topia/src/test/java/fr/ird/observe/services/topia/service/data/seine/TripSeineGearUseServiceTopiaTest.java @@ -79,7 +79,7 @@ public class TripSeineGearUseServiceTopiaTest extends AbstractServiceTopiaTest { .stream() .filter(IdHelper.newIdPredicate(ObserveFixtures.GEAR_USE_FEATURES_SEINE_ID)) .findFirst() - .get(); + .orElse(null); Assert.assertEquals(featuresSeine.getTopiaId(), featuresSeineDto.getId()); assertEntityEqualsReferenceDto(featuresSeine.getGear(), featuresSeineDto.getGear()); @@ -94,7 +94,7 @@ public class TripSeineGearUseServiceTopiaTest extends AbstractServiceTopiaTest { .stream() .filter(TopiaEntities.entityHasId(measurementSeineDto.getId())::apply) .findFirst() - .get(); + .orElse(null); assertEntityEqualsReferenceDto(measurementSeine.getGearCaracteristic(), measurementSeineDto.getGearCaracteristic()); Assert.assertEquals(measurementSeine.getMeasurementValue(), measurementSeineDto.getMeasurementValue()); @@ -126,7 +126,7 @@ public class TripSeineGearUseServiceTopiaTest extends AbstractServiceTopiaTest { .stream() .filter(IdHelper.newIdPredicate(ObserveFixtures.GEAR_USE_FEATURES_SEINE_ID)) .findFirst() - .get(); + .orElse(null); gearUseFeaturesSeineDto.setNumber(12); gearUseFeaturesSeineDto.setComment("Un Commentaire"); @@ -157,7 +157,7 @@ public class TripSeineGearUseServiceTopiaTest extends AbstractServiceTopiaTest { .stream() .filter(TopiaEntities.entityHasId(measurementSeineDto.getId())::apply) .findFirst() - .get(); + .orElse(null); assertReferenceDtoEqualsEntity(measurementSeineDto.getGearCaracteristic(), measurementSeine.getGearCaracteristic()); Assert.assertEquals(measurementSeineDto.getMeasurementValue(), measurementSeine.getMeasurementValue()); diff --git a/services/src/main/java/fr/ird/observe/services/ObserveFormRequests.java b/services/src/main/java/fr/ird/observe/services/ObserveFormRequests.java index b36afaf..3857b1a 100644 --- a/services/src/main/java/fr/ird/observe/services/ObserveFormRequests.java +++ b/services/src/main/java/fr/ird/observe/services/ObserveFormRequests.java @@ -508,10 +508,6 @@ public enum ObserveFormRequests { public static FormRequestDefinition get(String definitionName) { ObserveFormRequests requestDefinitions = valueOf(definitionName); - if (requestDefinitions == null) { - throw new IllegalArgumentException("No definition with name " + definitionName + " registred"); - } - return requestDefinitions.getDefinition(); } diff --git a/services/src/main/java/fr/ird/observe/services/dto/longline/SectionWithTemplate.java b/services/src/main/java/fr/ird/observe/services/dto/longline/SectionWithTemplate.java index 6481b52..780914e 100644 --- a/services/src/main/java/fr/ird/observe/services/dto/longline/SectionWithTemplate.java +++ b/services/src/main/java/fr/ird/observe/services/dto/longline/SectionWithTemplate.java @@ -146,7 +146,7 @@ public class SectionWithTemplate extends SectionDto { @Override public boolean equals(Object o) { - return delegate.equals(o); + return o instanceof SectionWithTemplate && delegate.equals(o); } @Override diff --git a/services/src/main/java/fr/ird/observe/services/gson/DateAdapter.java b/services/src/main/java/fr/ird/observe/services/gson/DateAdapter.java index 9e04461..9566298 100644 --- a/services/src/main/java/fr/ird/observe/services/gson/DateAdapter.java +++ b/services/src/main/java/fr/ird/observe/services/gson/DateAdapter.java @@ -53,6 +53,7 @@ import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.Objects; import java.util.TimeZone; /** @@ -86,6 +87,7 @@ public class DateAdapter implements JsonSerializer<Date>, JsonDeserializer<Date> throw new JsonParseException("The date should be a string value"); } Date date = deserializeToDate(json); + Objects.requireNonNull(date); if (typeOfT == Date.class) { return date; } else if (typeOfT == Timestamp.class) { diff --git a/services/src/main/java/fr/ird/observe/services/service/actions/report/Report.java b/services/src/main/java/fr/ird/observe/services/service/actions/report/Report.java index 338e339..cfa9976 100644 --- a/services/src/main/java/fr/ird/observe/services/service/actions/report/Report.java +++ b/services/src/main/java/fr/ird/observe/services/service/actions/report/Report.java @@ -151,8 +151,8 @@ public class Report implements Serializable, ObserveDto { return t(name); } - public ReportVariable getRepeatVariable(final String name) { - return Lists.newArrayList(repeatVariables).stream().filter(reportVariable -> name.equals(reportVariable.getName())).findFirst().get(); + public ReportVariable getRepeatVariable(String name) { + return Lists.newArrayList(repeatVariables).stream().filter(reportVariable -> name.equals(reportVariable.getName())).findFirst().orElse(null); } public boolean canExecute() { diff --git a/services/src/main/java/fr/ird/observe/services/service/actions/report/ReportBuilder.java b/services/src/main/java/fr/ird/observe/services/service/actions/report/ReportBuilder.java index 4b08187..bafe295 100644 --- a/services/src/main/java/fr/ird/observe/services/service/actions/report/ReportBuilder.java +++ b/services/src/main/java/fr/ird/observe/services/service/actions/report/ReportBuilder.java @@ -409,9 +409,9 @@ public class ReportBuilder { try { type = Class.forName(typeStr); } catch (ClassNotFoundException eee) { - throw new IllegalArgumentException("Le type " + type + " n'est pas connu", eee); + throw new IllegalArgumentException("Le type " + typeStr + " n'est pas connu", eee); } - ReportVariable variable = new ReportVariable(id, type, request); + ReportVariable<?> variable = new ReportVariable<>(id, type, request); if (log.isInfoEnabled()) { log.info("Detects a variable : [" + reportName + ":" + variable.getName() + "] = " + variable.getRequest() + " (type = " + variable.getType().getName() + ")"); } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm