Observe-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
May 2020
- 1 participants
- 77 discussions
[Git][ultreiaio/ird-observe][develop-7.x] 3 commits: [SYNCHRO MAREES] L'assistant demande un remplacement de code manquant, même si...
by Tony CHEMIT 18 May '20
by Tony CHEMIT 18 May '20
18 May '20
Tony CHEMIT pushed to branch develop-7.x at ultreiaio / ird-observe
Commits:
5ad12da3 by Tony Chemit at 2020-05-18T12:41:05+02:00
[SYNCHRO MAREES] L'assistant demande un remplacement de code manquant, même si celui-ci n'est pas utilisé par les données (Do not take account of referential usages) - See #1432
- - - - -
4b175471 by Tony Chemit at 2020-05-18T12:41:21+02:00
Ne pas sauvegarder automatiquement la base locale lors d'une action longue - Close #1487
- - - - -
a0611f51 by Tony Chemit at 2020-05-18T12:56:36+02:00
[SYNCHRO MAREES] L'assistant demande un remplacement de code manquant, même si celui-ci n'est pas utilisé par les données (Improve generator code) - See #1432
- - - - -
10 changed files:
- client-core/src/main/java/fr/ird/observe/client/ui/admin/AdminUIHandler.java
- services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeLocalServiceLocal.java
- services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/ng/ReferentialSynchronizeSqlListRequestBuilder.java
- services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/sql/InsertSqlGenerator.java
- services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/sql/InsertSqlStatementGenerator.java
- services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/sql/InsertSqlWithCascadeStatementGenerator.java
- services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/sql/UpdateSqlGenerator.java
- services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/sql/UpdateSqlStatementGenerator.java
- services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/sql/UpdateSqlWithCascadeStatementGenerator.java
- + services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/sql/WithCascadeStatementGenerator.java
Changes:
=====================================
client-core/src/main/java/fr/ird/observe/client/ui/admin/AdminUIHandler.java
=====================================
@@ -45,6 +45,7 @@ import org.nuiton.jaxx.runtime.swing.wizard.ext.WizardState;
import javax.swing.Icon;
import javax.swing.JCheckBox;
import javax.swing.JComponent;
+import javax.swing.SwingUtilities;
import javax.swing.border.TitledBorder;
import java.awt.Component;
import java.util.Arrays;
@@ -281,7 +282,9 @@ public class AdminUIHandler implements UIHandler<AdminUI> {
if (ui.getModel().getStepState(AdminStep.SAVE_LOCAL) == WizardState.PENDING) {
SaveLocalUI tabUI = (SaveLocalUI) ui.getStepUI(AdminStep.SAVE_LOCAL);
- tabUI.getStartAction().doClick();
+ if (!tabUI.getStepModel().isLocalSourceNeedSave()) {
+ SwingUtilities.invokeLater(tabUI.getContinueAction()::doClick);
+ }
}
}
=====================================
services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeLocalServiceLocal.java
=====================================
@@ -110,7 +110,7 @@ public class UnidirectionalReferentialSynchronizeLocalServiceLocal extends Obser
TopiaMetadataEntity metadataEntity = metadataModel.getEntity(referentielName);
if (request.withReferentialToAdd()) {
- InsertSqlStatementGenerator<D> sqlStatementGenerator = new InsertSqlStatementGenerator<>(metadataModel, metadataEntity, dtoType);
+ InsertSqlStatementGenerator sqlStatementGenerator = new InsertSqlStatementGenerator(metadataModel, metadataEntity);
ImmutableSet<D> referentialToAdd = request.getReferentialToAdd();
if (ObjectMaterialDto.class.equals(dtoType)) {
@@ -127,7 +127,7 @@ public class UnidirectionalReferentialSynchronizeLocalServiceLocal extends Obser
if (request.withReferentialToUpdate()) {
- UpdateSqlStatementGenerator<D> sqlStatementGenerator = new UpdateSqlStatementGenerator<>(metadataModel, metadataEntity, dtoType);
+ UpdateSqlStatementGenerator sqlStatementGenerator = new UpdateSqlStatementGenerator(metadataModel, metadataEntity);
for (D referentialDto : request.getReferentialToUpdate()) {
ImmutableList<String> sql = sqlStatementGenerator.generateSql(referentialDto, null, null);
result.addAll(sql);
@@ -169,8 +169,11 @@ public class UnidirectionalReferentialSynchronizeLocalServiceLocal extends Obser
E e = dao.forTopiaIdEquals(id).findUnique();
Map<Class<? extends TopiaEntity>, List<? extends TopiaEntity>> allUsages = dao.findAllUsages(e);
int count = 0;
- for (List<? extends TopiaEntity> entities : allUsages.values()) {
- count += entities.size();
+ for (Map.Entry<Class<? extends TopiaEntity>, List<? extends TopiaEntity>> entry : allUsages.entrySet()) {
+ if (ObserveReferentialEntity.class.isAssignableFrom(entry.getKey())) {
+ continue;
+ }
+ count+=entry.getValue().size();
}
return count;
=====================================
services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/ng/ReferentialSynchronizeSqlListRequestBuilder.java
=====================================
@@ -144,20 +144,13 @@ public class ReferentialSynchronizeSqlListRequestBuilder {
Class<E> entityType = binder.getEntityType();
Class<D> dtoType = binder.getDtoType();
List<E> insertEntities = loadEntities(entityType, tasks);
- InsertSqlGenerator<D> insertGenerator;
+ InsertSqlGenerator insertGenerator;
if (metadata.withEntities()) {
Multimap<Class<? extends ReferentialDto>, String> allIds = ArrayListMultimap.create(request.getIdsOnlyExistingOnThisSide());
allIds.putAll(newIds);
- insertGenerator = new InsertSqlWithCascadeStatementGenerator<D>(metadataModel, metadata, dtoType, allIds) {
-
- @Override
- protected <DD extends ReferentialDto> ImmutableList<String> insertMissingReferential(Class<DD> referentialType, String id) {
- ReferentialDtoEntityContext<DD, ?, ?> modelContext = DbModelHelper.fromReferentialDto(referentialType);
- return addExtraInsertStatement(id, modelContext.toEntityBinder());
- }
- };
+ insertGenerator = new InsertSqlWithCascadeStatementGenerator(service, metadataModel, metadata, dtoType, allIds);
} else {
- insertGenerator = new InsertSqlStatementGenerator<>(metadataModel, metadata, dtoType);
+ insertGenerator = new InsertSqlStatementGenerator(metadataModel, metadata);
}
for (E entity : insertEntities) {
@@ -173,24 +166,13 @@ public class ReferentialSynchronizeSqlListRequestBuilder {
private <D extends ReferentialDto, E extends ObserveReferentialEntity> void onUpdate(TopiaMetadataEntity metadata, Set<ReferentialSynchronizeTask> tasks, ReferentialEntityDtoBinderSupport<D, E> binder, Multimap<Class<? extends ReferentialDto>, String> newIds) {
- Class<D> dtoType = binder.getDtoType();
- UpdateSqlGenerator<D> updateGenerator;
-
+ UpdateSqlGenerator updateGenerator;
if (metadata.withEntities()) {
-
Multimap<Class<? extends ReferentialDto>, String> allIds = ArrayListMultimap.create(request.getIdsOnlyExistingOnThisSide());
allIds.putAll(newIds);
-
- updateGenerator = new UpdateSqlWithCascadeStatementGenerator<D>(metadataModel, metadata, dtoType, request.getIdsOnlyExistingOnThisSide()) {
- @Override
- protected <DD extends ReferentialDto> ImmutableList<String> insertMissingReferential(Class<DD> referentialType, String id) {
- ReferentialEntityDtoBinderSupport<DD, ObserveReferentialEntity> binder = DbModelHelper.fromReferentialDto(referentialType).toEntityBinder();
- return addExtraInsertStatement(id, binder);
- }
- };
-
+ updateGenerator = new UpdateSqlWithCascadeStatementGenerator(service, metadataModel, metadata, request.getIdsOnlyExistingOnThisSide());
} else {
- updateGenerator = new UpdateSqlStatementGenerator<>(metadataModel, metadata, dtoType);
+ updateGenerator = new UpdateSqlStatementGenerator(metadataModel, metadata);
}
for (ReferentialSynchronizeTask task : tasks) {
@@ -208,7 +190,7 @@ public class ReferentialSynchronizeSqlListRequestBuilder {
private <D extends ReferentialDto, E extends ObserveReferentialEntity> void onRevert(TopiaMetadataEntity metadata, Set<ReferentialSynchronizeTask> tasks, ReferentialEntityDtoBinderSupport<D, E> binder) {
- UpdateSqlStatementGenerator<D> updateGenerator = new UpdateSqlStatementGenerator<>(metadataModel, metadata, binder.getDtoType());
+ UpdateSqlStatementGenerator updateGenerator = new UpdateSqlStatementGenerator(metadataModel, metadata);
for (ReferentialSynchronizeTask task : tasks) {
E entity = loadEntity(task);
D referential = binder.toDto(referentialLocale, entity);
@@ -279,20 +261,6 @@ public class ReferentialSynchronizeSqlListRequestBuilder {
}
- private <D extends ReferentialDto, E extends ObserveReferentialEntity> ImmutableList<String> addExtraInsertStatement(String id, ReferentialEntityDtoBinderSupport<D, E> binder) {
-
- Class<E> entityType = binder.getEntityType();
- Class<D> dtoType = binder.getDtoType();
- String referentialName = ObserveEntityEnum.valueOf(entityType).name();
- TopiaMetadataEntity metadata = metadataModel.getEntity(referentialName);
-
- InsertSqlStatementGenerator<D> insertGenerator = new InsertSqlStatementGenerator<>(metadataModel, metadata, dtoType);
- D referential = service.loadEntityToReferentialDto(binder, id);
-
- return insertGenerator.generateSql(referential);
-
- }
-
private <E extends ObserveReferentialEntity> List<E> loadEntities(Class<E> entityType, Set<ReferentialSynchronizeTask> tasks) {
Set<String> ids = tasks.stream().map(ReferentialSynchronizeTask::getReferentialId).collect(Collectors.toSet());
return service.getTopiaPersistenceContext().loadEntities(entityType, ids);
=====================================
services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/sql/InsertSqlGenerator.java
=====================================
@@ -29,7 +29,7 @@ import fr.ird.observe.dto.referential.ReferentialDto;
* @author Tony Chemit - dev(a)tchemit.fr
* @since ?
*/
-public interface InsertSqlGenerator<D extends ReferentialDto> {
+public interface InsertSqlGenerator {
- ImmutableList<String> generateSql(D referentialDto);
+ ImmutableList<String> generateSql(ReferentialDto referentialDto);
}
=====================================
services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/sql/InsertSqlStatementGenerator.java
=====================================
@@ -48,7 +48,7 @@ import java.util.Set;
*
* @author Tony Chemit - dev(a)tchemit.fr
*/
-public class InsertSqlStatementGenerator<D extends ReferentialDto> implements InsertSqlGenerator<D> {
+public class InsertSqlStatementGenerator implements InsertSqlGenerator {
private final TopiaMetadataEntity metadataEntity;
private final Set<TopiaMetadataComposition> compositions;
@@ -61,7 +61,7 @@ public class InsertSqlStatementGenerator<D extends ReferentialDto> implements In
private final Set<String> primitiveLongPropertyNames;
private final Set<String> primitiveFloatPropertyNames;
- public InsertSqlStatementGenerator(TopiaMetadataModel topiaMetadataModel, TopiaMetadataEntity metadataEntity, Class<D> dtoType) {
+ public InsertSqlStatementGenerator(TopiaMetadataModel topiaMetadataModel, TopiaMetadataEntity metadataEntity) {
this.metadataEntity = Objects.requireNonNull(metadataEntity);
this.compositions = topiaMetadataModel.getCompositions(this.metadataEntity);
this.associations = topiaMetadataModel.getAssociations(this.metadataEntity);
@@ -79,7 +79,7 @@ public class InsertSqlStatementGenerator<D extends ReferentialDto> implements In
@SuppressWarnings("unchecked")
@Override
- public ImmutableList<String> generateSql(D referentialDto) {
+ public ImmutableList<String> generateSql(ReferentialDto referentialDto) {
ImmutableList.Builder<String> result = ImmutableList.builder();
@@ -153,9 +153,8 @@ public class InsertSqlStatementGenerator<D extends ReferentialDto> implements In
for (TopiaMetadataAssociation association : associations) {
Collection<ReferentialDtoReference<?, ?>> associationValues = referentialDto.get(association.getTargetPropertyName());
- for (ReferentialDtoReference<?, ?> associationValue : associationValues) {
- String insertAssocationSql = TopiaSqlStatements.generateAssociationInsertStatement(association, id, associationValue.getId());
- result.add(TopiaSqlStatements.boxAssociationStatement(insertAssocationSql));
+ for (@SuppressWarnings("rawtypes") ReferentialDtoReference associationValue : associationValues) {
+ addAssociation(association, id, associationValue, result);
}
}
return result.build();
=====================================
services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/sql/InsertSqlWithCascadeStatementGenerator.java
=====================================
@@ -26,6 +26,7 @@ import com.google.common.collect.ImmutableList;
import com.google.common.collect.Multimap;
import fr.ird.observe.dto.reference.ReferentialDtoReference;
import fr.ird.observe.dto.referential.ReferentialDto;
+import fr.ird.observe.services.local.service.actions.synchro.referential.ng.ReferentialSynchronizeServiceLocal;
import org.nuiton.topia.persistence.metadata.TopiaMetadataAssociation;
import org.nuiton.topia.persistence.metadata.TopiaMetadataEntity;
import org.nuiton.topia.persistence.metadata.TopiaMetadataModel;
@@ -40,16 +41,17 @@ import java.util.List;
* @author Tony Chemit - dev(a)tchemit.fr
* @since 5.0
*/
-public abstract class InsertSqlWithCascadeStatementGenerator<D extends ReferentialDto> implements InsertSqlGenerator<D>{
+public class InsertSqlWithCascadeStatementGenerator extends WithCascadeStatementGenerator implements InsertSqlGenerator {
- private final InsertSqlStatementGenerator<D> delegateGenerator;
- private final Multimap<Class<? extends ReferentialDto>, String> idsOnlyExistingOnThisSide;
+ private final InsertSqlStatementGenerator delegateGenerator;
- protected InsertSqlWithCascadeStatementGenerator(TopiaMetadataModel topiaMetadataModel, TopiaMetadataEntity metadataEntity,
- Class<D> dtoType,
+ public InsertSqlWithCascadeStatementGenerator(ReferentialSynchronizeServiceLocal service,
+ TopiaMetadataModel topiaMetadataModel,
+ TopiaMetadataEntity metadataEntity,
+ Class<? extends ReferentialDto> dtoType,
Multimap<Class<? extends ReferentialDto>, String> idsOnlyExistingOnThisSide) {
- this.idsOnlyExistingOnThisSide = idsOnlyExistingOnThisSide;
- this.delegateGenerator = new InsertSqlStatementGenerator<D>(topiaMetadataModel, metadataEntity, dtoType) {
+ super(service, topiaMetadataModel);
+ this.delegateGenerator = new InsertSqlStatementGenerator(topiaMetadataModel, metadataEntity) {
@Override
<DD extends ReferentialDto, RR extends ReferentialDtoReference<DD, RR>> void addAssociation(TopiaMetadataAssociation association,
@@ -57,45 +59,26 @@ public abstract class InsertSqlWithCascadeStatementGenerator<D extends Referenti
RR associationValue,
ImmutableList.Builder<String> builder) {
super.addAssociation(association, sourceId, associationValue, builder);
- addMissingReferentialIfNecessary(associationValue.getDtoType(), associationValue.getId(), builder);
+ addMissingReferentialIfNecessary(idsOnlyExistingOnThisSide, associationValue.getDtoType(), associationValue.getId(), builder);
}
@Override
protected <DD extends ReferentialDto, RR extends ReferentialDtoReference<DD, RR>> void addReferentialReferenceParameter(RR parameter, List<String> parameters, ImmutableList.Builder<String> result) {
super.addReferentialReferenceParameter(parameter, parameters, result);
- addMissingReferentialIfNecessary(parameter.getDtoType(), parameter.getId(), result);
+ addMissingReferentialIfNecessary(idsOnlyExistingOnThisSide, parameter.getDtoType(), parameter.getId(), result);
}
@Override
protected <DD extends ReferentialDto> void addReferentialDtoParameter(DD parameter, List<String> parameters, ImmutableList.Builder<String> result) {
super.addReferentialDtoParameter(parameter, parameters, result);
- addMissingReferentialIfNecessary(dtoType, parameter.getId(), result);
+ addMissingReferentialIfNecessary(idsOnlyExistingOnThisSide, dtoType, parameter.getId(), result);
}
};
}
- protected abstract <DD extends ReferentialDto> ImmutableList<String> insertMissingReferential(Class<DD> referentialType, String id);
-
@Override
- public ImmutableList<String> generateSql(D referentialDto) {
-
+ public ImmutableList<String> generateSql(ReferentialDto referentialDto) {
return delegateGenerator.generateSql(referentialDto);
-
- }
-
- private <DD extends ReferentialDto> void addMissingReferentialIfNecessary(Class<DD> associationType, String associationId, ImmutableList.Builder<String> builder) {
-
- if (idsOnlyExistingOnThisSide.containsEntry(associationType, associationId)) {
-
- // il faut insérer aussi ce référentiel
- ImmutableList<String> sql = insertMissingReferential(associationType, associationId);
-
- builder.addAll(sql);
-
- // ce référentiel est désormais présent dans les deux sources
- idsOnlyExistingOnThisSide.remove(associationType, associationId);
-
- }
}
}
=====================================
services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/sql/UpdateSqlGenerator.java
=====================================
@@ -32,7 +32,7 @@ import java.util.Date;
* @author Tony Chemit - dev(a)tchemit.fr
* @since 5
*/
-public interface UpdateSqlGenerator<D extends ReferentialDto> {
+public interface UpdateSqlGenerator {
/**
* Generate update sql requests for the given{@code referentialDto}.
=====================================
services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/sql/UpdateSqlStatementGenerator.java
=====================================
@@ -55,7 +55,7 @@ import java.util.stream.Collectors;
*
* @author Tony Chemit - dev(a)tchemit.fr
*/
-public class UpdateSqlStatementGenerator<D extends ReferentialDto>implements UpdateSqlGenerator<D> {
+public class UpdateSqlStatementGenerator implements UpdateSqlGenerator {
private static final Logger log = LogManager.getLogger(UpdateSqlStatementGenerator.class);
private final Map<String, String> columnNames;
@@ -69,7 +69,7 @@ public class UpdateSqlStatementGenerator<D extends ReferentialDto>implements Upd
private final Set<String> primitiveFloatPropertyNames;
private final Set<String> primitiveDoublePropertyNames;
- public UpdateSqlStatementGenerator(TopiaMetadataModel topiaMetadataModel, TopiaMetadataEntity metadataEntity, Class<D> dtoType) {
+ public UpdateSqlStatementGenerator(TopiaMetadataModel topiaMetadataModel, TopiaMetadataEntity metadataEntity) {
this.metadataEntity = Objects.requireNonNull(metadataEntity);
this.compositions = topiaMetadataModel.getCompositions(metadataEntity);
this.associations = topiaMetadataModel.getAssociations(metadataEntity);
=====================================
services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/sql/UpdateSqlWithCascadeStatementGenerator.java
=====================================
@@ -27,6 +27,7 @@ import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Multimap;
import fr.ird.observe.dto.reference.ReferentialDtoReference;
import fr.ird.observe.dto.referential.ReferentialDto;
+import fr.ird.observe.services.local.service.actions.synchro.referential.ng.ReferentialSynchronizeServiceLocal;
import org.nuiton.topia.persistence.metadata.TopiaMetadataAssociation;
import org.nuiton.topia.persistence.metadata.TopiaMetadataEntity;
import org.nuiton.topia.persistence.metadata.TopiaMetadataModel;
@@ -41,17 +42,16 @@ import java.util.Date;
* @author Tony Chemit - dev(a)tchemit.fr
* @since 5.0
*/
-public abstract class UpdateSqlWithCascadeStatementGenerator<D extends ReferentialDto> implements UpdateSqlGenerator<D> {
+public class UpdateSqlWithCascadeStatementGenerator extends WithCascadeStatementGenerator implements UpdateSqlGenerator {
- private final UpdateSqlStatementGenerator<D> delegateGenerator;
- private final Multimap<Class<? extends ReferentialDto>, String> idsOnlyExistingOnThisSide;
+ private final UpdateSqlStatementGenerator delegateGenerator;
- protected UpdateSqlWithCascadeStatementGenerator(TopiaMetadataModel topiaMetadataModel,
+ public UpdateSqlWithCascadeStatementGenerator(ReferentialSynchronizeServiceLocal service,
+ TopiaMetadataModel topiaMetadataModel,
TopiaMetadataEntity metadataEntity,
- Class<D> dtoType,
Multimap<Class<? extends ReferentialDto>, String> idsOnlyExistingOnThisSide) {
- this.idsOnlyExistingOnThisSide = idsOnlyExistingOnThisSide;
- this.delegateGenerator = new UpdateSqlStatementGenerator<D>(topiaMetadataModel, metadataEntity, dtoType) {
+ super(service, topiaMetadataModel);
+ this.delegateGenerator = new UpdateSqlStatementGenerator(topiaMetadataModel, metadataEntity) {
<DD extends ReferentialDto, RR extends ReferentialDtoReference<DD, RR>> void addAssociation(TopiaMetadataAssociation association,
@@ -59,41 +59,25 @@ public abstract class UpdateSqlWithCascadeStatementGenerator<D extends Referenti
RR associationValue,
ImmutableList.Builder<String> builder) {
super.addAssociation(association, sourceId, associationValue, builder);
- addMissingReferentialIfNecessary(associationValue.getDtoType(), associationValue.getId(), builder);
+ addMissingReferentialIfNecessary(idsOnlyExistingOnThisSide, associationValue.getDtoType(), associationValue.getId(), builder);
}
@Override
protected <DD extends ReferentialDto, RR extends ReferentialDtoReference<DD, RR>> void addReferentialReferenceParameter(String columnName, RR parameter, StringBuilder parameters, ImmutableList.Builder<String> result) {
super.addReferentialReferenceParameter(columnName, parameter, parameters, result);
- addMissingReferentialIfNecessary(parameter.getDtoType(), parameter.getId(), result);
+ addMissingReferentialIfNecessary(idsOnlyExistingOnThisSide, parameter.getDtoType(), parameter.getId(), result);
}
@Override
protected <DD extends ReferentialDto> void addReferentialDtoParameter(String columnName, DD parameter, StringBuilder parameters, ImmutableList.Builder<String> result) {
super.addReferentialDtoParameter(columnName, parameter, parameters, result);
- addMissingReferentialIfNecessary(parameter.getClass(), parameter.getId(), result);
+ addMissingReferentialIfNecessary(idsOnlyExistingOnThisSide, parameter.getClass(), parameter.getId(), result);
}
};
}
- protected abstract <DD extends ReferentialDto> ImmutableList<String> insertMissingReferential(Class<DD> referentialType, String id);
-
@Override
- public ImmutableList<String> generateSql(ReferentialDto referentialDto, ImmutableSet<String> properties, Date addLastUpdateDate) {
- return delegateGenerator.generateSql(referentialDto, properties, addLastUpdateDate);
+ public ImmutableList<String> generateSql(ReferentialDto referentialDto, ImmutableSet<String> properties, Date lastUpdateDate) {
+ return delegateGenerator.generateSql(referentialDto, properties, lastUpdateDate);
}
-
- private <DD extends ReferentialDto> void addMissingReferentialIfNecessary(Class<DD> associationType, String associationId, ImmutableList.Builder<String> result) {
-
- if (idsOnlyExistingOnThisSide.containsEntry(associationType, associationId)) {
-
- // il faut insérer aussi ce référentiel
- ImmutableList<String> sqlList = insertMissingReferential(associationType, associationId);
- result.addAll(sqlList);
- // ce référentiel est désormais présent dans les deux sources
- idsOnlyExistingOnThisSide.remove(associationType, associationId);
-
- }
- }
-
}
=====================================
services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/sql/WithCascadeStatementGenerator.java
=====================================
@@ -0,0 +1,77 @@
+package fr.ird.observe.services.local.service.actions.synchro.referential.sql;
+
+/*-
+ * #%L
+ * ObServe :: Services local
+ * %%
+ * Copyright (C) 2008 - 2020 IRD, Code Lutin, Ultreia.io
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Multimap;
+import fr.ird.observe.dto.reference.ReferentialDtoReference;
+import fr.ird.observe.dto.referential.ReferentialDto;
+import fr.ird.observe.entities.referentiel.ObserveReferentialEntity;
+import fr.ird.observe.persistence.ObserveEntityEnum;
+import fr.ird.observe.services.local.service.actions.synchro.referential.ng.ReferentialSynchronizeServiceLocal;
+import fr.ird.observe.spi.DbModelHelper;
+import fr.ird.observe.spi.context.ReferentialDtoEntityContext;
+import org.nuiton.topia.persistence.metadata.TopiaMetadataEntity;
+import org.nuiton.topia.persistence.metadata.TopiaMetadataModel;
+
+/**
+ * Support statement generator when a cascade can be done on adding new referential.
+ *
+ * @author Tony Chemit - dev(a)tchemit.fr
+ * @since 8.0
+ */
+public abstract class WithCascadeStatementGenerator {
+
+ private final ReferentialSynchronizeServiceLocal service;
+ private final TopiaMetadataModel metadataModel;
+
+ protected WithCascadeStatementGenerator(ReferentialSynchronizeServiceLocal service, TopiaMetadataModel metadataModel) {
+ this.service = service;
+ this.metadataModel = metadataModel;
+ }
+
+ public <D extends ReferentialDto> void addMissingReferentialIfNecessary(Multimap<Class<? extends ReferentialDto>, String> idsOnlyExistingOnThisSide, Class<D> associationType, String associationId, ImmutableList.Builder<String> builder) {
+
+ if (idsOnlyExistingOnThisSide.containsEntry(associationType, associationId)) {
+ // need to add this referential on this other side
+ ImmutableList<String> sqlList = insertMissingReferential(associationType, associationId);
+ builder.addAll(sqlList);
+ // now this referential is on both side
+ idsOnlyExistingOnThisSide.remove(associationType, associationId);
+ }
+ }
+
+ protected <D extends ReferentialDto, R extends ReferentialDtoReference<D, R>, E extends ObserveReferentialEntity> ImmutableList<String> insertMissingReferential(Class<D> referentialType, String id) {
+ ReferentialDtoEntityContext<D, R, E> modelContext = DbModelHelper.fromReferentialDto(referentialType);
+
+ Class<E> entityType = modelContext.toEntityType();
+ String referentialName = ObserveEntityEnum.valueOf(entityType).name();
+ TopiaMetadataEntity metadata = metadataModel.getEntity(referentialName);
+
+ InsertSqlStatementGenerator insertGenerator = new InsertSqlStatementGenerator(metadataModel, metadata);
+ D referential = service.loadEntityToReferentialDto(modelContext.toEntityBinder(), id);
+ return insertGenerator.generateSql(referential);
+ }
+
+
+}
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/dd59aa482ecb044c43b38dc3…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/dd59aa482ecb044c43b38dc3…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] Version de base dans tms_version - Closes #1485
by Tony CHEMIT 18 May '20
by Tony CHEMIT 18 May '20
18 May '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
8e064dac by Tony Chemit at 2020-05-18T11:44:45+02:00
Version de base dans tms_version - Closes #1485
- - - - -
12 changed files:
- persistence/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_7_5_1.java → persistence/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_7_6.java
- − test/src/main/resources/db/7.5.1/dataForTestLongline.sql.gz
- − test/src/main/resources/db/7.5.1/dataForTestSeine.sql.gz
- − test/src/main/resources/db/7.5.1/referentiel.sql.gz
- + test/src/main/resources/db/7.6/dataForTestLongline.sql.gz
- + test/src/main/resources/db/7.6/dataForTestSeine.sql.gz
- test/src/main/resources/db/7.5.1/empty_h2.sql.gz → test/src/main/resources/db/7.6/empty_h2.sql.gz
- test/src/main/resources/db/7.5.1/empty_pg.sql.gz → test/src/main/resources/db/7.6/empty_pg.sql.gz
- + test/src/main/resources/db/7.6/referentiel.sql.gz
- test/src/main/resources/db/8.0/dataForTestLongline.sql.gz
- test/src/main/resources/db/8.0/dataForTestSeine.sql.gz
- test/src/main/resources/db/8.0/referentiel.sql.gz
Changes:
=====================================
persistence/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_7_5_1.java → persistence/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_7_6.java
=====================================
@@ -40,10 +40,10 @@ import java.util.Set;
* @since 7.5.1
*/
@AutoService(MigrationVersionResource.class)
-public class DataSourceMigrationForVersion_7_5_1 extends MigrationVersionResource {
+public class DataSourceMigrationForVersion_7_6 extends MigrationVersionResource {
- public DataSourceMigrationForVersion_7_5_1() {
- super(Versions.valueOf("7.5.1"));
+ public DataSourceMigrationForVersion_7_6() {
+ super(Versions.valueOf("7.6"));
}
@Override
=====================================
test/src/main/resources/db/7.5.1/dataForTestLongline.sql.gz deleted
=====================================
Binary files a/test/src/main/resources/db/7.5.1/dataForTestLongline.sql.gz and /dev/null differ
=====================================
test/src/main/resources/db/7.5.1/dataForTestSeine.sql.gz deleted
=====================================
Binary files a/test/src/main/resources/db/7.5.1/dataForTestSeine.sql.gz and /dev/null differ
=====================================
test/src/main/resources/db/7.5.1/referentiel.sql.gz deleted
=====================================
Binary files a/test/src/main/resources/db/7.5.1/referentiel.sql.gz and /dev/null differ
=====================================
test/src/main/resources/db/7.6/dataForTestLongline.sql.gz
=====================================
Binary files /dev/null and b/test/src/main/resources/db/7.6/dataForTestLongline.sql.gz differ
=====================================
test/src/main/resources/db/7.6/dataForTestSeine.sql.gz
=====================================
Binary files /dev/null and b/test/src/main/resources/db/7.6/dataForTestSeine.sql.gz differ
=====================================
test/src/main/resources/db/7.5.1/empty_h2.sql.gz → test/src/main/resources/db/7.6/empty_h2.sql.gz
=====================================
=====================================
test/src/main/resources/db/7.5.1/empty_pg.sql.gz → test/src/main/resources/db/7.6/empty_pg.sql.gz
=====================================
=====================================
test/src/main/resources/db/7.6/referentiel.sql.gz
=====================================
Binary files /dev/null and b/test/src/main/resources/db/7.6/referentiel.sql.gz differ
=====================================
test/src/main/resources/db/8.0/dataForTestLongline.sql.gz
=====================================
Binary files a/test/src/main/resources/db/8.0/dataForTestLongline.sql.gz and b/test/src/main/resources/db/8.0/dataForTestLongline.sql.gz differ
=====================================
test/src/main/resources/db/8.0/dataForTestSeine.sql.gz
=====================================
Binary files a/test/src/main/resources/db/8.0/dataForTestSeine.sql.gz and b/test/src/main/resources/db/8.0/dataForTestSeine.sql.gz differ
=====================================
test/src/main/resources/db/8.0/referentiel.sql.gz
=====================================
Binary files a/test/src/main/resources/db/8.0/referentiel.sql.gz and b/test/src/main/resources/db/8.0/referentiel.sql.gz differ
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/8e064dac8ff2ed3dfb6e7594e…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/8e064dac8ff2ed3dfb6e7594e…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop-7.x] Prepare version 7.6.0 (Version de base dans tms_version - Closes #1485)
by Tony CHEMIT 18 May '20
by Tony CHEMIT 18 May '20
18 May '20
Tony CHEMIT pushed to branch develop-7.x at ultreiaio / ird-observe
Commits:
dd59aa48 by Tony Chemit at 2020-05-18T11:36:59+02:00
Prepare version 7.6.0 (Version de base dans tms_version - Closes #1485)
- - - - -
25 changed files:
- client-configuration/pom.xml
- client-core/pom.xml
- client-runner/pom.xml
- dto/pom.xml
- observe-i18n/pom.xml
- observe/pom.xml
- persistence/pom.xml
- persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_7_5_1.java → persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_7_6.java
- pom.xml
- server-configuration/pom.xml
- server-core/pom.xml
- server-runner/pom.xml
- services-client/pom.xml
- services-local/pom.xml
- services/pom.xml
- test/pom.xml
- − test/src/main/resources/db/7.5.1/dataForTestLongline.sql.gz
- − test/src/main/resources/db/7.5.1/dataForTestSeine.sql.gz
- − test/src/main/resources/db/7.5.1/referentiel.sql.gz
- + test/src/main/resources/db/7.6/dataForTestLongline.sql.gz
- + test/src/main/resources/db/7.6/dataForTestSeine.sql.gz
- test/src/main/resources/db/7.5.1/empty_h2.sql.gz → test/src/main/resources/db/7.6/empty_h2.sql.gz
- test/src/main/resources/db/7.5.1/empty_pg.sql.gz → test/src/main/resources/db/7.6/empty_pg.sql.gz
- + test/src/main/resources/db/7.6/referentiel.sql.gz
- validation/pom.xml
Changes:
=====================================
client-configuration/pom.xml
=====================================
@@ -26,7 +26,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.5.3-SNAPSHOT</version>
+ <version>7.6.0-SNAPSHOT</version>
</parent>
<artifactId>client-configuration</artifactId>
@@ -90,7 +90,10 @@
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
</dependency>
-
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
<dependency>
<groupId>com.google.auto.service</groupId>
<artifactId>auto-service</artifactId>
=====================================
client-core/pom.xml
=====================================
@@ -26,7 +26,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.5.3-SNAPSHOT</version>
+ <version>7.6.0-SNAPSHOT</version>
</parent>
<artifactId>client-core</artifactId>
@@ -488,6 +488,10 @@
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
<!-- Nuiton -->
<dependency>
=====================================
client-runner/pom.xml
=====================================
@@ -26,7 +26,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.5.3-SNAPSHOT</version>
+ <version>7.6.0-SNAPSHOT</version>
</parent>
<artifactId>client-runner</artifactId>
=====================================
dto/pom.xml
=====================================
@@ -27,7 +27,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.5.3-SNAPSHOT</version>
+ <version>7.6.0-SNAPSHOT</version>
</parent>
<artifactId>dto</artifactId>
@@ -107,6 +107,10 @@
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
<dependency>
<groupId>com.google.auto.service</groupId>
<artifactId>auto-service</artifactId>
=====================================
observe-i18n/pom.xml
=====================================
@@ -26,7 +26,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.5.3-SNAPSHOT</version>
+ <version>7.6.0-SNAPSHOT</version>
</parent>
<artifactId>observe-i18n</artifactId>
@@ -37,7 +37,10 @@
<i18n.artifactId>observe</i18n.artifactId>
</properties>
<dependencies>
-
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
<dependency>
<groupId>com.google.auto.service</groupId>
<artifactId>auto-service</artifactId>
=====================================
observe/pom.xml
=====================================
@@ -26,7 +26,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.5.3-SNAPSHOT</version>
+ <version>7.6.0-SNAPSHOT</version>
</parent>
<artifactId>observe</artifactId>
=====================================
persistence/pom.xml
=====================================
@@ -26,7 +26,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.5.3-SNAPSHOT</version>
+ <version>7.6.0-SNAPSHOT</version>
</parent>
<artifactId>persistence</artifactId>
@@ -113,6 +113,10 @@
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
<dependency>
<groupId>com.google.auto.service</groupId>
<artifactId>auto-service</artifactId>
=====================================
persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_7_5_1.java → persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_7_6.java
=====================================
@@ -40,10 +40,10 @@ import java.util.Set;
* @since 7.5.1
*/
@AutoService(MigrationVersionResource.class)
-public class DataSourceMigrationForVersion_7_5_1 extends MigrationVersionResource {
+public class DataSourceMigrationForVersion_7_6 extends MigrationVersionResource {
- public DataSourceMigrationForVersion_7_5_1() {
- super(Versions.valueOf("7.5.1"));
+ public DataSourceMigrationForVersion_7_6() {
+ super(Versions.valueOf("7.6"));
}
@Override
=====================================
pom.xml
=====================================
@@ -26,12 +26,12 @@
<parent>
<groupId>io.ultreia.maven</groupId>
<artifactId>pom</artifactId>
- <version>2020.25</version>
+ <version>2020.27</version>
</parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.5.3-SNAPSHOT</version>
+ <version>7.6.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>ObServe :: Pom</name>
@@ -149,7 +149,7 @@
<devMode>true</devMode>
<!--persistence model version-->
- <observe.model.version>7.5.1</observe.model.version>
+ <observe.model.version>7.6</observe.model.version>
<!-- build timestamp configuration -->
<maven.build.timestamp.format>dd/MM/yyyy HH:mm z</maven.build.timestamp.format>
=====================================
server-configuration/pom.xml
=====================================
@@ -26,7 +26,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.5.3-SNAPSHOT</version>
+ <version>7.6.0-SNAPSHOT</version>
</parent>
<artifactId>server-configuration</artifactId>
@@ -75,6 +75,10 @@
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
<!-- Nuiton -->
<dependency>
@@ -115,7 +119,7 @@
<dependency>
<groupId>fr.ird.observe</groupId>
<artifactId>services</artifactId>
- <version>7.5.3-SNAPSHOT</version>
+ <version>7.6.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
=====================================
server-core/pom.xml
=====================================
@@ -27,7 +27,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.5.3-SNAPSHOT</version>
+ <version>7.6.0-SNAPSHOT</version>
</parent>
<artifactId>server-core</artifactId>
=====================================
server-runner/pom.xml
=====================================
@@ -27,7 +27,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.5.3-SNAPSHOT</version>
+ <version>7.6.0-SNAPSHOT</version>
</parent>
<artifactId>server-runner</artifactId>
=====================================
services-client/pom.xml
=====================================
@@ -27,7 +27,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.5.3-SNAPSHOT</version>
+ <version>7.6.0-SNAPSHOT</version>
</parent>
<artifactId>services-client</artifactId>
=====================================
services-local/pom.xml
=====================================
@@ -27,7 +27,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.5.3-SNAPSHOT</version>
+ <version>7.6.0-SNAPSHOT</version>
</parent>
<artifactId>services-local</artifactId>
@@ -101,10 +101,7 @@
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
- </dependency> <!--<dependency>-->
- <!--<groupId>commons-io</groupId>-->
- <!--<artifactId>commons-io</artifactId>-->
- <!--</dependency>-->
+ </dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
@@ -117,7 +114,10 @@
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
-
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
<dependency>
<groupId>io.ultreia.java4all.http</groupId>
<artifactId>http-api</artifactId>
=====================================
services/pom.xml
=====================================
@@ -27,7 +27,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.5.3-SNAPSHOT</version>
+ <version>7.6.0-SNAPSHOT</version>
</parent>
<artifactId>services</artifactId>
@@ -112,7 +112,10 @@
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
-
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
=====================================
test/pom.xml
=====================================
@@ -26,7 +26,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.5.3-SNAPSHOT</version>
+ <version>7.6.0-SNAPSHOT</version>
</parent>
<artifactId>test</artifactId>
=====================================
test/src/main/resources/db/7.5.1/dataForTestLongline.sql.gz deleted
=====================================
Binary files a/test/src/main/resources/db/7.5.1/dataForTestLongline.sql.gz and /dev/null differ
=====================================
test/src/main/resources/db/7.5.1/dataForTestSeine.sql.gz deleted
=====================================
Binary files a/test/src/main/resources/db/7.5.1/dataForTestSeine.sql.gz and /dev/null differ
=====================================
test/src/main/resources/db/7.5.1/referentiel.sql.gz deleted
=====================================
Binary files a/test/src/main/resources/db/7.5.1/referentiel.sql.gz and /dev/null differ
=====================================
test/src/main/resources/db/7.6/dataForTestLongline.sql.gz
=====================================
Binary files /dev/null and b/test/src/main/resources/db/7.6/dataForTestLongline.sql.gz differ
=====================================
test/src/main/resources/db/7.6/dataForTestSeine.sql.gz
=====================================
Binary files /dev/null and b/test/src/main/resources/db/7.6/dataForTestSeine.sql.gz differ
=====================================
test/src/main/resources/db/7.5.1/empty_h2.sql.gz → test/src/main/resources/db/7.6/empty_h2.sql.gz
=====================================
=====================================
test/src/main/resources/db/7.5.1/empty_pg.sql.gz → test/src/main/resources/db/7.6/empty_pg.sql.gz
=====================================
=====================================
test/src/main/resources/db/7.6/referentiel.sql.gz
=====================================
Binary files /dev/null and b/test/src/main/resources/db/7.6/referentiel.sql.gz differ
=====================================
validation/pom.xml
=====================================
@@ -26,7 +26,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.5.3-SNAPSHOT</version>
+ <version>7.6.0-SNAPSHOT</version>
</parent>
<artifactId>validation</artifactId>
@@ -75,6 +75,10 @@
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
<!-- provided dependencies -->
<dependency>
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/dd59aa482ecb044c43b38dc39…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/dd59aa482ecb044c43b38dc39…
You're receiving this email because of your account on gitlab.com.
1
0
18 May '20
Tony CHEMIT pushed to branch develop-7.x at ultreiaio / ird-observe
Commits:
2f0b5783 by Tony Chemit at 2020-05-18T11:35:34+02:00
Prepare version 7.6.0
- - - - -
25 changed files:
- client-configuration/pom.xml
- client-core/pom.xml
- client-runner/pom.xml
- dto/pom.xml
- observe-i18n/pom.xml
- observe/pom.xml
- persistence/pom.xml
- persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_7_5_1.java → persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_7_6.java
- pom.xml
- server-configuration/pom.xml
- server-core/pom.xml
- server-runner/pom.xml
- services-client/pom.xml
- services-local/pom.xml
- services/pom.xml
- test/pom.xml
- − test/src/main/resources/db/7.5.1/dataForTestLongline.sql.gz
- − test/src/main/resources/db/7.5.1/dataForTestSeine.sql.gz
- − test/src/main/resources/db/7.5.1/referentiel.sql.gz
- + test/src/main/resources/db/7.6/dataForTestLongline.sql.gz
- + test/src/main/resources/db/7.6/dataForTestSeine.sql.gz
- test/src/main/resources/db/7.5.1/empty_h2.sql.gz → test/src/main/resources/db/7.6/empty_h2.sql.gz
- test/src/main/resources/db/7.5.1/empty_pg.sql.gz → test/src/main/resources/db/7.6/empty_pg.sql.gz
- + test/src/main/resources/db/7.6/referentiel.sql.gz
- validation/pom.xml
Changes:
=====================================
client-configuration/pom.xml
=====================================
@@ -26,7 +26,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.5.3-SNAPSHOT</version>
+ <version>7.6.0-SNAPSHOT</version>
</parent>
<artifactId>client-configuration</artifactId>
@@ -90,7 +90,10 @@
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
</dependency>
-
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
<dependency>
<groupId>com.google.auto.service</groupId>
<artifactId>auto-service</artifactId>
=====================================
client-core/pom.xml
=====================================
@@ -26,7 +26,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.5.3-SNAPSHOT</version>
+ <version>7.6.0-SNAPSHOT</version>
</parent>
<artifactId>client-core</artifactId>
@@ -488,6 +488,10 @@
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
<!-- Nuiton -->
<dependency>
=====================================
client-runner/pom.xml
=====================================
@@ -26,7 +26,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.5.3-SNAPSHOT</version>
+ <version>7.6.0-SNAPSHOT</version>
</parent>
<artifactId>client-runner</artifactId>
=====================================
dto/pom.xml
=====================================
@@ -27,7 +27,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.5.3-SNAPSHOT</version>
+ <version>7.6.0-SNAPSHOT</version>
</parent>
<artifactId>dto</artifactId>
@@ -107,6 +107,10 @@
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
<dependency>
<groupId>com.google.auto.service</groupId>
<artifactId>auto-service</artifactId>
=====================================
observe-i18n/pom.xml
=====================================
@@ -26,7 +26,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.5.3-SNAPSHOT</version>
+ <version>7.6.0-SNAPSHOT</version>
</parent>
<artifactId>observe-i18n</artifactId>
@@ -37,7 +37,10 @@
<i18n.artifactId>observe</i18n.artifactId>
</properties>
<dependencies>
-
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
<dependency>
<groupId>com.google.auto.service</groupId>
<artifactId>auto-service</artifactId>
=====================================
observe/pom.xml
=====================================
@@ -26,7 +26,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.5.3-SNAPSHOT</version>
+ <version>7.6.0-SNAPSHOT</version>
</parent>
<artifactId>observe</artifactId>
=====================================
persistence/pom.xml
=====================================
@@ -26,7 +26,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.5.3-SNAPSHOT</version>
+ <version>7.6.0-SNAPSHOT</version>
</parent>
<artifactId>persistence</artifactId>
@@ -113,6 +113,10 @@
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
<dependency>
<groupId>com.google.auto.service</groupId>
<artifactId>auto-service</artifactId>
=====================================
persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_7_5_1.java → persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_7_6.java
=====================================
@@ -40,10 +40,10 @@ import java.util.Set;
* @since 7.5.1
*/
@AutoService(MigrationVersionResource.class)
-public class DataSourceMigrationForVersion_7_5_1 extends MigrationVersionResource {
+public class DataSourceMigrationForVersion_7_6 extends MigrationVersionResource {
- public DataSourceMigrationForVersion_7_5_1() {
- super(Versions.valueOf("7.5.1"));
+ public DataSourceMigrationForVersion_7_6() {
+ super(Versions.valueOf("7.6"));
}
@Override
=====================================
pom.xml
=====================================
@@ -26,12 +26,12 @@
<parent>
<groupId>io.ultreia.maven</groupId>
<artifactId>pom</artifactId>
- <version>2020.25</version>
+ <version>2020.27</version>
</parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.5.3-SNAPSHOT</version>
+ <version>7.6.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>ObServe :: Pom</name>
@@ -149,7 +149,7 @@
<devMode>true</devMode>
<!--persistence model version-->
- <observe.model.version>7.5.1</observe.model.version>
+ <observe.model.version>7.6</observe.model.version>
<!-- build timestamp configuration -->
<maven.build.timestamp.format>dd/MM/yyyy HH:mm z</maven.build.timestamp.format>
=====================================
server-configuration/pom.xml
=====================================
@@ -26,7 +26,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.5.3-SNAPSHOT</version>
+ <version>7.6.0-SNAPSHOT</version>
</parent>
<artifactId>server-configuration</artifactId>
@@ -75,6 +75,10 @@
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
<!-- Nuiton -->
<dependency>
@@ -115,7 +119,7 @@
<dependency>
<groupId>fr.ird.observe</groupId>
<artifactId>services</artifactId>
- <version>7.5.3-SNAPSHOT</version>
+ <version>7.6.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
=====================================
server-core/pom.xml
=====================================
@@ -27,7 +27,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.5.3-SNAPSHOT</version>
+ <version>7.6.0-SNAPSHOT</version>
</parent>
<artifactId>server-core</artifactId>
=====================================
server-runner/pom.xml
=====================================
@@ -27,7 +27,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.5.3-SNAPSHOT</version>
+ <version>7.6.0-SNAPSHOT</version>
</parent>
<artifactId>server-runner</artifactId>
=====================================
services-client/pom.xml
=====================================
@@ -27,7 +27,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.5.3-SNAPSHOT</version>
+ <version>7.6.0-SNAPSHOT</version>
</parent>
<artifactId>services-client</artifactId>
=====================================
services-local/pom.xml
=====================================
@@ -27,7 +27,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.5.3-SNAPSHOT</version>
+ <version>7.6.0-SNAPSHOT</version>
</parent>
<artifactId>services-local</artifactId>
@@ -101,10 +101,7 @@
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
- </dependency> <!--<dependency>-->
- <!--<groupId>commons-io</groupId>-->
- <!--<artifactId>commons-io</artifactId>-->
- <!--</dependency>-->
+ </dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
@@ -117,7 +114,10 @@
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
-
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
<dependency>
<groupId>io.ultreia.java4all.http</groupId>
<artifactId>http-api</artifactId>
=====================================
services/pom.xml
=====================================
@@ -27,7 +27,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.5.3-SNAPSHOT</version>
+ <version>7.6.0-SNAPSHOT</version>
</parent>
<artifactId>services</artifactId>
@@ -112,7 +112,10 @@
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
-
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
=====================================
test/pom.xml
=====================================
@@ -26,7 +26,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.5.3-SNAPSHOT</version>
+ <version>7.6.0-SNAPSHOT</version>
</parent>
<artifactId>test</artifactId>
=====================================
test/src/main/resources/db/7.5.1/dataForTestLongline.sql.gz deleted
=====================================
Binary files a/test/src/main/resources/db/7.5.1/dataForTestLongline.sql.gz and /dev/null differ
=====================================
test/src/main/resources/db/7.5.1/dataForTestSeine.sql.gz deleted
=====================================
Binary files a/test/src/main/resources/db/7.5.1/dataForTestSeine.sql.gz and /dev/null differ
=====================================
test/src/main/resources/db/7.5.1/referentiel.sql.gz deleted
=====================================
Binary files a/test/src/main/resources/db/7.5.1/referentiel.sql.gz and /dev/null differ
=====================================
test/src/main/resources/db/7.6/dataForTestLongline.sql.gz
=====================================
Binary files /dev/null and b/test/src/main/resources/db/7.6/dataForTestLongline.sql.gz differ
=====================================
test/src/main/resources/db/7.6/dataForTestSeine.sql.gz
=====================================
Binary files /dev/null and b/test/src/main/resources/db/7.6/dataForTestSeine.sql.gz differ
=====================================
test/src/main/resources/db/7.5.1/empty_h2.sql.gz → test/src/main/resources/db/7.6/empty_h2.sql.gz
=====================================
=====================================
test/src/main/resources/db/7.5.1/empty_pg.sql.gz → test/src/main/resources/db/7.6/empty_pg.sql.gz
=====================================
=====================================
test/src/main/resources/db/7.6/referentiel.sql.gz
=====================================
Binary files /dev/null and b/test/src/main/resources/db/7.6/referentiel.sql.gz differ
=====================================
validation/pom.xml
=====================================
@@ -26,7 +26,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.5.3-SNAPSHOT</version>
+ <version>7.6.0-SNAPSHOT</version>
</parent>
<artifactId>validation</artifactId>
@@ -75,6 +75,10 @@
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
<!-- provided dependencies -->
<dependency>
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/2f0b5783a27c70babf1a298d2…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/2f0b5783a27c70babf1a298d2…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] 2 commits: [SYNCHRO MAREES] L'assistant demande un remplacement de code manquant, même si...
by Tony CHEMIT 17 May '20
by Tony CHEMIT 17 May '20
17 May '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
4557a0e8 by Tony Chemit at 2020-05-17T20:43:11+02:00
[SYNCHRO MAREES] L'assistant demande un remplacement de code manquant, même si celui-ci n'est pas utilisé par les données
- Closes #1432
(Rethink Usage support from topia-extension)
- - - - -
43d79e6a by Tony Chemit at 2020-05-17T20:43:11+02:00
fix if parent file is null (should find out how does that happens)
- - - - -
8 changed files:
- client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/save/SaveLocalModel.java
- persistence/src/main/java/fr/ird/observe/entities/ObserveTopiaApplicationContext.java
- persistence/src/main/java/fr/ird/observe/entities/ObserveTopiaPersistenceContext.java
- persistence/src/main/java/fr/ird/observe/entities/ObserveTopiaPersistenceContextConstructorParameter.java
- pom.xml
- services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/sql/DeleteSqlStatementGenerator.java
- services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/sql/ReplaceSqlStatementGenerator.java
- services-local/src/main/java/fr/ird/observe/services/local/service/usage/UsageServiceLocal.java
Changes:
=====================================
client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/save/SaveLocalModel.java
=====================================
@@ -132,7 +132,7 @@ public class SaveLocalModel extends AdminActionModel {
public boolean isCanSaveLocal() {
boolean validate = !doBackup ||
backupFile != null &&
- !backupFile.exists() && backupFile.getParentFile().exists() && ObserveUtil.withSqlGzExtension(backupFile.getName());
+ !backupFile.exists() && backupFile.getParentFile()!=null && backupFile.getParentFile().exists() && ObserveUtil.withSqlGzExtension(backupFile.getName());
if (validate) {
String filename = getBackupFileName();
validate = !filename.isEmpty() && !filename.contains(".");
=====================================
persistence/src/main/java/fr/ird/observe/entities/ObserveTopiaApplicationContext.java
=====================================
@@ -58,8 +58,9 @@ public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicat
private static final String INSERT_LAST_UPDATE_PATTERN = "INSERT INTO COMMON.LASTUPDATEDATE (TOPIAID, TOPIAVERSION, TOPIACREATEDATE, TYPE, LASTUPDATEDATE) VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.%03d', 0, CURRENT_TIMESTAMP, '%s', CURRENT_TIMESTAMP);";
private static final String CREATE_SCHEMA_SQL = "CREATE SCHEMA %s;";
protected final String authenticationToken;
- private transient TopiaMetadataModelSupport topiaMetadataModelSupport;
private final TopiaSqlTablesFactory topiaSqlTablesFactory;
+ private transient TopiaMetadataModelSupport topiaMetadataModelSupport;
+ private transient ObserveTopiaUsageModel topiaUsageModel;
/**
* Mise à {@code true} quand au moins une connection a été effectuée.
@@ -89,6 +90,7 @@ public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicat
getSessionRegistry(),
getTopiaMetadataModelSupport(),
this,
+ getTopiaUsageModel(),
getConfiguration()
)
);
@@ -277,7 +279,7 @@ public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicat
return referentialTables;
}
- public <E extends ReferentialEntity> TopiaSqlTables getReferentialTable(Class<E> entityType) {
+ public <E extends ReferentialEntity<?,?>> TopiaSqlTables getReferentialTable(Class<E> entityType) {
ObserveEntityEnum entityEnum = ObserveEntityEnum.valueOf(entityType);
return referentialTables = topiaSqlTablesFactory.newReplicateEntityTables(new TripReplicateTablesPredicate(), entityEnum);
}
@@ -286,6 +288,10 @@ public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicat
return topiaMetadataModelSupport == null ? topiaMetadataModelSupport = newModelSupport() : topiaMetadataModelSupport;
}
+ public ObserveTopiaUsageModel getTopiaUsageModel() {
+ return topiaUsageModel == null ? topiaUsageModel = new ObserveTopiaUsageModel() : topiaUsageModel;
+ }
+
private void executeSqlStatements0(TopiaSqlScript content) {
SqlScriptReader scriptLocation = content.getLocation();
@@ -326,7 +332,7 @@ public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicat
private static class TripReplicateTablesPredicate implements TopiaSqlTablesFactory.TopiaSqlTablesPredicate {
- private final Set<TopiaMetadataEntity> dones = new LinkedHashSet<>();
+ private final Set<TopiaMetadataEntity> done = new LinkedHashSet<>();
private final Set<String> sections = ImmutableSet.of(
ObserveEntityEnum.ll_observation_Branchline.name(),
ObserveEntityEnum.ll_observation_Basket.name(),
@@ -337,7 +343,7 @@ public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicat
@Override
public boolean acceptEntity(TopiaMetadataEntity metadataEntity) {
- return dones.add(metadataEntity);
+ return done.add(metadataEntity);
}
@Override
=====================================
persistence/src/main/java/fr/ird/observe/entities/ObserveTopiaPersistenceContext.java
=====================================
@@ -29,7 +29,6 @@ import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.nuiton.topia.persistence.TopiaDao;
import org.nuiton.topia.persistence.TopiaEntity;
-import org.nuiton.topia.persistence.TopiaEntityEnumProvider;
import org.nuiton.topia.persistence.internal.AbstractTopiaPersistenceContextConstructorParameter;
import org.nuiton.topia.persistence.internal.support.TopiaUsageSupportImpl;
import org.nuiton.topia.persistence.metadata.TopiaMetadataModel;
@@ -39,6 +38,7 @@ import org.nuiton.topia.persistence.script.TopiaSqlScript;
import org.nuiton.topia.persistence.support.TopiaMetadataModelSupport;
import org.nuiton.topia.persistence.support.TopiaSqlQuery;
import org.nuiton.topia.persistence.support.TopiaUsageSupport;
+import org.nuiton.topia.persistence.usage.TopiaUsageModel;
import java.net.URL;
import java.sql.Connection;
@@ -57,8 +57,8 @@ public class ObserveTopiaPersistenceContext extends AbstractObserveTopiaPersiste
private final boolean showSql;
private final TopiaMetadataModelSupport topiaMetadataModelSupport;
- private TopiaEntityEnumProvider topiaEntityEnumProvider;
- private TopiaUsageSupport topiaUsageSupport;
+ private final TopiaUsageModel topiaUsageModel;
+ private transient TopiaUsageSupport topiaUsageSupport;
public ObserveTopiaPersistenceContext(AbstractTopiaPersistenceContextConstructorParameter parameter) {
super(parameter);
@@ -68,17 +68,15 @@ public class ObserveTopiaPersistenceContext extends AbstractObserveTopiaPersiste
public ObserveTopiaPersistenceContext(ObserveTopiaPersistenceContextConstructorParameter parameter) {
super(parameter);
topiaMetadataModelSupport = parameter.getTopiaMetadataModelSupport();
- topiaEntityEnumProvider = parameter.getTopiaEntityEnumProvider();
+ topiaUsageModel = parameter.getTopiaUsageModel();
this.showSql = parameter.getConfiguration().isShowSql();
}
public <E extends Entity> Date getLastUpdateDate(Class<E> entityType) {
-
LastUpdateDateTopiaDao dao = getDao(LastUpdateDate.class, LastUpdateDateTopiaDao.class);
LastUpdateDate lastUpdateDate = dao.findUniqueByType(entityType.getName());
log.debug("getLastUpdateDate: " + lastUpdateDate.getLastUpdateDate() + " for entity type: " + entityType.getName());
return lastUpdateDate.getLastUpdateDate();
-
}
public <E extends Entity> void updateLastUpdateDate(E entity, Date date) {
@@ -125,7 +123,6 @@ public class ObserveTopiaPersistenceContext extends AbstractObserveTopiaPersiste
Objects.requireNonNull(entityEnum, "Entity " + entity + " is not managed by ToPIA");
//noinspection unchecked
return (Class<E>) entityEnum.getContract();
-
}
public <E extends Entity> TopiaDao<E> getDao(E entity) {
@@ -173,9 +170,7 @@ public class ObserveTopiaPersistenceContext extends AbstractObserveTopiaPersiste
}
dao.delete(entity);
}
-
updateLastUpdateDate(entityType, now);
-
}
public void executeSqlScript(URL location) {
@@ -201,29 +196,27 @@ public class ObserveTopiaPersistenceContext extends AbstractObserveTopiaPersiste
}
public TopiaUsageSupport getTopiaUsageSupport() {
- if (topiaUsageSupport == null) {
- topiaUsageSupport = new TopiaUsageSupportImpl(this, topiaMetadataModelSupport, topiaEntityEnumProvider);
- }
- return topiaUsageSupport;
+ return topiaUsageSupport == null ? topiaUsageSupport = new TopiaUsageSupportImpl(this, topiaUsageModel) : topiaUsageSupport;
}
- public <E extends DataEntity> E getMultipleAssociationParent(Class<E> associationContainerType, String associationName, String associationId) {
+ public <E extends DataEntity<?, ?>> E getMultipleAssociationParent(Class<E> associationContainerType, String associationName, String associationId) {
ObserveEntityEnum parentEntityEnum = ObserveEntityEnum.valueOf(associationContainerType);
TopiaMetadataModel metadataModel = topiaMetadataModelSupport.getMetadataModel();
String parentId = metadataModel.getMultipleAssociationParentId(getSqlSupport(), parentEntityEnum, associationName, associationId);
return getAssociationParent(associationContainerType, associationName, associationId, parentId);
}
- public <E extends DataEntity> E getSingleAssociationParent(Class<E> associationContainerType, String associationName, String associationId) {
+ public <E extends DataEntity<?, ?>> E getSingleAssociationParent(Class<E> associationContainerType, String associationName, String associationId) {
ObserveEntityEnum parentEntityEnum = ObserveEntityEnum.valueOf(associationContainerType);
TopiaMetadataModel metadataModel = topiaMetadataModelSupport.getMetadataModel();
String parentId = metadataModel.getSingleAssociationParentId(getSqlSupport(), parentEntityEnum, associationName, associationId);
return getAssociationParent(associationContainerType, associationName, associationId, parentId);
}
- private <E extends DataEntity> E getAssociationParent(Class<E> associationContainerType, String associationName, String associationId, String parentId) {
+ @SuppressWarnings("unchecked")
+ private <E extends DataEntity<?, ?>> E getAssociationParent(Class<E> associationContainerType, String associationName, String associationId, String parentId) {
if (parentId == null) {
- @SuppressWarnings("unchecked")
+ @SuppressWarnings({"rawtypes"})
Class<? extends DataEntity> associationType = getTopiaIdFactory().getClassName(associationId);
throw new DataAssociationParentNotFoundException(DbModelHelper.fromDataEntity(associationType).toDtoType(), associationName, associationId);
}
=====================================
persistence/src/main/java/fr/ird/observe/entities/ObserveTopiaPersistenceContextConstructorParameter.java
=====================================
@@ -29,13 +29,16 @@ import org.nuiton.topia.persistence.internal.HibernateProvider;
import org.nuiton.topia.persistence.internal.TopiaHibernateSessionRegistry;
import org.nuiton.topia.persistence.internal.support.TopiaFiresSupport;
import org.nuiton.topia.persistence.support.TopiaMetadataModelSupport;
+import org.nuiton.topia.persistence.support.TopiaUsageSupport;
+import org.nuiton.topia.persistence.usage.TopiaUsageModel;
import java.util.Objects;
class ObserveTopiaPersistenceContextConstructorParameter extends AbstractTopiaPersistenceContextConstructorParameter {
private final TopiaMetadataModelSupport topiaMetadataModelSupport;
- private final TopiaEntityEnumProvider topiaEntityEnumProvider;
+ private final TopiaEntityEnumProvider<?> topiaEntityEnumProvider;
+ private final TopiaUsageModel topiaUsageModel;
private final ObserveTopiaConfiguration configuration;
/**
@@ -45,13 +48,15 @@ class ObserveTopiaPersistenceContextConstructorParameter extends AbstractTopiaPe
* @param sessionRegistry hibernate session registry
* @param topiaMetadataModelSupport metaData model support
* @param topiaEntityEnumProvider entity enum provider
+ * @param topiaUsageModel topia usage support
* @param configuration topia configuration
*/
- public ObserveTopiaPersistenceContextConstructorParameter(HibernateProvider hibernateProvider, TopiaFiresSupport applicationFiresSupport, TopiaIdFactory topiaIdFactory, TopiaHibernateSessionRegistry sessionRegistry, TopiaMetadataModelSupport topiaMetadataModelSupport, TopiaEntityEnumProvider topiaEntityEnumProvider, ObserveTopiaConfiguration configuration) {
+ public ObserveTopiaPersistenceContextConstructorParameter(HibernateProvider hibernateProvider, TopiaFiresSupport applicationFiresSupport, TopiaIdFactory topiaIdFactory, TopiaHibernateSessionRegistry sessionRegistry, TopiaMetadataModelSupport topiaMetadataModelSupport, TopiaEntityEnumProvider<?> topiaEntityEnumProvider, TopiaUsageModel topiaUsageModel, ObserveTopiaConfiguration configuration) {
super(hibernateProvider, applicationFiresSupport, topiaIdFactory, sessionRegistry);
this.topiaMetadataModelSupport = Objects.requireNonNull(topiaMetadataModelSupport);
- this.topiaEntityEnumProvider = topiaEntityEnumProvider;
- this.configuration = configuration;
+ this.topiaEntityEnumProvider = Objects.requireNonNull(topiaEntityEnumProvider);
+ this.topiaUsageModel = Objects.requireNonNull(topiaUsageModel);
+ this.configuration = Objects.requireNonNull(configuration);
}
public TopiaMetadataModelSupport getTopiaMetadataModelSupport() {
@@ -62,7 +67,11 @@ class ObserveTopiaPersistenceContextConstructorParameter extends AbstractTopiaPe
return configuration;
}
- public TopiaEntityEnumProvider getTopiaEntityEnumProvider() {
+ public TopiaEntityEnumProvider<?> getTopiaEntityEnumProvider() {
return topiaEntityEnumProvider;
}
+
+ public TopiaUsageModel getTopiaUsageModel() {
+ return topiaUsageModel;
+ }
}
=====================================
pom.xml
=====================================
@@ -24,7 +24,7 @@
<parent>
<groupId>io.ultreia.maven</groupId>
<artifactId>pom</artifactId>
- <version>2020.26</version>
+ <version>2020.27</version>
</parent>
<groupId>fr.ird.observe</groupId>
@@ -162,7 +162,7 @@
<maven.build.timestamp.format>dd/MM/yyyy HH:mm z</maven.build.timestamp.format>
<buildDate>${maven.build.timestamp}</buildDate>
- <lib.version.toolkit>4.31</lib.version.toolkit>
+ <lib.version.toolkit>4.32</lib.version.toolkit>
<lib.version.nuiton.validation>3.1</lib.version.nuiton.validation>
<!--can't use 1.4.197 (date has changed + blob also)-->
<lib.version.h2>1.4.196</lib.version.h2>
@@ -176,7 +176,7 @@
<!--<lib.version.java4all.i18n>4.0-beta-3-SNAPSHOT</lib.version.java4all.i18n>-->
<!--<lib.version.java4all.config>1.0.8-SNAPSHOT</lib.version.java4all.config>-->
<!--<lib.version.nuiton.topia>3.4.2-SNAPSHOT</lib.version.nuiton.topia>-->
-<!-- <lib.version.java4all.topia>1.20-SNAPSHOT</lib.version.java4all.topia>-->
+ <lib.version.java4all.topia>1.22</lib.version.java4all.topia>
<!--<lib.version.java4all.http>1.0.17-SNAPSHOT</lib.version.java4all.http>-->
<!-- license header configuration -->
=====================================
services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/sql/DeleteSqlStatementGenerator.java
=====================================
@@ -51,7 +51,7 @@ public class DeleteSqlStatementGenerator {
public DeleteSqlStatementGenerator(TopiaMetadataModel topiaMetadataModel, TopiaMetadataEntity metadataEntity) {
this.metadataEntity = Objects.requireNonNull(metadataEntity);
this.associations = topiaMetadataModel.getAssociations(metadataEntity);
- this.reverseAssociations = topiaMetadataModel.getReverseAssociations(metadataEntity);
+ this.reverseAssociations = topiaMetadataModel.getReverseManyToManyAssociations(metadataEntity);
}
public List<String> generateSql(String id) {
=====================================
services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/sql/ReplaceSqlStatementGenerator.java
=====================================
@@ -58,7 +58,7 @@ public class ReplaceSqlStatementGenerator {
public ReplaceSqlStatementGenerator(TopiaMetadataModel topiaMetadataModel, TopiaMetadataEntity metadataEntity) {
this.compositions = Objects.requireNonNull(topiaMetadataModel).getReverseCompositions(Objects.requireNonNull(metadataEntity));
- this.associations = topiaMetadataModel.getReverseAssociations(metadataEntity);
+ this.associations = topiaMetadataModel.getReverseManyToManyAssociations(metadataEntity);
}
public ImmutableList<String> generateSql(String sourceId, String replacementId) {
=====================================
services-local/src/main/java/fr/ird/observe/services/local/service/usage/UsageServiceLocal.java
=====================================
@@ -44,6 +44,8 @@ import fr.ird.observe.spi.context.DataDtoEntityContext;
import fr.ird.observe.spi.context.DtoEntityContext;
import fr.ird.observe.spi.context.ReferentialDtoEntityContext;
import fr.ird.observe.spi.map.ImmutableTypedMap;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.nuiton.topia.persistence.TopiaEntity;
import org.nuiton.topia.persistence.support.TopiaUsageSupport;
@@ -58,17 +60,33 @@ import java.util.Map;
*/
public class UsageServiceLocal extends ObserveServiceLocal implements UsageService {
+ private static final Logger log = LogManager.getLogger(UsageServiceLocal.class);
+
@Override
public <D extends ReferentialDto> DtoUsageCountResult<D> count(DtoUsageCountRequest<D> request) {
ReferentialEntity<D, ?> entity = loadEntity(request.getDtoType(), request.getId());
TopiaUsageSupport topiaUsageSupport = serviceContext.getTopiaPersistenceContext().getTopiaUsageSupport();
- Map<Class<? extends TopiaEntity>, Long> compositions = topiaUsageSupport.countReverseCompositions(entity, e -> true);
- Map<Class<? extends TopiaEntity>, Long> associations = topiaUsageSupport.countReverseAssociations(entity, DtoModelHelper::isData);
-
ImmutableTypedMap.Builder<Long> result = ImmutableTypedMap.builder();
- buildCountUsageResult(compositions, result);
- buildCountUsageResult(associations, result);
+
+ Map<Class<? extends TopiaEntity>, Long> compositions = topiaUsageSupport.countReverseCompositions(entity, e -> true);
+ long compositionsSum = compositions.values().stream().reduce(Long::sum).orElse(0L);
+ if (compositionsSum > 0) {
+ log.info(String.format("Found %d entity(ies) in reverse composition of entity: %s", compositionsSum, entity.getTopiaId()));
+ buildCountUsageResult(compositions, result);
+ }
+ Map<Class<? extends TopiaEntity>, Long> manyToManyAssociations = topiaUsageSupport.countReverseManyToManyAssociations(entity, DtoModelHelper::isData);
+ long manyToManyAssociationsSum = manyToManyAssociations.values().stream().reduce(Long::sum).orElse(0L);
+ if (manyToManyAssociationsSum > 0) {
+ log.info(String.format("Found %d entity(ies) in reverse many to many association of entity: %s", manyToManyAssociationsSum, entity.getTopiaId()));
+ buildCountUsageResult(manyToManyAssociations, result);
+ }
+ Map<Class<? extends TopiaEntity>, Long> oneToManyAssociations = topiaUsageSupport.countReverseOneToManyAssociations(entity, DtoModelHelper::isData);
+ long oneToManyAssociationsSum = oneToManyAssociations.values().stream().reduce(Long::sum).orElse(0L);
+ if (oneToManyAssociationsSum > 0) {
+ log.info(String.format("Found %d entity(ies) in reverse one to many association of entity: %s", oneToManyAssociationsSum, entity.getTopiaId()));
+// buildCountUsageResult(oneToManyAssociations, result);
+ }
return new DtoUsageCountResult<>(request, result.build());
}
@@ -81,14 +99,23 @@ public class UsageServiceLocal extends ObserveServiceLocal implements UsageServi
Class<T> dtoType = DtoModelHelper.getDtoType(targetType);
DtoEntityContext<T, R, Entity, ?> entityContext = DbModelHelper.fromDto(dtoType);
Class<Entity> entityType = entityContext.toEntityType();
-
- List<Entity> compositions = topiaUsageSupport.findReverseComposition(entity, entityType);
- List<Entity> associations = topiaUsageSupport.findReverseAssociation(entity, entityType);
-
ImmutableSet.Builder<R> result = ImmutableSet.builder();
- buildUsageResult(entityType, compositions, result);
- buildUsageResult(entityType, associations, result);
+ List<Entity> compositions = topiaUsageSupport.findReverseComposition(entity, entityType);
+ if (compositions.size() > 0) {
+ log.info(String.format("Found %d entity(ies) in reverse composition of entity: %s for type: %s", compositions.size(), entity.getTopiaId(), entityType.getName()));
+ buildFindUsageResult(entityType, compositions, result);
+ }
+ List<Entity> manyToManyAssociations = topiaUsageSupport.findReverseManyToManyAssociation(entity, entityType);
+ if (manyToManyAssociations.size() > 0) {
+ log.info(String.format("Found %d entity(ies) in reverse many to many composition of entity: %s for type: %s", manyToManyAssociations.size(), entity.getTopiaId(), entityType.getName()));
+ buildFindUsageResult(entityType, manyToManyAssociations, result);
+ }
+ List<Entity> oneToManyAssociations = topiaUsageSupport.findReverseOneToManyAssociation(entity, entityType);
+ if (oneToManyAssociations.size() > 0) {
+ log.info(String.format("Found %d entity(ies) in reverse one to many composition of entity: %s for type: %s", oneToManyAssociations.size(), entity.getTopiaId(), entityType.getName()));
+// buildFindUsageResult(entityType, oneToManyAssociations, result);
+ }
return result.build();
}
@@ -106,7 +133,7 @@ public class UsageServiceLocal extends ObserveServiceLocal implements UsageServi
}
@SuppressWarnings({"rawtypes", "unchecked"})
- private <R extends DtoReference<?, R>> void buildUsageResult(Class<? extends TopiaEntity> type, List<? extends TopiaEntity> entities, ImmutableSet.Builder<R> result) {
+ private <R extends DtoReference<?, R>> void buildFindUsageResult(Class<? extends TopiaEntity> type, List<? extends TopiaEntity> entities, ImmutableSet.Builder<R> result) {
if (ReferentialEntity.class.isAssignableFrom(type)) {
addAllReferentialUsage((Class) type, (List) entities, (ImmutableSet.Builder) result);
} else {
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/986b5c2cc887c828da90e2a2…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/986b5c2cc887c828da90e2a2…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] 3 commits: Only generate templates when model is init.
by Tony CHEMIT 17 May '20
by Tony CHEMIT 17 May '20
17 May '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
06d206c7 by Tony Chemit at 2020-05-15T12:42:46+02:00
Only generate templates when model is init.
- - - - -
b1466c3c by Tony Chemit at 2020-05-17T20:31:27+02:00
Rethink Usage support from topia-extension
- - - - -
986b5c2c by Tony Chemit at 2020-05-17T20:31:45+02:00
fix if parent file is null (should find out how does that happens)
- - - - -
11 changed files:
- client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/save/SaveLocalModel.java
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/wizard/connexion/DataSourceSelectorHandler.java
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/wizard/tabs/ChooseDbModeUIHandler.java
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/wizard/tabs/ConfigUIHandler.java
- persistence/src/main/java/fr/ird/observe/entities/ObserveTopiaApplicationContext.java
- persistence/src/main/java/fr/ird/observe/entities/ObserveTopiaPersistenceContext.java
- persistence/src/main/java/fr/ird/observe/entities/ObserveTopiaPersistenceContextConstructorParameter.java
- pom.xml
- services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/sql/DeleteSqlStatementGenerator.java
- services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/sql/ReplaceSqlStatementGenerator.java
- services-local/src/main/java/fr/ird/observe/services/local/service/usage/UsageServiceLocal.java
Changes:
=====================================
client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/save/SaveLocalModel.java
=====================================
@@ -132,7 +132,7 @@ public class SaveLocalModel extends AdminActionModel {
public boolean isCanSaveLocal() {
boolean validate = !doBackup ||
backupFile != null &&
- !backupFile.exists() && backupFile.getParentFile().exists() && ObserveUtil.withSqlGzExtension(backupFile.getName());
+ !backupFile.exists() && backupFile.getParentFile()!=null && backupFile.getParentFile().exists() && ObserveUtil.withSqlGzExtension(backupFile.getName());
if (validate) {
String filename = getBackupFileName();
validate = !filename.isEmpty() && !filename.contains(".");
=====================================
client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/wizard/connexion/DataSourceSelectorHandler.java
=====================================
@@ -63,7 +63,7 @@ public class DataSourceSelectorHandler implements UIHandler<DataSourceSelector>
String text = null;
if (valid) {
ObserveDataSourceInformation dataSourceInformation = model.getDataSourceInformation();
- if (dataSourceInformation != null && dataSourceInformation.getVersion() != null) {
+ if (model.isInit() && dataSourceInformation != null && dataSourceInformation.getVersion() != null) {
text = ObserveDataSourceInformationTemplate.generate(dataSourceInformation);
}
} else {
=====================================
client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/wizard/tabs/ChooseDbModeUIHandler.java
=====================================
@@ -52,8 +52,10 @@ class ChooseDbModeUIHandler extends StorageTabUIHandler<ChooseDbModeUI> implemen
PropertyChangeListener listener = evt -> {
StorageUIModel model = (StorageUIModel) evt.getSource();
- String txt = StorageUIModelTemplate.generateDataSourceSelectModeResume(model);
- ui.getResume().setText(txt);
+ if (model.isInit() && model.isValid()) {
+ String txt = StorageUIModelTemplate.generateDataSourceSelectModeResume(model);
+ ui.getResume().setText(txt);
+ }
};
StorageUIModel model = ui.getModel();
model.addPropertyChangeListener(StorageUIModel.DB_MODE_PROPERTY_NAME, listener);
=====================================
client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/wizard/tabs/ConfigUIHandler.java
=====================================
@@ -124,7 +124,10 @@ public class ConfigUIHandler extends StorageTabUIHandler<ConfigUI> implements UI
}
String updateConnexionStatusText(@SuppressWarnings("unused") ConnexionStatus status) {
- return StorageUIModelTemplate.generateConnexionTestResult(ui.getModel());
+ if (ui.getModel().isInit()) {
+ return StorageUIModelTemplate.generateConnexionTestResult(ui.getModel());
+ }
+ return "";
}
=====================================
persistence/src/main/java/fr/ird/observe/entities/ObserveTopiaApplicationContext.java
=====================================
@@ -58,8 +58,9 @@ public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicat
private static final String INSERT_LAST_UPDATE_PATTERN = "INSERT INTO COMMON.LASTUPDATEDATE (TOPIAID, TOPIAVERSION, TOPIACREATEDATE, TYPE, LASTUPDATEDATE) VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.%03d', 0, CURRENT_TIMESTAMP, '%s', CURRENT_TIMESTAMP);";
private static final String CREATE_SCHEMA_SQL = "CREATE SCHEMA %s;";
protected final String authenticationToken;
- private transient TopiaMetadataModelSupport topiaMetadataModelSupport;
private final TopiaSqlTablesFactory topiaSqlTablesFactory;
+ private transient TopiaMetadataModelSupport topiaMetadataModelSupport;
+ private transient ObserveTopiaUsageModel topiaUsageModel;
/**
* Mise à {@code true} quand au moins une connection a été effectuée.
@@ -89,6 +90,7 @@ public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicat
getSessionRegistry(),
getTopiaMetadataModelSupport(),
this,
+ getTopiaUsageModel(),
getConfiguration()
)
);
@@ -277,7 +279,7 @@ public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicat
return referentialTables;
}
- public <E extends ReferentialEntity> TopiaSqlTables getReferentialTable(Class<E> entityType) {
+ public <E extends ReferentialEntity<?,?>> TopiaSqlTables getReferentialTable(Class<E> entityType) {
ObserveEntityEnum entityEnum = ObserveEntityEnum.valueOf(entityType);
return referentialTables = topiaSqlTablesFactory.newReplicateEntityTables(new TripReplicateTablesPredicate(), entityEnum);
}
@@ -286,6 +288,10 @@ public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicat
return topiaMetadataModelSupport == null ? topiaMetadataModelSupport = newModelSupport() : topiaMetadataModelSupport;
}
+ public ObserveTopiaUsageModel getTopiaUsageModel() {
+ return topiaUsageModel == null ? topiaUsageModel = new ObserveTopiaUsageModel() : topiaUsageModel;
+ }
+
private void executeSqlStatements0(TopiaSqlScript content) {
SqlScriptReader scriptLocation = content.getLocation();
@@ -326,7 +332,7 @@ public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicat
private static class TripReplicateTablesPredicate implements TopiaSqlTablesFactory.TopiaSqlTablesPredicate {
- private final Set<TopiaMetadataEntity> dones = new LinkedHashSet<>();
+ private final Set<TopiaMetadataEntity> done = new LinkedHashSet<>();
private final Set<String> sections = ImmutableSet.of(
ObserveEntityEnum.ll_observation_Branchline.name(),
ObserveEntityEnum.ll_observation_Basket.name(),
@@ -337,7 +343,7 @@ public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicat
@Override
public boolean acceptEntity(TopiaMetadataEntity metadataEntity) {
- return dones.add(metadataEntity);
+ return done.add(metadataEntity);
}
@Override
=====================================
persistence/src/main/java/fr/ird/observe/entities/ObserveTopiaPersistenceContext.java
=====================================
@@ -29,7 +29,6 @@ import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.nuiton.topia.persistence.TopiaDao;
import org.nuiton.topia.persistence.TopiaEntity;
-import org.nuiton.topia.persistence.TopiaEntityEnumProvider;
import org.nuiton.topia.persistence.internal.AbstractTopiaPersistenceContextConstructorParameter;
import org.nuiton.topia.persistence.internal.support.TopiaUsageSupportImpl;
import org.nuiton.topia.persistence.metadata.TopiaMetadataModel;
@@ -39,6 +38,7 @@ import org.nuiton.topia.persistence.script.TopiaSqlScript;
import org.nuiton.topia.persistence.support.TopiaMetadataModelSupport;
import org.nuiton.topia.persistence.support.TopiaSqlQuery;
import org.nuiton.topia.persistence.support.TopiaUsageSupport;
+import org.nuiton.topia.persistence.usage.TopiaUsageModel;
import java.net.URL;
import java.sql.Connection;
@@ -57,8 +57,8 @@ public class ObserveTopiaPersistenceContext extends AbstractObserveTopiaPersiste
private final boolean showSql;
private final TopiaMetadataModelSupport topiaMetadataModelSupport;
- private TopiaEntityEnumProvider topiaEntityEnumProvider;
- private TopiaUsageSupport topiaUsageSupport;
+ private final TopiaUsageModel topiaUsageModel;
+ private transient TopiaUsageSupport topiaUsageSupport;
public ObserveTopiaPersistenceContext(AbstractTopiaPersistenceContextConstructorParameter parameter) {
super(parameter);
@@ -68,17 +68,15 @@ public class ObserveTopiaPersistenceContext extends AbstractObserveTopiaPersiste
public ObserveTopiaPersistenceContext(ObserveTopiaPersistenceContextConstructorParameter parameter) {
super(parameter);
topiaMetadataModelSupport = parameter.getTopiaMetadataModelSupport();
- topiaEntityEnumProvider = parameter.getTopiaEntityEnumProvider();
+ topiaUsageModel = parameter.getTopiaUsageModel();
this.showSql = parameter.getConfiguration().isShowSql();
}
public <E extends Entity> Date getLastUpdateDate(Class<E> entityType) {
-
LastUpdateDateTopiaDao dao = getDao(LastUpdateDate.class, LastUpdateDateTopiaDao.class);
LastUpdateDate lastUpdateDate = dao.findUniqueByType(entityType.getName());
log.debug("getLastUpdateDate: " + lastUpdateDate.getLastUpdateDate() + " for entity type: " + entityType.getName());
return lastUpdateDate.getLastUpdateDate();
-
}
public <E extends Entity> void updateLastUpdateDate(E entity, Date date) {
@@ -125,7 +123,6 @@ public class ObserveTopiaPersistenceContext extends AbstractObserveTopiaPersiste
Objects.requireNonNull(entityEnum, "Entity " + entity + " is not managed by ToPIA");
//noinspection unchecked
return (Class<E>) entityEnum.getContract();
-
}
public <E extends Entity> TopiaDao<E> getDao(E entity) {
@@ -173,9 +170,7 @@ public class ObserveTopiaPersistenceContext extends AbstractObserveTopiaPersiste
}
dao.delete(entity);
}
-
updateLastUpdateDate(entityType, now);
-
}
public void executeSqlScript(URL location) {
@@ -201,29 +196,27 @@ public class ObserveTopiaPersistenceContext extends AbstractObserveTopiaPersiste
}
public TopiaUsageSupport getTopiaUsageSupport() {
- if (topiaUsageSupport == null) {
- topiaUsageSupport = new TopiaUsageSupportImpl(this, topiaMetadataModelSupport, topiaEntityEnumProvider);
- }
- return topiaUsageSupport;
+ return topiaUsageSupport == null ? topiaUsageSupport = new TopiaUsageSupportImpl(this, topiaUsageModel) : topiaUsageSupport;
}
- public <E extends DataEntity> E getMultipleAssociationParent(Class<E> associationContainerType, String associationName, String associationId) {
+ public <E extends DataEntity<?, ?>> E getMultipleAssociationParent(Class<E> associationContainerType, String associationName, String associationId) {
ObserveEntityEnum parentEntityEnum = ObserveEntityEnum.valueOf(associationContainerType);
TopiaMetadataModel metadataModel = topiaMetadataModelSupport.getMetadataModel();
String parentId = metadataModel.getMultipleAssociationParentId(getSqlSupport(), parentEntityEnum, associationName, associationId);
return getAssociationParent(associationContainerType, associationName, associationId, parentId);
}
- public <E extends DataEntity> E getSingleAssociationParent(Class<E> associationContainerType, String associationName, String associationId) {
+ public <E extends DataEntity<?, ?>> E getSingleAssociationParent(Class<E> associationContainerType, String associationName, String associationId) {
ObserveEntityEnum parentEntityEnum = ObserveEntityEnum.valueOf(associationContainerType);
TopiaMetadataModel metadataModel = topiaMetadataModelSupport.getMetadataModel();
String parentId = metadataModel.getSingleAssociationParentId(getSqlSupport(), parentEntityEnum, associationName, associationId);
return getAssociationParent(associationContainerType, associationName, associationId, parentId);
}
- private <E extends DataEntity> E getAssociationParent(Class<E> associationContainerType, String associationName, String associationId, String parentId) {
+ @SuppressWarnings("unchecked")
+ private <E extends DataEntity<?, ?>> E getAssociationParent(Class<E> associationContainerType, String associationName, String associationId, String parentId) {
if (parentId == null) {
- @SuppressWarnings("unchecked")
+ @SuppressWarnings({"rawtypes"})
Class<? extends DataEntity> associationType = getTopiaIdFactory().getClassName(associationId);
throw new DataAssociationParentNotFoundException(DbModelHelper.fromDataEntity(associationType).toDtoType(), associationName, associationId);
}
=====================================
persistence/src/main/java/fr/ird/observe/entities/ObserveTopiaPersistenceContextConstructorParameter.java
=====================================
@@ -29,13 +29,16 @@ import org.nuiton.topia.persistence.internal.HibernateProvider;
import org.nuiton.topia.persistence.internal.TopiaHibernateSessionRegistry;
import org.nuiton.topia.persistence.internal.support.TopiaFiresSupport;
import org.nuiton.topia.persistence.support.TopiaMetadataModelSupport;
+import org.nuiton.topia.persistence.support.TopiaUsageSupport;
+import org.nuiton.topia.persistence.usage.TopiaUsageModel;
import java.util.Objects;
class ObserveTopiaPersistenceContextConstructorParameter extends AbstractTopiaPersistenceContextConstructorParameter {
private final TopiaMetadataModelSupport topiaMetadataModelSupport;
- private final TopiaEntityEnumProvider topiaEntityEnumProvider;
+ private final TopiaEntityEnumProvider<?> topiaEntityEnumProvider;
+ private final TopiaUsageModel topiaUsageModel;
private final ObserveTopiaConfiguration configuration;
/**
@@ -45,13 +48,15 @@ class ObserveTopiaPersistenceContextConstructorParameter extends AbstractTopiaPe
* @param sessionRegistry hibernate session registry
* @param topiaMetadataModelSupport metaData model support
* @param topiaEntityEnumProvider entity enum provider
+ * @param topiaUsageModel topia usage support
* @param configuration topia configuration
*/
- public ObserveTopiaPersistenceContextConstructorParameter(HibernateProvider hibernateProvider, TopiaFiresSupport applicationFiresSupport, TopiaIdFactory topiaIdFactory, TopiaHibernateSessionRegistry sessionRegistry, TopiaMetadataModelSupport topiaMetadataModelSupport, TopiaEntityEnumProvider topiaEntityEnumProvider, ObserveTopiaConfiguration configuration) {
+ public ObserveTopiaPersistenceContextConstructorParameter(HibernateProvider hibernateProvider, TopiaFiresSupport applicationFiresSupport, TopiaIdFactory topiaIdFactory, TopiaHibernateSessionRegistry sessionRegistry, TopiaMetadataModelSupport topiaMetadataModelSupport, TopiaEntityEnumProvider<?> topiaEntityEnumProvider, TopiaUsageModel topiaUsageModel, ObserveTopiaConfiguration configuration) {
super(hibernateProvider, applicationFiresSupport, topiaIdFactory, sessionRegistry);
this.topiaMetadataModelSupport = Objects.requireNonNull(topiaMetadataModelSupport);
- this.topiaEntityEnumProvider = topiaEntityEnumProvider;
- this.configuration = configuration;
+ this.topiaEntityEnumProvider = Objects.requireNonNull(topiaEntityEnumProvider);
+ this.topiaUsageModel = Objects.requireNonNull(topiaUsageModel);
+ this.configuration = Objects.requireNonNull(configuration);
}
public TopiaMetadataModelSupport getTopiaMetadataModelSupport() {
@@ -62,7 +67,11 @@ class ObserveTopiaPersistenceContextConstructorParameter extends AbstractTopiaPe
return configuration;
}
- public TopiaEntityEnumProvider getTopiaEntityEnumProvider() {
+ public TopiaEntityEnumProvider<?> getTopiaEntityEnumProvider() {
return topiaEntityEnumProvider;
}
+
+ public TopiaUsageModel getTopiaUsageModel() {
+ return topiaUsageModel;
+ }
}
=====================================
pom.xml
=====================================
@@ -24,7 +24,7 @@
<parent>
<groupId>io.ultreia.maven</groupId>
<artifactId>pom</artifactId>
- <version>2020.26</version>
+ <version>2020.27</version>
</parent>
<groupId>fr.ird.observe</groupId>
@@ -162,7 +162,7 @@
<maven.build.timestamp.format>dd/MM/yyyy HH:mm z</maven.build.timestamp.format>
<buildDate>${maven.build.timestamp}</buildDate>
- <lib.version.toolkit>4.31</lib.version.toolkit>
+ <lib.version.toolkit>4.32</lib.version.toolkit>
<lib.version.nuiton.validation>3.1</lib.version.nuiton.validation>
<!--can't use 1.4.197 (date has changed + blob also)-->
<lib.version.h2>1.4.196</lib.version.h2>
@@ -176,7 +176,7 @@
<!--<lib.version.java4all.i18n>4.0-beta-3-SNAPSHOT</lib.version.java4all.i18n>-->
<!--<lib.version.java4all.config>1.0.8-SNAPSHOT</lib.version.java4all.config>-->
<!--<lib.version.nuiton.topia>3.4.2-SNAPSHOT</lib.version.nuiton.topia>-->
-<!-- <lib.version.java4all.topia>1.20-SNAPSHOT</lib.version.java4all.topia>-->
+ <lib.version.java4all.topia>1.22</lib.version.java4all.topia>
<!--<lib.version.java4all.http>1.0.17-SNAPSHOT</lib.version.java4all.http>-->
<!-- license header configuration -->
=====================================
services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/sql/DeleteSqlStatementGenerator.java
=====================================
@@ -51,7 +51,7 @@ public class DeleteSqlStatementGenerator {
public DeleteSqlStatementGenerator(TopiaMetadataModel topiaMetadataModel, TopiaMetadataEntity metadataEntity) {
this.metadataEntity = Objects.requireNonNull(metadataEntity);
this.associations = topiaMetadataModel.getAssociations(metadataEntity);
- this.reverseAssociations = topiaMetadataModel.getReverseAssociations(metadataEntity);
+ this.reverseAssociations = topiaMetadataModel.getReverseManyToManyAssociations(metadataEntity);
}
public List<String> generateSql(String id) {
=====================================
services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/sql/ReplaceSqlStatementGenerator.java
=====================================
@@ -58,7 +58,7 @@ public class ReplaceSqlStatementGenerator {
public ReplaceSqlStatementGenerator(TopiaMetadataModel topiaMetadataModel, TopiaMetadataEntity metadataEntity) {
this.compositions = Objects.requireNonNull(topiaMetadataModel).getReverseCompositions(Objects.requireNonNull(metadataEntity));
- this.associations = topiaMetadataModel.getReverseAssociations(metadataEntity);
+ this.associations = topiaMetadataModel.getReverseManyToManyAssociations(metadataEntity);
}
public ImmutableList<String> generateSql(String sourceId, String replacementId) {
=====================================
services-local/src/main/java/fr/ird/observe/services/local/service/usage/UsageServiceLocal.java
=====================================
@@ -44,6 +44,8 @@ import fr.ird.observe.spi.context.DataDtoEntityContext;
import fr.ird.observe.spi.context.DtoEntityContext;
import fr.ird.observe.spi.context.ReferentialDtoEntityContext;
import fr.ird.observe.spi.map.ImmutableTypedMap;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.nuiton.topia.persistence.TopiaEntity;
import org.nuiton.topia.persistence.support.TopiaUsageSupport;
@@ -58,17 +60,33 @@ import java.util.Map;
*/
public class UsageServiceLocal extends ObserveServiceLocal implements UsageService {
+ private static final Logger log = LogManager.getLogger(UsageServiceLocal.class);
+
@Override
public <D extends ReferentialDto> DtoUsageCountResult<D> count(DtoUsageCountRequest<D> request) {
ReferentialEntity<D, ?> entity = loadEntity(request.getDtoType(), request.getId());
TopiaUsageSupport topiaUsageSupport = serviceContext.getTopiaPersistenceContext().getTopiaUsageSupport();
- Map<Class<? extends TopiaEntity>, Long> compositions = topiaUsageSupport.countReverseCompositions(entity, e -> true);
- Map<Class<? extends TopiaEntity>, Long> associations = topiaUsageSupport.countReverseAssociations(entity, DtoModelHelper::isData);
-
ImmutableTypedMap.Builder<Long> result = ImmutableTypedMap.builder();
- buildCountUsageResult(compositions, result);
- buildCountUsageResult(associations, result);
+
+ Map<Class<? extends TopiaEntity>, Long> compositions = topiaUsageSupport.countReverseCompositions(entity, e -> true);
+ long compositionsSum = compositions.values().stream().reduce(Long::sum).orElse(0L);
+ if (compositionsSum > 0) {
+ log.info(String.format("Found %d entity(ies) in reverse composition of entity: %s", compositionsSum, entity.getTopiaId()));
+ buildCountUsageResult(compositions, result);
+ }
+ Map<Class<? extends TopiaEntity>, Long> manyToManyAssociations = topiaUsageSupport.countReverseManyToManyAssociations(entity, DtoModelHelper::isData);
+ long manyToManyAssociationsSum = manyToManyAssociations.values().stream().reduce(Long::sum).orElse(0L);
+ if (manyToManyAssociationsSum > 0) {
+ log.info(String.format("Found %d entity(ies) in reverse many to many association of entity: %s", manyToManyAssociationsSum, entity.getTopiaId()));
+ buildCountUsageResult(manyToManyAssociations, result);
+ }
+ Map<Class<? extends TopiaEntity>, Long> oneToManyAssociations = topiaUsageSupport.countReverseOneToManyAssociations(entity, DtoModelHelper::isData);
+ long oneToManyAssociationsSum = oneToManyAssociations.values().stream().reduce(Long::sum).orElse(0L);
+ if (oneToManyAssociationsSum > 0) {
+ log.info(String.format("Found %d entity(ies) in reverse one to many association of entity: %s", oneToManyAssociationsSum, entity.getTopiaId()));
+// buildCountUsageResult(oneToManyAssociations, result);
+ }
return new DtoUsageCountResult<>(request, result.build());
}
@@ -81,14 +99,23 @@ public class UsageServiceLocal extends ObserveServiceLocal implements UsageServi
Class<T> dtoType = DtoModelHelper.getDtoType(targetType);
DtoEntityContext<T, R, Entity, ?> entityContext = DbModelHelper.fromDto(dtoType);
Class<Entity> entityType = entityContext.toEntityType();
-
- List<Entity> compositions = topiaUsageSupport.findReverseComposition(entity, entityType);
- List<Entity> associations = topiaUsageSupport.findReverseAssociation(entity, entityType);
-
ImmutableSet.Builder<R> result = ImmutableSet.builder();
- buildUsageResult(entityType, compositions, result);
- buildUsageResult(entityType, associations, result);
+ List<Entity> compositions = topiaUsageSupport.findReverseComposition(entity, entityType);
+ if (compositions.size() > 0) {
+ log.info(String.format("Found %d entity(ies) in reverse composition of entity: %s for type: %s", compositions.size(), entity.getTopiaId(), entityType.getName()));
+ buildFindUsageResult(entityType, compositions, result);
+ }
+ List<Entity> manyToManyAssociations = topiaUsageSupport.findReverseManyToManyAssociation(entity, entityType);
+ if (manyToManyAssociations.size() > 0) {
+ log.info(String.format("Found %d entity(ies) in reverse many to many composition of entity: %s for type: %s", manyToManyAssociations.size(), entity.getTopiaId(), entityType.getName()));
+ buildFindUsageResult(entityType, manyToManyAssociations, result);
+ }
+ List<Entity> oneToManyAssociations = topiaUsageSupport.findReverseOneToManyAssociation(entity, entityType);
+ if (oneToManyAssociations.size() > 0) {
+ log.info(String.format("Found %d entity(ies) in reverse one to many composition of entity: %s for type: %s", oneToManyAssociations.size(), entity.getTopiaId(), entityType.getName()));
+// buildFindUsageResult(entityType, oneToManyAssociations, result);
+ }
return result.build();
}
@@ -106,7 +133,7 @@ public class UsageServiceLocal extends ObserveServiceLocal implements UsageServi
}
@SuppressWarnings({"rawtypes", "unchecked"})
- private <R extends DtoReference<?, R>> void buildUsageResult(Class<? extends TopiaEntity> type, List<? extends TopiaEntity> entities, ImmutableSet.Builder<R> result) {
+ private <R extends DtoReference<?, R>> void buildFindUsageResult(Class<? extends TopiaEntity> type, List<? extends TopiaEntity> entities, ImmutableSet.Builder<R> result) {
if (ReferentialEntity.class.isAssignableFrom(type)) {
addAllReferentialUsage((Class) type, (List) entities, (ImmutableSet.Builder) result);
} else {
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/b3e8d3f6023b88140aa2f82b…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/b3e8d3f6023b88140aa2f82b…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] 3 commits: Ne pas sauvegarder automatiquement la base locale lors d'une action longue - Close #1487
by Tony CHEMIT 15 May '20
by Tony CHEMIT 15 May '20
15 May '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
93b95077 by Tony Chemit at 2020-05-15T11:01:52+02:00
Ne pas sauvegarder automatiquement la base locale lors d'une action longue - Close #1487
- - - - -
1ae23adb by Tony Chemit at 2020-05-15T11:15:21+02:00
[SYNCHRO MAREES] L'assistant demande un remplacement de code manquant, même si celui-ci n'est pas utilisé par les données (Improve generator code) - See #1432
- - - - -
b3e8d3f6 by Tony Chemit at 2020-05-15T11:17:06+02:00
[SYNCHRO MAREES] L'assistant demande un remplacement de code manquant, même si celui-ci n'est pas utilisé par les données (Use usage service (do not take account of modification of referential inside antoher referential) - See #1432
- - - - -
9 changed files:
- client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/AdminUIHandler.java
- services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeLocalServiceLocal.java
- services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/ng/ReferentialSynchronizeSqlListRequestBuilder.java
- services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/sql/InsertSqlGenerator.java
- services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/sql/InsertSqlStatementGenerator.java
- services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/sql/InsertSqlWithCascadeStatementGenerator.java
- services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/sql/UpdateSqlStatementGenerator.java
- services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/sql/UpdateSqlWithCascadeStatementGenerator.java
- + services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/sql/WithCascadeStatementGenerator.java
Changes:
=====================================
client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/AdminUIHandler.java
=====================================
@@ -272,9 +272,7 @@ public class AdminUIHandler implements UIHandler<AdminUI>, WithClientUIContext {
if (ui.getModel().getStepState(AdminStep.SAVE_LOCAL) == WizardState.PENDING) {
SaveLocalUI tabUI = (SaveLocalUI) ui.getStepUI(AdminStep.SAVE_LOCAL);
- if (tabUI.getStepModel().isLocalSourceNeedSave()) {
- SwingUtilities.invokeLater(tabUI.getStart()::doClick);
- } else {
+ if (!tabUI.getStepModel().isLocalSourceNeedSave()) {
SwingUtilities.invokeLater(tabUI.getContinueAction()::doClick);
}
}
=====================================
services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeLocalServiceLocal.java
=====================================
@@ -41,10 +41,12 @@ import fr.ird.observe.services.local.service.actions.synchro.referential.sql.Upd
import fr.ird.observe.services.service.LastUpdateDateService;
import fr.ird.observe.services.service.actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeLocalService;
import fr.ird.observe.services.service.actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeRequest;
+import fr.ird.observe.services.service.usage.DtoUsageCountRequest;
+import fr.ird.observe.services.service.usage.DtoUsageCountResult;
+import fr.ird.observe.services.service.usage.UsageService;
import fr.ird.observe.spi.DbModelHelper;
import fr.ird.observe.spi.context.ReferentialDtoEntityContext;
import org.nuiton.topia.persistence.TopiaDao;
-import org.nuiton.topia.persistence.TopiaEntity;
import org.nuiton.topia.persistence.metadata.TopiaMetadataEntity;
import org.nuiton.topia.persistence.metadata.TopiaMetadataModel;
import org.nuiton.topia.persistence.support.TopiaSqlWork;
@@ -63,19 +65,20 @@ import java.util.Set;
public class UnidirectionalReferentialSynchronizeLocalServiceLocal extends ObserveServiceLocal implements UnidirectionalReferentialSynchronizeLocalService {
private LastUpdateDateService lastUpdateDateService;
+ private UsageService usageService;
@Override
public void setServiceContext(ObserveServiceContextLocal serviceContext) {
super.setServiceContext(serviceContext);
lastUpdateDateService = serviceContext.newService(LastUpdateDateService.class);
+ usageService = serviceContext.newService(UsageService.class);
}
@Override
public <D extends ReferentialDto> ImmutableSet<String> filterIdsUsedInLocalSource(Class<D> dtoType, ImmutableSet<String> ids) {
- Class<? extends ReferentialEntity<D, ?>> entityType = DbModelHelper.fromReferentialDtoWeak(dtoType).toEntityType();
Set<String> result = new LinkedHashSet<>();
for (String id : ids) {
- int count = countUsage0(entityType, id);
+ long count = countUsage0(dtoType, id);
if (count > 0) {
result.add(id);
}
@@ -101,7 +104,7 @@ public class UnidirectionalReferentialSynchronizeLocalServiceLocal extends Obser
TopiaMetadataModel metadataModel = serviceContext.getTopiaApplicationContext().getMetadataModel();
TopiaMetadataEntity metadataEntity = metadataModel.getEntity(referentielName);
if (request.withReferentialToAdd()) {
- InsertSqlStatementGenerator<D> sqlStatementGenerator = new InsertSqlStatementGenerator<>(metadataModel, metadataEntity, dtoType);
+ InsertSqlStatementGenerator sqlStatementGenerator = new InsertSqlStatementGenerator(metadataModel, metadataEntity);
ImmutableSet<D> referentialToAdd = request.getReferentialToAdd();
if (ObjectMaterialDto.class.equals(dtoType)) {
// must reorder to be sure to insert parent before sons
@@ -149,15 +152,10 @@ public class UnidirectionalReferentialSynchronizeLocalServiceLocal extends Obser
lastUpdateDateService.updateReferentialLastUpdateDates();
}
- private <E extends ReferentialEntity<?, ?>> int countUsage0(Class<E> entityType, String id) {
- TopiaDao<E> dao = getTopiaPersistenceContext().getDao(entityType);
- E e = dao.forTopiaIdEquals(id).findUnique();
- Map<Class<? extends TopiaEntity>, List<? extends TopiaEntity>> allUsages = dao.findAllUsages(e);
- int count = 0;
- for (List<? extends TopiaEntity> entities : allUsages.values()) {
- count += entities.size();
- }
- return count;
+ private <D extends ReferentialDto> long countUsage0(Class<D> dtoType, String id) {
+ DtoUsageCountRequest<D> request = new DtoUsageCountRequest<>(dtoType, id);
+ DtoUsageCountResult<?> usageCount = usageService.count(request);
+ return usageCount.getCount().values().stream().reduce(Long::sum).orElse(0L);
}
private <E extends ReferentialEntity<D, R>, D extends ReferentialDto, R extends ReferentialDtoReference<D, R>> ReferentialDtoReferenceSet<R> getLocalSourceReferentialToDelete0(Class<E> entityType, Class<R> referenceType, ImmutableSet<String> ids) {
=====================================
services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/ng/ReferentialSynchronizeSqlListRequestBuilder.java
=====================================
@@ -140,20 +140,13 @@ public class ReferentialSynchronizeSqlListRequestBuilder {
private <D extends ReferentialDto, R extends ReferentialDtoReference<D, R>, E extends ReferentialEntity<D, R>> void onAdd(TopiaMetadataEntity metadata, Class<D> dtoType, Class<E> entityType, Set<ReferentialSynchronizeTask> tasks, Multimap<Class<? extends ReferentialDto>, String> newIds) {
List<E> insertEntities = loadEntities(entityType, tasks);
- InsertSqlGenerator<D> insertGenerator;
+ InsertSqlGenerator insertGenerator;
if (metadata.withEntities()) {
Multimap<Class<? extends ReferentialDto>, String> allIds = ArrayListMultimap.create(request.getIdsOnlyExistingOnThisSide());
allIds.putAll(newIds);
- insertGenerator = new InsertSqlWithCascadeStatementGenerator<D>(metadataModel, metadata, dtoType, allIds) {
-
- @Override
- protected <DD extends ReferentialDto> ImmutableList<String> insertMissingReferential(Class<DD> referentialType, String id) {
- ReferentialDtoEntityContext<DD, ?, ?, ?> modelContext = DbModelHelper.fromReferentialDto(referentialType);
- return addExtraInsertStatement(modelContext, id);
- }
- };
+ insertGenerator = new InsertSqlWithCascadeStatementGenerator(service, metadataModel, metadata, dtoType, allIds);
} else {
- insertGenerator = new InsertSqlStatementGenerator<>(metadataModel, metadata, dtoType);
+ insertGenerator = new InsertSqlStatementGenerator(metadataModel, metadata);
}
for (E entity : insertEntities) {
@@ -173,15 +166,7 @@ public class ReferentialSynchronizeSqlListRequestBuilder {
if (metadata.withEntities()) {
Multimap<Class<? extends ReferentialDto>, String> allIds = ArrayListMultimap.create(request.getIdsOnlyExistingOnThisSide());
allIds.putAll(newIds);
- updateGenerator = new UpdateSqlWithCascadeStatementGenerator<D>(metadataModel, metadata, request.getIdsOnlyExistingOnThisSide()) {
-
- @Override
- protected <DD extends ReferentialDto> ImmutableList<String> insertMissingReferential(Class<DD> referentialType, String id) {
- ReferentialDtoEntityContext<DD, ?, ?, ?> modelContext = DbModelHelper.fromReferentialDto(referentialType);
- return addExtraInsertStatement(modelContext, id);
- }
- };
-
+ updateGenerator = new UpdateSqlWithCascadeStatementGenerator(service, metadataModel, metadata, request.getIdsOnlyExistingOnThisSide());
} else {
updateGenerator = new UpdateSqlStatementGenerator(metadataModel, metadata);
}
@@ -256,7 +241,6 @@ public class ReferentialSynchronizeSqlListRequestBuilder {
}
}
-
private <D extends ReferentialDto> void onDeactivateWithReplacement(TopiaMetadataEntity metadata, Class<D> dtoType, Set<ReferentialSynchronizeTask> tasks) {
ReplaceSqlStatementGenerator replaceGenerator = new ReplaceSqlStatementGenerator(metadataModel, metadata);
@@ -277,18 +261,6 @@ public class ReferentialSynchronizeSqlListRequestBuilder {
}
}
- private <D extends ReferentialDto, E extends ReferentialEntity<D, ?>> ImmutableList<String> addExtraInsertStatement(ReferentialDtoEntityContext<D, ?, E, ?> binder, String id) {
-
- Class<E> entityType = binder.toEntityType();
- Class<D> dtoType = binder.toDtoType();
- String referentialName = ObserveEntityEnum.valueOf(entityType).name();
- TopiaMetadataEntity metadata = metadataModel.getEntity(referentialName);
-
- InsertSqlStatementGenerator<D> insertGenerator = new InsertSqlStatementGenerator<>(metadataModel, metadata, dtoType);
- D referential = service.loadEntityToReferentialDto(binder, id);
- return insertGenerator.generateSql(referential);
- }
-
private <E extends ReferentialEntity> List<E> loadEntities(Class<E> entityType, Set<ReferentialSynchronizeTask> tasks) {
Set<String> ids = tasks.stream().map(ReferentialSynchronizeTask::getReferentialId).collect(Collectors.toSet());
return service.getTopiaPersistenceContext().loadEntities(entityType, ids);
=====================================
services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/sql/InsertSqlGenerator.java
=====================================
@@ -29,7 +29,7 @@ import fr.ird.observe.dto.referential.ReferentialDto;
* @author Tony Chemit - dev(a)tchemit.fr
* @since ?
*/
-public interface InsertSqlGenerator<D extends ReferentialDto> {
+public interface InsertSqlGenerator {
- ImmutableList<String> generateSql(D referentialDto);
+ ImmutableList<String> generateSql(ReferentialDto referentialDto);
}
=====================================
services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/sql/InsertSqlStatementGenerator.java
=====================================
@@ -48,7 +48,7 @@ import java.util.Set;
*
* @author Tony Chemit - dev(a)tchemit.fr
*/
-public class InsertSqlStatementGenerator<D extends ReferentialDto> implements InsertSqlGenerator<D> {
+public class InsertSqlStatementGenerator implements InsertSqlGenerator {
private final TopiaMetadataEntity metadataEntity;
private final Set<TopiaMetadataComposition> compositions;
@@ -61,7 +61,7 @@ public class InsertSqlStatementGenerator<D extends ReferentialDto> implements In
private final Set<String> primitiveLongPropertyNames;
private final Set<String> primitiveFloatPropertyNames;
- public InsertSqlStatementGenerator(TopiaMetadataModel topiaMetadataModel, TopiaMetadataEntity metadataEntity, Class<D> dtoType) {
+ public InsertSqlStatementGenerator(TopiaMetadataModel topiaMetadataModel, TopiaMetadataEntity metadataEntity) {
this.metadataEntity = Objects.requireNonNull(metadataEntity);
this.compositions = topiaMetadataModel.getCompositions(this.metadataEntity);
this.associations = topiaMetadataModel.getAssociations(this.metadataEntity);
@@ -79,7 +79,7 @@ public class InsertSqlStatementGenerator<D extends ReferentialDto> implements In
@SuppressWarnings("unchecked")
@Override
- public ImmutableList<String> generateSql(D referentialDto) {
+ public ImmutableList<String> generateSql(ReferentialDto referentialDto) {
ImmutableList.Builder<String> result = ImmutableList.builder();
@@ -152,22 +152,27 @@ public class InsertSqlStatementGenerator<D extends ReferentialDto> implements In
for (TopiaMetadataAssociation association : associations) {
Collection<ReferentialDtoReference<?, ?>> associationValues = referentialDto.get(association.getTargetPropertyName());
- for (ReferentialDtoReference<?, ?> associationValue : associationValues) {
- String insertAssocationSql = TopiaSqlStatements.generateAssociationInsertStatement(association, id, associationValue.getId());
- result.add(TopiaSqlStatements.boxAssociationStatement(insertAssocationSql));
+ for (@SuppressWarnings("rawtypes") ReferentialDtoReference associationValue : associationValues) {
+ addAssociation(association, id, associationValue, result);
}
}
return result.build();
+ }
+ protected <DD extends ReferentialDto, RR extends ReferentialDtoReference<DD, RR>> void addAssociation(TopiaMetadataAssociation association,
+ String sourceId,
+ RR associationValue,
+ ImmutableList.Builder<String> builder) {
+ String insertSql = TopiaSqlStatements.generateAssociationInsertStatement(association, sourceId, associationValue.getId());
+ builder.add(TopiaSqlStatements.boxAssociationStatement(insertSql));
}
+ protected <DD extends ReferentialDto, RR extends ReferentialDtoReference<DD, RR>> void addReferentialReferenceParameter(RR parameter, List<String> parameters, ImmutableList.Builder<String> result) {
+ addStringParameter(parameter.getId(), parameters);
+ }
- <DD extends ReferentialDto, RR extends ReferentialDtoReference<DD, RR>> void addAssociation(TopiaMetadataAssociation association,
- String sourceId,
- RR associationValue,
- ImmutableList.Builder<String> builder) {
- String insertAssocationSql = TopiaSqlStatements.generateAssociationInsertStatement(association, sourceId, associationValue.getId());
- builder.add(TopiaSqlStatements.boxAssociationStatement(insertAssocationSql));
+ protected <DD extends ReferentialDto> void addReferentialDtoParameter(DD parameter, List<String> parameters, ImmutableList.Builder<String> result) {
+ addStringParameter(parameter.getId(), parameters);
}
private Set<String> computeColumnNames(TopiaMetadataEntity metadataEntity,
@@ -227,12 +232,4 @@ public class InsertSqlStatementGenerator<D extends ReferentialDto> implements In
parameters.add("" + parameter);
}
- protected <DD extends ReferentialDto, RR extends ReferentialDtoReference<DD, RR>> void addReferentialReferenceParameter(RR parameter, List<String> parameters, ImmutableList.Builder<String> result) {
- addStringParameter(parameter.getId(), parameters);
- }
-
- protected <DD extends ReferentialDto> void addReferentialDtoParameter(DD parameter, List<String> parameters, ImmutableList.Builder<String> result) {
- addStringParameter(parameter.getId(), parameters);
- }
-
}
=====================================
services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/sql/InsertSqlWithCascadeStatementGenerator.java
=====================================
@@ -26,6 +26,7 @@ import com.google.common.collect.ImmutableList;
import com.google.common.collect.Multimap;
import fr.ird.observe.dto.reference.ReferentialDtoReference;
import fr.ird.observe.dto.referential.ReferentialDto;
+import fr.ird.observe.services.local.service.actions.synchro.referential.ng.ReferentialSynchronizeServiceLocal;
import org.nuiton.topia.persistence.metadata.TopiaMetadataAssociation;
import org.nuiton.topia.persistence.metadata.TopiaMetadataEntity;
import org.nuiton.topia.persistence.metadata.TopiaMetadataModel;
@@ -40,62 +41,43 @@ import java.util.List;
* @author Tony Chemit - dev(a)tchemit.fr
* @since 5.0
*/
-public abstract class InsertSqlWithCascadeStatementGenerator<D extends ReferentialDto> implements InsertSqlGenerator<D>{
+public class InsertSqlWithCascadeStatementGenerator extends WithCascadeStatementGenerator implements InsertSqlGenerator {
- private final InsertSqlStatementGenerator<D> delegateGenerator;
- private final Multimap<Class<? extends ReferentialDto>, String> idsOnlyExistingOnThisSide;
+ private final InsertSqlStatementGenerator delegateGenerator;
- protected InsertSqlWithCascadeStatementGenerator(TopiaMetadataModel topiaMetadataModel, TopiaMetadataEntity metadataEntity,
- Class<D> dtoType,
+ public InsertSqlWithCascadeStatementGenerator(ReferentialSynchronizeServiceLocal service,
+ TopiaMetadataModel topiaMetadataModel,
+ TopiaMetadataEntity metadataEntity,
+ Class<? extends ReferentialDto> dtoType,
Multimap<Class<? extends ReferentialDto>, String> idsOnlyExistingOnThisSide) {
- this.idsOnlyExistingOnThisSide = idsOnlyExistingOnThisSide;
- this.delegateGenerator = new InsertSqlStatementGenerator<D>(topiaMetadataModel, metadataEntity, dtoType) {
-
+ super(service, topiaMetadataModel);
+ this.delegateGenerator = new InsertSqlStatementGenerator(topiaMetadataModel, metadataEntity) {
@Override
- <DD extends ReferentialDto, RR extends ReferentialDtoReference<DD, RR>> void addAssociation(TopiaMetadataAssociation association,
- String sourceId,
- RR associationValue,
- ImmutableList.Builder<String> builder) {
+ protected <DD extends ReferentialDto, RR extends ReferentialDtoReference<DD, RR>> void addAssociation(TopiaMetadataAssociation association,
+ String sourceId,
+ RR associationValue,
+ ImmutableList.Builder<String> builder) {
super.addAssociation(association, sourceId, associationValue, builder);
- addMissingReferentialIfNecessary(associationValue.getDtoType(), associationValue.getId(), builder);
+ addMissingReferentialIfNecessary(idsOnlyExistingOnThisSide, associationValue.getDtoType(), associationValue.getId(), builder);
}
@Override
- protected <DD extends ReferentialDto, RR extends ReferentialDtoReference<DD, RR>> void addReferentialReferenceParameter(RR parameter, List<String> parameters, ImmutableList.Builder<String> result) {
- super.addReferentialReferenceParameter(parameter, parameters, result);
- addMissingReferentialIfNecessary(parameter.getDtoType(), parameter.getId(), result);
+ protected <DD extends ReferentialDto, RR extends ReferentialDtoReference<DD, RR>> void addReferentialReferenceParameter(RR parameter, List<String> parameters, ImmutableList.Builder<String> builder) {
+ super.addReferentialReferenceParameter(parameter, parameters, builder);
+ addMissingReferentialIfNecessary(idsOnlyExistingOnThisSide, parameter.getDtoType(), parameter.getId(), builder);
}
@Override
- protected <DD extends ReferentialDto> void addReferentialDtoParameter(DD parameter, List<String> parameters, ImmutableList.Builder<String> result) {
- super.addReferentialDtoParameter(parameter, parameters, result);
- addMissingReferentialIfNecessary(dtoType, parameter.getId(), result);
+ protected <DD extends ReferentialDto> void addReferentialDtoParameter(DD parameter, List<String> parameters, ImmutableList.Builder<String> builder) {
+ super.addReferentialDtoParameter(parameter, parameters, builder);
+ addMissingReferentialIfNecessary(idsOnlyExistingOnThisSide, dtoType, parameter.getId(), builder);
}
};
}
- protected abstract <DD extends ReferentialDto> ImmutableList<String> insertMissingReferential(Class<DD> referentialType, String id);
-
@Override
- public ImmutableList<String> generateSql(D referentialDto) {
-
+ public ImmutableList<String> generateSql(ReferentialDto referentialDto) {
return delegateGenerator.generateSql(referentialDto);
-
- }
-
- private <DD extends ReferentialDto> void addMissingReferentialIfNecessary(Class<DD> associationType, String associationId, ImmutableList.Builder<String> builder) {
-
- if (idsOnlyExistingOnThisSide.containsEntry(associationType, associationId)) {
-
- // il faut insérer aussi ce référentiel
- ImmutableList<String> sql = insertMissingReferential(associationType, associationId);
-
- builder.addAll(sql);
-
- // ce référentiel est désormais présent dans les deux sources
- idsOnlyExistingOnThisSide.remove(associationType, associationId);
-
- }
}
}
=====================================
services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/sql/UpdateSqlStatementGenerator.java
=====================================
@@ -208,14 +208,22 @@ public class UpdateSqlStatementGenerator implements UpdateSqlGenerator {
return result.build();
}
- <DD extends ReferentialDto, RR extends ReferentialDtoReference<DD, RR>> void addAssociation(TopiaMetadataAssociation association,
- String sourceId,
- RR associationValue,
- ImmutableList.Builder<String> builder) {
+ protected <DD extends ReferentialDto, RR extends ReferentialDtoReference<DD, RR>> void addAssociation(TopiaMetadataAssociation association,
+ String sourceId,
+ RR associationValue,
+ ImmutableList.Builder<String> builder) {
String insertSql = TopiaSqlStatements.generateAssociationInsertStatement(association, sourceId, associationValue.getId());
builder.add(TopiaSqlStatements.boxAssociationStatement(insertSql));
}
+ protected <DD extends ReferentialDto, RR extends ReferentialDtoReference<DD, RR>> void addReferentialReferenceParameter(String columnName, RR parameter, StringBuilder parameters, ImmutableList.Builder<String> result) {
+ addStringParameter(columnName, parameter.getId(), parameters);
+ }
+
+ protected <DD extends ReferentialDto> void addReferentialDtoParameter(String columnName, DD parameter, StringBuilder parameters, ImmutableList.Builder<String> result) {
+ addStringParameter(columnName, parameter.getId(), parameters);
+ }
+
private Map<String, String> computeColumnNames(TopiaMetadataEntity metadataEntity, String[] simplePropertyNames, String[] compositionPropertyNames) {
Map<String, String> columnNames = new TreeMap<>();
@@ -252,14 +260,6 @@ public class UpdateSqlStatementGenerator implements UpdateSqlGenerator {
addParameter0(columnName, "" + parameter, parameters);
}
- protected <DD extends ReferentialDto, RR extends ReferentialDtoReference<DD, RR>> void addReferentialReferenceParameter(String columnName, RR parameter, StringBuilder parameters, ImmutableList.Builder<String> result) {
- addStringParameter(columnName, parameter.getId(), parameters);
- }
-
- protected <DD extends ReferentialDto> void addReferentialDtoParameter(String columnName, DD parameter, StringBuilder parameters, ImmutableList.Builder<String> result) {
- addStringParameter(columnName, parameter.getId(), parameters);
- }
-
private void addParameter0(String columnName, String value, StringBuilder parameters) {
parameters.append(", ").append(columnName).append(" = ").append(value);
}
=====================================
services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/sql/UpdateSqlWithCascadeStatementGenerator.java
=====================================
@@ -27,6 +27,7 @@ import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Multimap;
import fr.ird.observe.dto.reference.ReferentialDtoReference;
import fr.ird.observe.dto.referential.ReferentialDto;
+import fr.ird.observe.services.local.service.actions.synchro.referential.ng.ReferentialSynchronizeServiceLocal;
import org.nuiton.topia.persistence.metadata.TopiaMetadataAssociation;
import org.nuiton.topia.persistence.metadata.TopiaMetadataEntity;
import org.nuiton.topia.persistence.metadata.TopiaMetadataModel;
@@ -41,58 +42,41 @@ import java.util.Date;
* @author Tony Chemit - dev(a)tchemit.fr
* @since 5.0
*/
-public abstract class UpdateSqlWithCascadeStatementGenerator<D extends ReferentialDto> implements UpdateSqlGenerator {
+public class UpdateSqlWithCascadeStatementGenerator extends WithCascadeStatementGenerator implements UpdateSqlGenerator {
private final UpdateSqlStatementGenerator delegateGenerator;
- private final Multimap<Class<? extends ReferentialDto>, String> idsOnlyExistingOnThisSide;
- protected UpdateSqlWithCascadeStatementGenerator(TopiaMetadataModel topiaMetadataModel,
- TopiaMetadataEntity metadataEntity,
- Multimap<Class<? extends ReferentialDto>, String> idsOnlyExistingOnThisSide) {
- this.idsOnlyExistingOnThisSide = idsOnlyExistingOnThisSide;
+ public UpdateSqlWithCascadeStatementGenerator(ReferentialSynchronizeServiceLocal service,
+ TopiaMetadataModel topiaMetadataModel,
+ TopiaMetadataEntity metadataEntity,
+ Multimap<Class<? extends ReferentialDto>, String> idsOnlyExistingOnThisSide) {
+ super(service, topiaMetadataModel);
this.delegateGenerator = new UpdateSqlStatementGenerator(topiaMetadataModel, metadataEntity) {
-
-
- <DD extends ReferentialDto, RR extends ReferentialDtoReference<DD, RR>> void addAssociation(TopiaMetadataAssociation association,
- String sourceId,
- RR associationValue,
- ImmutableList.Builder<String> builder) {
+ @Override
+ protected <DD extends ReferentialDto, RR extends ReferentialDtoReference<DD, RR>> void addAssociation(TopiaMetadataAssociation association,
+ String sourceId,
+ RR associationValue,
+ ImmutableList.Builder<String> builder) {
super.addAssociation(association, sourceId, associationValue, builder);
- addMissingReferentialIfNecessary(associationValue.getDtoType(), associationValue.getId(), builder);
+ addMissingReferentialIfNecessary(idsOnlyExistingOnThisSide, associationValue.getDtoType(), associationValue.getId(), builder);
}
@Override
- protected <DD extends ReferentialDto, RR extends ReferentialDtoReference<DD, RR>> void addReferentialReferenceParameter(String columnName, RR parameter, StringBuilder parameters, ImmutableList.Builder<String> result) {
- super.addReferentialReferenceParameter(columnName, parameter, parameters, result);
- addMissingReferentialIfNecessary(parameter.getDtoType(), parameter.getId(), result);
+ protected <DD extends ReferentialDto, RR extends ReferentialDtoReference<DD, RR>> void addReferentialReferenceParameter(String columnName, RR parameter, StringBuilder parameters, ImmutableList.Builder<String> builder) {
+ super.addReferentialReferenceParameter(columnName, parameter, parameters, builder);
+ addMissingReferentialIfNecessary(idsOnlyExistingOnThisSide, parameter.getDtoType(), parameter.getId(), builder);
}
@Override
- protected <DD extends ReferentialDto> void addReferentialDtoParameter(String columnName, DD parameter, StringBuilder parameters, ImmutableList.Builder<String> result) {
- super.addReferentialDtoParameter(columnName, parameter, parameters, result);
- addMissingReferentialIfNecessary(parameter.getClass(), parameter.getId(), result);
+ protected <DD extends ReferentialDto> void addReferentialDtoParameter(String columnName, DD parameter, StringBuilder parameters, ImmutableList.Builder<String> builder) {
+ super.addReferentialDtoParameter(columnName, parameter, parameters, builder);
+ addMissingReferentialIfNecessary(idsOnlyExistingOnThisSide, parameter.getClass(), parameter.getId(), builder);
}
};
}
- protected abstract <DD extends ReferentialDto> ImmutableList<String> insertMissingReferential(Class<DD> referentialType, String id);
-
@Override
public ImmutableList<String> generateSql(ReferentialDto referentialDto, ImmutableSet<String> properties, Date lastUpdateDate) {
return delegateGenerator.generateSql(referentialDto, properties, lastUpdateDate);
}
-
- private <DD extends ReferentialDto> void addMissingReferentialIfNecessary(Class<DD> associationType, String associationId, ImmutableList.Builder<String> result) {
-
- if (idsOnlyExistingOnThisSide.containsEntry(associationType, associationId)) {
-
- // il faut insérer aussi ce référentiel
- ImmutableList<String> sqlList = insertMissingReferential(associationType, associationId);
- result.addAll(sqlList);
- // ce référentiel est désormais présent dans les deux sources
- idsOnlyExistingOnThisSide.remove(associationType, associationId);
-
- }
- }
-
}
=====================================
services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/sql/WithCascadeStatementGenerator.java
=====================================
@@ -0,0 +1,77 @@
+package fr.ird.observe.services.local.service.actions.synchro.referential.sql;
+
+/*-
+ * #%L
+ * ObServe :: Services local
+ * %%
+ * Copyright (C) 2008 - 2020 IRD, Code Lutin, Ultreia.io
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Multimap;
+import fr.ird.observe.dto.reference.ReferentialDtoReference;
+import fr.ird.observe.dto.referential.ReferentialDto;
+import fr.ird.observe.entities.ObserveEntityEnum;
+import fr.ird.observe.entities.referential.ReferentialEntity;
+import fr.ird.observe.services.local.service.actions.synchro.referential.ng.ReferentialSynchronizeServiceLocal;
+import fr.ird.observe.spi.DbModelHelper;
+import fr.ird.observe.spi.context.ReferentialDtoEntityContext;
+import org.nuiton.topia.persistence.metadata.TopiaMetadataEntity;
+import org.nuiton.topia.persistence.metadata.TopiaMetadataModel;
+
+/**
+ * Support statement generator when a cascade can be done on adding new referential.
+ *
+ * @author Tony Chemit - dev(a)tchemit.fr
+ * @since 8.0
+ */
+public abstract class WithCascadeStatementGenerator {
+
+ private final ReferentialSynchronizeServiceLocal service;
+ private final TopiaMetadataModel metadataModel;
+
+ protected WithCascadeStatementGenerator(ReferentialSynchronizeServiceLocal service, TopiaMetadataModel metadataModel) {
+ this.service = service;
+ this.metadataModel = metadataModel;
+ }
+
+ public <D extends ReferentialDto> void addMissingReferentialIfNecessary(Multimap<Class<? extends ReferentialDto>, String> idsOnlyExistingOnThisSide, Class<D> associationType, String associationId, ImmutableList.Builder<String> builder) {
+
+ if (idsOnlyExistingOnThisSide.containsEntry(associationType, associationId)) {
+ // need to add this referential on this other side
+ ImmutableList<String> sqlList = insertMissingReferential(associationType, associationId);
+ builder.addAll(sqlList);
+ // now this referential is on both side
+ idsOnlyExistingOnThisSide.remove(associationType, associationId);
+ }
+ }
+
+ protected <D extends ReferentialDto, R extends ReferentialDtoReference<D, R>, E extends ReferentialEntity<D, R>> ImmutableList<String> insertMissingReferential(Class<D> referentialType, String id) {
+ ReferentialDtoEntityContext<D, R, E, ?> modelContext = DbModelHelper.fromReferentialDto(referentialType);
+
+ Class<E> entityType = modelContext.toEntityType();
+ String referentialName = ObserveEntityEnum.valueOf(entityType).name();
+ TopiaMetadataEntity metadata = metadataModel.getEntity(referentialName);
+
+ InsertSqlStatementGenerator insertGenerator = new InsertSqlStatementGenerator(metadataModel, metadata);
+ D referential = service.loadEntityToReferentialDto(modelContext, id);
+ return insertGenerator.generateSql(referential);
+ }
+
+
+}
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/27f5f925a42849f4eeb6887c…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/27f5f925a42849f4eeb6887c…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] Impossible d'éditer un référentiel :( - Closes #1486
by Tony CHEMIT 15 May '20
by Tony CHEMIT 15 May '20
15 May '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
27f5f925 by Tony Chemit at 2020-05-15T09:38:16+02:00
Impossible d'éditer un référentiel :( - Closes #1486
- - - - -
26 changed files:
- client-configuration/pom.xml
- client-core/pom.xml
- client-datasource-actions/pom.xml
- client-datasource-editor-api/pom.xml
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/content/ref/actions/Save.java
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/content/spi/ContentUIReferenceCache.java
- client-datasource-editor-common/pom.xml
- client-datasource-editor-ll/pom.xml
- client-datasource-editor-ps/pom.xml
- client-runner/pom.xml
- dto-spi/pom.xml
- dto/pom.xml
- observe-i18n/pom.xml
- persistence-spi/pom.xml
- persistence/pom.xml
- pom.xml
- server-configuration/pom.xml
- server-core/pom.xml
- services-client/pom.xml
- services-local/pom.xml
- services-local/src/main/java/fr/ird/observe/services/local/service/referential/ReferentialServiceLocal.java
- services-validation/pom.xml
- services/pom.xml
- test-config/pom.xml
- test/pom.xml
- validation/pom.xml
Changes:
=====================================
client-configuration/pom.xml
=====================================
@@ -97,8 +97,7 @@
</dependency>
<dependency>
<groupId>com.google.auto.service</groupId>
- <artifactId>auto-service</artifactId>
- <scope>provided</scope>
+ <artifactId>auto-service-annotations</artifactId>
</dependency>
<dependency>
=====================================
client-core/pom.xml
=====================================
@@ -207,6 +207,11 @@
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
+
<dependency>
<groupId>io.ultreia.java4all.config</groupId>
<artifactId>config-api</artifactId>
=====================================
client-datasource-actions/pom.xml
=====================================
@@ -29,8 +29,8 @@
<artifactId>client-datasource-actions</artifactId>
- <name>ObServe :: Client DataSource actions</name>
- <description>ObServe Client DataSource actions module</description>
+ <name>ObServe :: Client DataSource Actions</name>
+ <description>ObServe Client DataSource Actions module</description>
<dependencies>
@@ -162,6 +162,10 @@
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
<dependency>
<groupId>org.nuiton</groupId>
@@ -200,11 +204,6 @@
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
- <dependency>
- <groupId>com.google.auto.service</groupId>
- <artifactId>auto-service</artifactId>
- <scope>provided</scope>
- </dependency>
</dependencies>
=====================================
client-datasource-editor-api/pom.xml
=====================================
@@ -185,6 +185,10 @@
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
<dependency>
<groupId>org.nuiton</groupId>
@@ -235,11 +239,6 @@
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
- <dependency>
- <groupId>com.google.auto.service</groupId>
- <artifactId>auto-service</artifactId>
- <scope>provided</scope>
- </dependency>
</dependencies>
=====================================
client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/content/ref/actions/Save.java
=====================================
@@ -75,7 +75,14 @@ public class Save<D extends ReferentialDto, R extends ReferentialDtoReference<D,
try {
boolean ok = doSave(ui, model.getBean(), notPersisted);
if (ok) {
- afterSave(ui, model.getBean(), notPersisted);
+ try {
+ model.setResetEdit(true);
+ afterSave(ui, model.getBean(), notPersisted);
+ } finally {
+ SwingValidatorUtil.setValidatorChanged(ui, false);
+ model.setResetEdit(false);
+ model.setModified(false);
+ }
}
} catch (Exception e) {
UIHelper.handlingError(e);
@@ -153,7 +160,6 @@ public class Save<D extends ReferentialDto, R extends ReferentialDtoReference<D,
}
private void afterSave(U ui, D bean, boolean notPersisted) {
- SwingValidatorUtil.setValidatorChanged(ui, false);
getDataSource().setModified(true);
NavigationTree tree = getDataSourceEditor().getNavigationUI().getTree();
=====================================
client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/content/spi/ContentUIReferenceCache.java
=====================================
@@ -226,7 +226,7 @@ public class ContentUIReferenceCache {
log.debug(String.format("Filter referential references (type %s - property %s), original size: %d", dtoType.getSimpleName(), propertyName, incomingReferences.size()));
- if (hideDisabledReferential && !propertyName.equals("referentialListHeader")) {
+ if (hideDisabledReferential && !propertyName.equals(FormDefinition.REFERENTIAL_LIST_HEADER)) {
incomingReferences = DtoReferenceCollection.filterEnabled(incomingReferences);
log.debug(String.format("Filter referential references (type %s - property %s), without disabled size: %d", dtoType.getSimpleName(), propertyName, incomingReferences.size()));
}
@@ -300,7 +300,7 @@ public class ContentUIReferenceCache {
Boolean noLoad = (Boolean) list.getClientProperty(JaxxObjectInitializer.CLIENT_PROPERTY_LIST_NO_LOAD);
List<R> data;
String propertyName = list.getName();
- if (!"referentialListHeader".equals(propertyName) && (Objects.equals(true, noLoad) || form == null)) {
+ if (!FormDefinition.REFERENTIAL_LIST_HEADER.equals(propertyName) && (Objects.equals(true, noLoad) || form == null)) {
log.debug(String.format("Skip loading of BeanListHeader [%s-%s] (listNoLoad property found or form is null)", dtoClass.getSimpleName(), propertyName));
data = Collections.emptyList();
} else {
=====================================
client-datasource-editor-common/pom.xml
=====================================
@@ -134,6 +134,10 @@
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
<dependency>
@@ -189,11 +193,6 @@
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
- <dependency>
- <groupId>com.google.auto.service</groupId>
- <artifactId>auto-service</artifactId>
- <scope>provided</scope>
- </dependency>
</dependencies>
=====================================
client-datasource-editor-ll/pom.xml
=====================================
@@ -170,6 +170,10 @@
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
<dependency>
<groupId>org.nuiton</groupId>
@@ -241,11 +245,6 @@
<groupId>org.jetbrains</groupId>
<artifactId>annotations</artifactId>
</dependency>
- <dependency>
- <groupId>com.google.auto.service</groupId>
- <artifactId>auto-service</artifactId>
- <scope>provided</scope>
- </dependency>
</dependencies>
=====================================
client-datasource-editor-ps/pom.xml
=====================================
@@ -163,6 +163,10 @@
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
<dependency>
<groupId>org.nuiton</groupId>
@@ -244,11 +248,6 @@
<groupId>org.jetbrains</groupId>
<artifactId>annotations</artifactId>
</dependency>
- <dependency>
- <groupId>com.google.auto.service</groupId>
- <artifactId>auto-service</artifactId>
- <scope>provided</scope>
- </dependency>
</dependencies>
=====================================
client-runner/pom.xml
=====================================
@@ -198,6 +198,16 @@
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service</artifactId>
+ <scope>provided</scope>
+ </dependency>
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
@@ -217,11 +227,6 @@
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
- <dependency>
- <groupId>com.google.auto.service</groupId>
- <artifactId>auto-service</artifactId>
- <scope>provided</scope>
- </dependency>
</dependencies>
=====================================
dto-spi/pom.xml
=====================================
@@ -39,6 +39,10 @@
<groupId>fr.ird.observe.toolkit</groupId>
<artifactId>common-dto</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
<dependency>
<groupId>com.google.auto.service</groupId>
=====================================
dto/pom.xml
=====================================
@@ -115,6 +115,10 @@
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
=====================================
observe-i18n/pom.xml
=====================================
@@ -35,11 +35,9 @@
<i18n.artifactId>observe</i18n.artifactId>
</properties>
<dependencies>
-
<dependency>
<groupId>com.google.auto.service</groupId>
- <artifactId>auto-service</artifactId>
- <scope>provided</scope>
+ <artifactId>auto-service-annotations</artifactId>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
=====================================
persistence-spi/pom.xml
=====================================
@@ -50,12 +50,15 @@
<artifactId>common-persistence</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
<dependency>
<groupId>com.google.auto.service</groupId>
<artifactId>auto-service</artifactId>
<scope>provided</scope>
</dependency>
-
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
=====================================
persistence/pom.xml
=====================================
@@ -133,11 +133,16 @@
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
<dependency>
<groupId>com.google.auto.service</groupId>
<artifactId>auto-service</artifactId>
<scope>provided</scope>
</dependency>
+
<dependency>
<groupId>javax.persistence</groupId>
<artifactId>javax.persistence-api</artifactId>
=====================================
pom.xml
=====================================
@@ -24,7 +24,7 @@
<parent>
<groupId>io.ultreia.maven</groupId>
<artifactId>pom</artifactId>
- <version>2020.25</version>
+ <version>2020.26</version>
</parent>
<groupId>fr.ird.observe</groupId>
@@ -162,7 +162,7 @@
<maven.build.timestamp.format>dd/MM/yyyy HH:mm z</maven.build.timestamp.format>
<buildDate>${maven.build.timestamp}</buildDate>
- <lib.version.toolkit>4.30</lib.version.toolkit>
+ <lib.version.toolkit>4.31</lib.version.toolkit>
<lib.version.nuiton.validation>3.1</lib.version.nuiton.validation>
<!--can't use 1.4.197 (date has changed + blob also)-->
<lib.version.h2>1.4.196</lib.version.h2>
=====================================
server-configuration/pom.xml
=====================================
@@ -78,14 +78,9 @@
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
</dependency>
- <!-- <dependency>-->
- <!-- <groupId>com.google.guava</groupId>-->
- <!-- <artifactId>guava</artifactId>-->
- <!-- </dependency>-->
<dependency>
<groupId>com.google.auto.service</groupId>
<artifactId>auto-service-annotations</artifactId>
- <scope>provided</scope>
</dependency>
<dependency>
=====================================
server-core/pom.xml
=====================================
@@ -113,7 +113,6 @@
<dependency>
<groupId>com.google.auto.service</groupId>
<artifactId>auto-service-annotations</artifactId>
- <scope>provided</scope>
</dependency>
<dependency>
@@ -193,12 +192,12 @@
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
-
<dependency>
<groupId>com.google.auto.service</groupId>
<artifactId>auto-service</artifactId>
<scope>provided</scope>
</dependency>
+
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>jsr250-api</artifactId>
=====================================
services-client/pom.xml
=====================================
@@ -133,12 +133,6 @@
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
-
- <dependency>
- <groupId>com.google.auto.service</groupId>
- <artifactId>auto-service</artifactId>
- <scope>provided</scope>
- </dependency>
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>jsr250-api</artifactId>
=====================================
services-local/pom.xml
=====================================
@@ -19,7 +19,8 @@
#L%
-->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
@@ -119,6 +120,10 @@
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
<dependency>
<groupId>javax.persistence</groupId>
@@ -258,14 +263,18 @@
<executions>
<execution>
<id>update-test-dbs</id>
- <goals><goal>test</goal></goals>
+ <goals>
+ <goal>test</goal>
+ </goals>
<configuration>
<test>fr.ird.observe.services.local.service.sql.MigrateTestsDatabases</test>
</configuration>
</execution>
<execution>
<id>default-test</id>
- <goals><goal>test</goal></goals>
+ <goals>
+ <goal>test</goal>
+ </goals>
<configuration>
<skip>true</skip>
</configuration>
=====================================
services-local/src/main/java/fr/ird/observe/services/local/service/referential/ReferentialServiceLocal.java
=====================================
@@ -187,7 +187,7 @@ public class ReferentialServiceLocal extends ObserveServiceLocal implements Refe
public <D extends ReferentialDto> SaveResultDto save(D bean) {
ReferentialDtoEntityContext<D, ?, ?, ?> spi = DbModelHelper.fromReferentialDtoWeak(bean);
ReferentialEntity<D, ?> entity = loadOrCreateEntityFromReferentialDto(spi, bean);
- entity.toDto(getReferentialLocale(), bean);
+ entity.fromDto(getReferentialLocale(), bean);
return saveEntity(entity);
}
=====================================
services-validation/pom.xml
=====================================
@@ -19,7 +19,8 @@
#L%
-->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
@@ -68,10 +69,10 @@
<artifactId>common-validation</artifactId>
</dependency>
- <dependency>
- <groupId>org.nuiton</groupId>
- <artifactId>nuiton-decorator</artifactId>
- </dependency>
+ <dependency>
+ <groupId>org.nuiton</groupId>
+ <artifactId>nuiton-decorator</artifactId>
+ </dependency>
<dependency>
<groupId>org.nuiton</groupId>
<artifactId>nuiton-validator</artifactId>
@@ -88,6 +89,10 @@
<groupId>io.ultreia.java4all</groupId>
<artifactId>java-util</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
@@ -131,37 +136,37 @@
</dependencies>
<build>
- <plugins>
- <plugin>
- <groupId>io.ultreia.java4all.http</groupId>
- <artifactId>http-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>default-generate-services-provider</id>
- <goals>
- <goal>generate-services-provider</goal>
- </goals>
- <configuration>
- <packageName>fr.ird.observe.services</packageName>
- <serviceType>fr.ird.observe.services.service.ObserveService</serviceType>
- <classPrefix>Observe</classPrefix>
- <methodNameTranslatorName>package</methodNameTranslatorName>
- </configuration>
- </execution>
- </executions>
- <dependencies>
- <dependency>
- <groupId>fr.ird.observe.toolkit</groupId>
- <artifactId>common-service</artifactId>
- <version>${lib.version.toolkit}</version>
- </dependency>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>services</artifactId>
- <version>${project.version}</version>
- </dependency>
- </dependencies>
- </plugin>
- </plugins>
+ <plugins>
+ <plugin>
+ <groupId>io.ultreia.java4all.http</groupId>
+ <artifactId>http-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>default-generate-services-provider</id>
+ <goals>
+ <goal>generate-services-provider</goal>
+ </goals>
+ <configuration>
+ <packageName>fr.ird.observe.services</packageName>
+ <serviceType>fr.ird.observe.services.service.ObserveService</serviceType>
+ <classPrefix>Observe</classPrefix>
+ <methodNameTranslatorName>package</methodNameTranslatorName>
+ </configuration>
+ </execution>
+ </executions>
+ <dependencies>
+ <dependency>
+ <groupId>fr.ird.observe.toolkit</groupId>
+ <artifactId>common-service</artifactId>
+ <version>${lib.version.toolkit}</version>
+ </dependency>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>services</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ </plugins>
</build>
</project>
=====================================
services/pom.xml
=====================================
@@ -122,6 +122,10 @@
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
=====================================
test-config/pom.xml
=====================================
@@ -48,12 +48,15 @@
<artifactId>common-dto</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
<dependency>
<groupId>com.google.auto.service</groupId>
<artifactId>auto-service</artifactId>
<scope>provided</scope>
</dependency>
-
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
=====================================
test/pom.xml
=====================================
@@ -38,12 +38,6 @@
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
- <dependency>
- <groupId>com.google.auto.service</groupId>
- <artifactId>auto-service</artifactId>
- <scope>provided</scope>
- </dependency>
-
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
=====================================
validation/pom.xml
=====================================
@@ -18,7 +18,8 @@
<http://www.gnu.org/licenses/gpl-3.0.html>.
#L%
-->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
@@ -62,10 +63,10 @@
<scope>test</scope>
</dependency>
-<dependency>
- <groupId>org.nuiton</groupId>
- <artifactId>nuiton-validator</artifactId>
-</dependency>
+ <dependency>
+ <groupId>org.nuiton</groupId>
+ <artifactId>nuiton-validator</artifactId>
+ </dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
@@ -81,6 +82,10 @@
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
<dependency>
<groupId>fr.ird.observe.toolkit</groupId>
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/27f5f925a42849f4eeb6887c6…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/27f5f925a42849f4eeb6887c6…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] Impossible d'éditer un référentiel :( - Closes #1486
by Tony CHEMIT 15 May '20
by Tony CHEMIT 15 May '20
15 May '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
b347c0bc by Tony Chemit at 2020-05-15T08:35:56+02:00
Impossible d'éditer un référentiel :( - Closes #1486
- - - - -
26 changed files:
- client-configuration/pom.xml
- client-core/pom.xml
- client-datasource-actions/pom.xml
- client-datasource-editor-api/pom.xml
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/content/ref/actions/Save.java
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/content/spi/ContentUIReferenceCache.java
- client-datasource-editor-common/pom.xml
- client-datasource-editor-ll/pom.xml
- client-datasource-editor-ps/pom.xml
- client-runner/pom.xml
- dto-spi/pom.xml
- dto/pom.xml
- observe-i18n/pom.xml
- persistence-spi/pom.xml
- persistence/pom.xml
- pom.xml
- server-configuration/pom.xml
- server-core/pom.xml
- services-client/pom.xml
- services-local/pom.xml
- services-local/src/main/java/fr/ird/observe/services/local/service/referential/ReferentialServiceLocal.java
- services-validation/pom.xml
- services/pom.xml
- test-config/pom.xml
- test/pom.xml
- validation/pom.xml
Changes:
=====================================
client-configuration/pom.xml
=====================================
@@ -97,8 +97,7 @@
</dependency>
<dependency>
<groupId>com.google.auto.service</groupId>
- <artifactId>auto-service</artifactId>
- <scope>provided</scope>
+ <artifactId>auto-service-annotations</artifactId>
</dependency>
<dependency>
=====================================
client-core/pom.xml
=====================================
@@ -207,6 +207,11 @@
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
+
<dependency>
<groupId>io.ultreia.java4all.config</groupId>
<artifactId>config-api</artifactId>
=====================================
client-datasource-actions/pom.xml
=====================================
@@ -29,8 +29,8 @@
<artifactId>client-datasource-actions</artifactId>
- <name>ObServe :: Client DataSource actions</name>
- <description>ObServe Client DataSource actions module</description>
+ <name>ObServe :: Client DataSource Actions</name>
+ <description>ObServe Client DataSource Actions module</description>
<dependencies>
@@ -162,6 +162,10 @@
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
<dependency>
<groupId>org.nuiton</groupId>
@@ -200,11 +204,6 @@
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
- <dependency>
- <groupId>com.google.auto.service</groupId>
- <artifactId>auto-service</artifactId>
- <scope>provided</scope>
- </dependency>
</dependencies>
=====================================
client-datasource-editor-api/pom.xml
=====================================
@@ -185,6 +185,10 @@
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
<dependency>
<groupId>org.nuiton</groupId>
@@ -235,11 +239,6 @@
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
- <dependency>
- <groupId>com.google.auto.service</groupId>
- <artifactId>auto-service</artifactId>
- <scope>provided</scope>
- </dependency>
</dependencies>
=====================================
client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/content/ref/actions/Save.java
=====================================
@@ -75,7 +75,14 @@ public class Save<D extends ReferentialDto, R extends ReferentialDtoReference<D,
try {
boolean ok = doSave(ui, model.getBean(), notPersisted);
if (ok) {
- afterSave(ui, model.getBean(), notPersisted);
+ try {
+ model.setResetEdit(true);
+ afterSave(ui, model.getBean(), notPersisted);
+ } finally {
+ SwingValidatorUtil.setValidatorChanged(ui, false);
+ model.setResetEdit(false);
+ model.setModified(false);
+ }
}
} catch (Exception e) {
UIHelper.handlingError(e);
@@ -153,7 +160,6 @@ public class Save<D extends ReferentialDto, R extends ReferentialDtoReference<D,
}
private void afterSave(U ui, D bean, boolean notPersisted) {
- SwingValidatorUtil.setValidatorChanged(ui, false);
getDataSource().setModified(true);
NavigationTree tree = getDataSourceEditor().getNavigationUI().getTree();
=====================================
client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/content/spi/ContentUIReferenceCache.java
=====================================
@@ -226,7 +226,7 @@ public class ContentUIReferenceCache {
log.debug(String.format("Filter referential references (type %s - property %s), original size: %d", dtoType.getSimpleName(), propertyName, incomingReferences.size()));
- if (hideDisabledReferential && !propertyName.equals("referentialListHeader")) {
+ if (hideDisabledReferential && !propertyName.equals(FormDefinition.REFERENTIAL_LIST_HEADER)) {
incomingReferences = DtoReferenceCollection.filterEnabled(incomingReferences);
log.debug(String.format("Filter referential references (type %s - property %s), without disabled size: %d", dtoType.getSimpleName(), propertyName, incomingReferences.size()));
}
@@ -300,7 +300,7 @@ public class ContentUIReferenceCache {
Boolean noLoad = (Boolean) list.getClientProperty(JaxxObjectInitializer.CLIENT_PROPERTY_LIST_NO_LOAD);
List<R> data;
String propertyName = list.getName();
- if (!"referentialListHeader".equals(propertyName) && (Objects.equals(true, noLoad) || form == null)) {
+ if (!FormDefinition.REFERENTIAL_LIST_HEADER.equals(propertyName) && (Objects.equals(true, noLoad) || form == null)) {
log.debug(String.format("Skip loading of BeanListHeader [%s-%s] (listNoLoad property found or form is null)", dtoClass.getSimpleName(), propertyName));
data = Collections.emptyList();
} else {
=====================================
client-datasource-editor-common/pom.xml
=====================================
@@ -134,6 +134,10 @@
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
<dependency>
@@ -189,11 +193,6 @@
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
- <dependency>
- <groupId>com.google.auto.service</groupId>
- <artifactId>auto-service</artifactId>
- <scope>provided</scope>
- </dependency>
</dependencies>
=====================================
client-datasource-editor-ll/pom.xml
=====================================
@@ -170,6 +170,10 @@
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
<dependency>
<groupId>org.nuiton</groupId>
@@ -241,11 +245,6 @@
<groupId>org.jetbrains</groupId>
<artifactId>annotations</artifactId>
</dependency>
- <dependency>
- <groupId>com.google.auto.service</groupId>
- <artifactId>auto-service</artifactId>
- <scope>provided</scope>
- </dependency>
</dependencies>
=====================================
client-datasource-editor-ps/pom.xml
=====================================
@@ -163,6 +163,10 @@
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
<dependency>
<groupId>org.nuiton</groupId>
@@ -244,11 +248,6 @@
<groupId>org.jetbrains</groupId>
<artifactId>annotations</artifactId>
</dependency>
- <dependency>
- <groupId>com.google.auto.service</groupId>
- <artifactId>auto-service</artifactId>
- <scope>provided</scope>
- </dependency>
</dependencies>
=====================================
client-runner/pom.xml
=====================================
@@ -198,6 +198,16 @@
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service</artifactId>
+ <scope>provided</scope>
+ </dependency>
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
@@ -217,11 +227,6 @@
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
- <dependency>
- <groupId>com.google.auto.service</groupId>
- <artifactId>auto-service</artifactId>
- <scope>provided</scope>
- </dependency>
</dependencies>
=====================================
dto-spi/pom.xml
=====================================
@@ -39,6 +39,10 @@
<groupId>fr.ird.observe.toolkit</groupId>
<artifactId>common-dto</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
<dependency>
<groupId>com.google.auto.service</groupId>
=====================================
dto/pom.xml
=====================================
@@ -115,6 +115,10 @@
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
=====================================
observe-i18n/pom.xml
=====================================
@@ -35,11 +35,9 @@
<i18n.artifactId>observe</i18n.artifactId>
</properties>
<dependencies>
-
<dependency>
<groupId>com.google.auto.service</groupId>
- <artifactId>auto-service</artifactId>
- <scope>provided</scope>
+ <artifactId>auto-service-annotations</artifactId>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
=====================================
persistence-spi/pom.xml
=====================================
@@ -50,12 +50,15 @@
<artifactId>common-persistence</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
<dependency>
<groupId>com.google.auto.service</groupId>
<artifactId>auto-service</artifactId>
<scope>provided</scope>
</dependency>
-
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
=====================================
persistence/pom.xml
=====================================
@@ -133,11 +133,16 @@
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
<dependency>
<groupId>com.google.auto.service</groupId>
<artifactId>auto-service</artifactId>
<scope>provided</scope>
</dependency>
+
<dependency>
<groupId>javax.persistence</groupId>
<artifactId>javax.persistence-api</artifactId>
=====================================
pom.xml
=====================================
@@ -24,7 +24,7 @@
<parent>
<groupId>io.ultreia.maven</groupId>
<artifactId>pom</artifactId>
- <version>2020.25</version>
+ <version>2020.26</version>
</parent>
<groupId>fr.ird.observe</groupId>
@@ -162,7 +162,7 @@
<maven.build.timestamp.format>dd/MM/yyyy HH:mm z</maven.build.timestamp.format>
<buildDate>${maven.build.timestamp}</buildDate>
- <lib.version.toolkit>4.30</lib.version.toolkit>
+ <lib.version.toolkit>4.31</lib.version.toolkit>
<lib.version.nuiton.validation>3.1</lib.version.nuiton.validation>
<!--can't use 1.4.197 (date has changed + blob also)-->
<lib.version.h2>1.4.196</lib.version.h2>
=====================================
server-configuration/pom.xml
=====================================
@@ -78,14 +78,9 @@
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
</dependency>
- <!-- <dependency>-->
- <!-- <groupId>com.google.guava</groupId>-->
- <!-- <artifactId>guava</artifactId>-->
- <!-- </dependency>-->
<dependency>
<groupId>com.google.auto.service</groupId>
<artifactId>auto-service-annotations</artifactId>
- <scope>provided</scope>
</dependency>
<dependency>
=====================================
server-core/pom.xml
=====================================
@@ -194,11 +194,6 @@
<artifactId>junit</artifactId>
</dependency>
- <dependency>
- <groupId>com.google.auto.service</groupId>
- <artifactId>auto-service</artifactId>
- <scope>provided</scope>
- </dependency>
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>jsr250-api</artifactId>
=====================================
services-client/pom.xml
=====================================
@@ -133,12 +133,6 @@
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
-
- <dependency>
- <groupId>com.google.auto.service</groupId>
- <artifactId>auto-service</artifactId>
- <scope>provided</scope>
- </dependency>
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>jsr250-api</artifactId>
=====================================
services-local/pom.xml
=====================================
@@ -19,7 +19,8 @@
#L%
-->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
@@ -119,6 +120,10 @@
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
<dependency>
<groupId>javax.persistence</groupId>
@@ -258,14 +263,18 @@
<executions>
<execution>
<id>update-test-dbs</id>
- <goals><goal>test</goal></goals>
+ <goals>
+ <goal>test</goal>
+ </goals>
<configuration>
<test>fr.ird.observe.services.local.service.sql.MigrateTestsDatabases</test>
</configuration>
</execution>
<execution>
<id>default-test</id>
- <goals><goal>test</goal></goals>
+ <goals>
+ <goal>test</goal>
+ </goals>
<configuration>
<skip>true</skip>
</configuration>
=====================================
services-local/src/main/java/fr/ird/observe/services/local/service/referential/ReferentialServiceLocal.java
=====================================
@@ -187,7 +187,7 @@ public class ReferentialServiceLocal extends ObserveServiceLocal implements Refe
public <D extends ReferentialDto> SaveResultDto save(D bean) {
ReferentialDtoEntityContext<D, ?, ?, ?> spi = DbModelHelper.fromReferentialDtoWeak(bean);
ReferentialEntity<D, ?> entity = loadOrCreateEntityFromReferentialDto(spi, bean);
- entity.toDto(getReferentialLocale(), bean);
+ entity.fromDto(getReferentialLocale(), bean);
return saveEntity(entity);
}
=====================================
services-validation/pom.xml
=====================================
@@ -19,7 +19,8 @@
#L%
-->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
@@ -68,10 +69,10 @@
<artifactId>common-validation</artifactId>
</dependency>
- <dependency>
- <groupId>org.nuiton</groupId>
- <artifactId>nuiton-decorator</artifactId>
- </dependency>
+ <dependency>
+ <groupId>org.nuiton</groupId>
+ <artifactId>nuiton-decorator</artifactId>
+ </dependency>
<dependency>
<groupId>org.nuiton</groupId>
<artifactId>nuiton-validator</artifactId>
@@ -88,6 +89,10 @@
<groupId>io.ultreia.java4all</groupId>
<artifactId>java-util</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
@@ -131,37 +136,37 @@
</dependencies>
<build>
- <plugins>
- <plugin>
- <groupId>io.ultreia.java4all.http</groupId>
- <artifactId>http-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>default-generate-services-provider</id>
- <goals>
- <goal>generate-services-provider</goal>
- </goals>
- <configuration>
- <packageName>fr.ird.observe.services</packageName>
- <serviceType>fr.ird.observe.services.service.ObserveService</serviceType>
- <classPrefix>Observe</classPrefix>
- <methodNameTranslatorName>package</methodNameTranslatorName>
- </configuration>
- </execution>
- </executions>
- <dependencies>
- <dependency>
- <groupId>fr.ird.observe.toolkit</groupId>
- <artifactId>common-service</artifactId>
- <version>${lib.version.toolkit}</version>
- </dependency>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>services</artifactId>
- <version>${project.version}</version>
- </dependency>
- </dependencies>
- </plugin>
- </plugins>
+ <plugins>
+ <plugin>
+ <groupId>io.ultreia.java4all.http</groupId>
+ <artifactId>http-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>default-generate-services-provider</id>
+ <goals>
+ <goal>generate-services-provider</goal>
+ </goals>
+ <configuration>
+ <packageName>fr.ird.observe.services</packageName>
+ <serviceType>fr.ird.observe.services.service.ObserveService</serviceType>
+ <classPrefix>Observe</classPrefix>
+ <methodNameTranslatorName>package</methodNameTranslatorName>
+ </configuration>
+ </execution>
+ </executions>
+ <dependencies>
+ <dependency>
+ <groupId>fr.ird.observe.toolkit</groupId>
+ <artifactId>common-service</artifactId>
+ <version>${lib.version.toolkit}</version>
+ </dependency>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>services</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ </plugins>
</build>
</project>
=====================================
services/pom.xml
=====================================
@@ -122,6 +122,10 @@
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
=====================================
test-config/pom.xml
=====================================
@@ -48,12 +48,15 @@
<artifactId>common-dto</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
<dependency>
<groupId>com.google.auto.service</groupId>
<artifactId>auto-service</artifactId>
<scope>provided</scope>
</dependency>
-
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
=====================================
test/pom.xml
=====================================
@@ -38,12 +38,6 @@
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
- <dependency>
- <groupId>com.google.auto.service</groupId>
- <artifactId>auto-service</artifactId>
- <scope>provided</scope>
- </dependency>
-
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
=====================================
validation/pom.xml
=====================================
@@ -18,7 +18,8 @@
<http://www.gnu.org/licenses/gpl-3.0.html>.
#L%
-->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
@@ -62,10 +63,10 @@
<scope>test</scope>
</dependency>
-<dependency>
- <groupId>org.nuiton</groupId>
- <artifactId>nuiton-validator</artifactId>
-</dependency>
+ <dependency>
+ <groupId>org.nuiton</groupId>
+ <artifactId>nuiton-validator</artifactId>
+ </dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
@@ -81,6 +82,10 @@
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service-annotations</artifactId>
+ </dependency>
<dependency>
<groupId>fr.ird.observe.toolkit</groupId>
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/b347c0bc2a476f10d314297c6…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/b347c0bc2a476f10d314297c6…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][pages] Site checkin for project ObServe :: Pom
by Tony CHEMIT 13 May '20
by Tony CHEMIT 13 May '20
13 May '20
Tony CHEMIT pushed to branch pages at ultreiaio / ird-observe
Commits:
ddb726dc by 166231 at 2020-05-13T16:23:06+00:00
Site checkin for project ObServe :: Pom
- - - - -
6 changed files:
- administration-web.html
- architecture-logicielle.html
- index.html
- install-serverPG.html
- install.html
- synchro-referential.html
Changes:
=====================================
administration-web.html
=====================================
@@ -1,6 +1,6 @@
<!DOCTYPE html>
<!--
- | Generated by Apache Maven Doxia Site Renderer 1.9.2 from src/site/markdown/administration-web.md.vm at 2020-03-26
+ | Generated by Apache Maven Doxia Site Renderer 1.9.2 from src/site/markdown/administration-web.md.vm at 2020-05-13
| Rendered using Apache Maven Fluido Skin 1.8
-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr">
@@ -27,8 +27,8 @@
<ul class="breadcrumb">
<li class=""><a href="https://ultreiaio.gitlab.io/ird-observe/index.html" class="externalLink" title="ObServe :: Pom">ObServe :: Pom</a><span class="divider">»</span></li>
<li class="active ">Installation de lapplication web</li>
- <li id="publishDate" class="pull-right"><span class="divider">|</span> Dernière publication: 2020-03-26</li>
- <li id="projectVersion" class="pull-right"><span class="divider">|</span>Version: 7.4.0</li>
+ <li id="publishDate" class="pull-right"><span class="divider">|</span> Dernière publication: 2020-05-13</li>
+ <li id="projectVersion" class="pull-right"><span class="divider">|</span>Version: 7.5.2</li>
<li class="pull-right"><span class="divider">|</span>
<a href="http://ultreia.io" class="externalLink" title="Ultreia.io">Ultreia.io</a></li>
<li class="pull-right"><a href="https://gitlab.com/ultreiaio/ird-observe" class="externalLink" title="GitLab">GitLab</a></li>
@@ -102,7 +102,7 @@
<div class="source"><pre class="prettyprint linenums"> /var/local/observeweb/{contextPath}
|-- databases.yml # configuration des bases de données
|-- log
- | `-- observeweb-7.4.0.log # logs de l'application
+ | `-- observeweb-7.5.2.log # logs de l'application
|-- observeweb-log4j2.xml # configuration des logs
|-- temp # répertoire temporaire
`-- users.yml # configuration des utilisateurs
=====================================
architecture-logicielle.html
=====================================
@@ -1,6 +1,6 @@
<!DOCTYPE html>
<!--
- | Generated by Apache Maven Doxia Site Renderer 1.9.2 from src/site/markdown/architecture-logicielle.md at 2020-03-26
+ | Generated by Apache Maven Doxia Site Renderer 1.9.2 from src/site/markdown/architecture-logicielle.md at 2020-05-13
| Rendered using Apache Maven Fluido Skin 1.8
-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr">
@@ -27,8 +27,8 @@
<ul class="breadcrumb">
<li class=""><a href="https://ultreiaio.gitlab.io/ird-observe/index.html" class="externalLink" title="ObServe :: Pom">ObServe :: Pom</a><span class="divider">»</span></li>
<li class="active ">Architecture logicielle dObServe</li>
- <li id="publishDate" class="pull-right"><span class="divider">|</span> Dernière publication: 2020-03-26</li>
- <li id="projectVersion" class="pull-right"><span class="divider">|</span>Version: 7.4.0</li>
+ <li id="publishDate" class="pull-right"><span class="divider">|</span> Dernière publication: 2020-05-13</li>
+ <li id="projectVersion" class="pull-right"><span class="divider">|</span>Version: 7.5.2</li>
<li class="pull-right"><span class="divider">|</span>
<a href="http://ultreia.io" class="externalLink" title="Ultreia.io">Ultreia.io</a></li>
<li class="pull-right"><a href="https://gitlab.com/ultreiaio/ird-observe" class="externalLink" title="GitLab">GitLab</a></li>
=====================================
index.html
=====================================
@@ -1,6 +1,6 @@
<!DOCTYPE html>
<!--
- | Generated by Apache Maven Doxia Site Renderer 1.9.2 from src/site/markdown/index.md at 2020-03-26
+ | Generated by Apache Maven Doxia Site Renderer 1.9.2 from src/site/markdown/index.md at 2020-05-13
| Rendered using Apache Maven Fluido Skin 1.8
-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr">
@@ -27,8 +27,8 @@
<ul class="breadcrumb">
<li class=""><a href="https://ultreiaio.gitlab.io/ird-observe/index.html" class="externalLink" title="ObServe :: Pom">ObServe :: Pom</a><span class="divider">»</span></li>
<li class="active ">ObServe</li>
- <li id="publishDate" class="pull-right"><span class="divider">|</span> Dernière publication: 2020-03-26</li>
- <li id="projectVersion" class="pull-right"><span class="divider">|</span>Version: 7.4.0</li>
+ <li id="publishDate" class="pull-right"><span class="divider">|</span> Dernière publication: 2020-05-13</li>
+ <li id="projectVersion" class="pull-right"><span class="divider">|</span>Version: 7.5.2</li>
<li class="pull-right"><span class="divider">|</span>
<a href="http://ultreia.io" class="externalLink" title="Ultreia.io">Ultreia.io</a></li>
<li class="pull-right"><a href="https://gitlab.com/ultreiaio/ird-observe" class="externalLink" title="GitLab">GitLab</a></li>
=====================================
install-serverPG.html
=====================================
@@ -1,6 +1,6 @@
<!DOCTYPE html>
<!--
- | Generated by Apache Maven Doxia Site Renderer 1.9.2 from src/site/markdown/install-serverPG.md at 2020-03-26
+ | Generated by Apache Maven Doxia Site Renderer 1.9.2 from src/site/markdown/install-serverPG.md at 2020-05-13
| Rendered using Apache Maven Fluido Skin 1.8
-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr">
@@ -27,8 +27,8 @@
<ul class="breadcrumb">
<li class=""><a href="https://ultreiaio.gitlab.io/ird-observe/index.html" class="externalLink" title="ObServe :: Pom">ObServe :: Pom</a><span class="divider">»</span></li>
<li class="active ">Installation du serveur Obstuna</li>
- <li id="publishDate" class="pull-right"><span class="divider">|</span> Dernière publication: 2020-03-26</li>
- <li id="projectVersion" class="pull-right"><span class="divider">|</span>Version: 7.4.0</li>
+ <li id="publishDate" class="pull-right"><span class="divider">|</span> Dernière publication: 2020-05-13</li>
+ <li id="projectVersion" class="pull-right"><span class="divider">|</span>Version: 7.5.2</li>
<li class="pull-right"><span class="divider">|</span>
<a href="http://ultreia.io" class="externalLink" title="Ultreia.io">Ultreia.io</a></li>
<li class="pull-right"><a href="https://gitlab.com/ultreiaio/ird-observe" class="externalLink" title="GitLab">GitLab</a></li>
=====================================
install.html
=====================================
@@ -1,6 +1,6 @@
<!DOCTYPE html>
<!--
- | Generated by Apache Maven Doxia Site Renderer 1.9.2 from src/site/markdown/install.md at 2020-03-26
+ | Generated by Apache Maven Doxia Site Renderer 1.9.2 from src/site/markdown/install.md at 2020-05-13
| Rendered using Apache Maven Fluido Skin 1.8
-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr">
@@ -27,8 +27,8 @@
<ul class="breadcrumb">
<li class=""><a href="https://ultreiaio.gitlab.io/ird-observe/index.html" class="externalLink" title="ObServe :: Pom">ObServe :: Pom</a><span class="divider">»</span></li>
<li class="active ">Installation dObServe</li>
- <li id="publishDate" class="pull-right"><span class="divider">|</span> Dernière publication: 2020-03-26</li>
- <li id="projectVersion" class="pull-right"><span class="divider">|</span>Version: 7.4.0</li>
+ <li id="publishDate" class="pull-right"><span class="divider">|</span> Dernière publication: 2020-05-13</li>
+ <li id="projectVersion" class="pull-right"><span class="divider">|</span>Version: 7.5.2</li>
<li class="pull-right"><span class="divider">|</span>
<a href="http://ultreia.io" class="externalLink" title="Ultreia.io">Ultreia.io</a></li>
<li class="pull-right"><a href="https://gitlab.com/ultreiaio/ird-observe" class="externalLink" title="GitLab">GitLab</a></li>
=====================================
synchro-referential.html
=====================================
@@ -1,6 +1,6 @@
<!DOCTYPE html>
<!--
- | Generated by Apache Maven Doxia Site Renderer 1.9.2 from src/site/markdown/synchro-referential.md at 2020-03-26
+ | Generated by Apache Maven Doxia Site Renderer 1.9.2 from src/site/markdown/synchro-referential.md at 2020-05-13
| Rendered using Apache Maven Fluido Skin 1.8
-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr">
@@ -27,8 +27,8 @@
<ul class="breadcrumb">
<li class=""><a href="https://ultreiaio.gitlab.io/ird-observe/index.html" class="externalLink" title="ObServe :: Pom">ObServe :: Pom</a><span class="divider">»</span></li>
<li class="active ">Synchronisation avancée du référentiel</li>
- <li id="publishDate" class="pull-right"><span class="divider">|</span> Dernière publication: 2020-03-26</li>
- <li id="projectVersion" class="pull-right"><span class="divider">|</span>Version: 7.4.0</li>
+ <li id="publishDate" class="pull-right"><span class="divider">|</span> Dernière publication: 2020-05-13</li>
+ <li id="projectVersion" class="pull-right"><span class="divider">|</span>Version: 7.5.2</li>
<li class="pull-right"><span class="divider">|</span>
<a href="http://ultreia.io" class="externalLink" title="Ultreia.io">Ultreia.io</a></li>
<li class="pull-right"><a href="https://gitlab.com/ultreiaio/ird-observe" class="externalLink" title="GitLab">GitLab</a></li>
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/ddb726dc94d5fd971bff68b94…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/ddb726dc94d5fd971bff68b94…
You're receiving this email because of your account on gitlab.com.
1
0