Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 36546947 by Tony Chemit at 2020-07-15T07:38:11+02:00 Improve Dto API : * add a new static instance factory - - - - - 13 changed files: - client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/common/GearUseFeaturesMeasurementsTableModel.java - client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/common/GearUseFeaturesUITableModel.java - client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/observation/BasketTableModel.java - client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/observation/BranchlineTableModel.java - client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/observation/SizeMeasureTableModel.java - client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/observation/WeightMeasureTableModel.java - client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/common/GearUseFeaturesMeasurementsTableModel.java - client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/common/GearUseFeaturesUITableModel.java - client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/observation/FloatingObjectUIHandler.java - client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/observation/FloatingObjectUIModel.java - common-persistence/src/main/java/fr/ird/observe/spi/context/DataDtoEntityContext.java - dto/src/main/java/fr/ird/observe/dto/data/ll/logbook/ActivityDto.java - templates/src/main/java/fr/ird/observe/toolkit/templates/dto/DtoTransformer.java Changes: ===================================== client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/common/GearUseFeaturesMeasurementsTableModel.java ===================================== @@ -23,7 +23,6 @@ package fr.ird.observe.client.datasource.editor.content.data.ll.common; */ import fr.ird.observe.client.datasource.editor.content.ui.table.EditableTableWithCacheTableModelSupport; -import fr.ird.observe.dto.IdDto; import fr.ird.observe.dto.data.ll.common.GearUseFeaturesMeasurementDto; import fr.ird.observe.dto.referential.common.GearCaracteristicReference; @@ -132,6 +131,6 @@ public class GearUseFeaturesMeasurementsTableModel extends EditableTableWithCach @Override protected GearUseFeaturesMeasurementDto createNewRow() { - return IdDto.newDto(GearUseFeaturesMeasurementDto.class, new Date()); + return GearUseFeaturesMeasurementDto.newDto(new Date()); } } ===================================== client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/common/GearUseFeaturesUITableModel.java ===================================== @@ -26,7 +26,6 @@ import com.google.common.collect.ImmutableList; import fr.ird.observe.client.datasource.editor.content.data.table.ContentTableMeta; import fr.ird.observe.client.datasource.editor.content.data.table.ContentTableUITableModel; import fr.ird.observe.client.util.UIHelper; -import fr.ird.observe.dto.IdDto; import fr.ird.observe.dto.data.ll.common.GearUseFeaturesDto; import fr.ird.observe.dto.data.ll.common.GearUseFeaturesMeasurementDto; import fr.ird.observe.dto.data.ll.common.TripGearUseFeaturesDto; @@ -224,7 +223,7 @@ class GearUseFeaturesUITableModel extends ContentTableUITableModel<TripGearUseFe return gearDto.getGearCaracteristic().stream() .map(input -> { - GearUseFeaturesMeasurementDto measurementDto = IdDto.newDto(GearUseFeaturesMeasurementDto.class, new Date()); + GearUseFeaturesMeasurementDto measurementDto = GearUseFeaturesMeasurementDto.newDto(new Date()); if (input.getGearCaracteristicType().isBoolean()) { measurementDto.setMeasurementValue(Boolean.FALSE.toString()); } ===================================== client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/observation/BasketTableModel.java ===================================== @@ -22,7 +22,6 @@ package fr.ird.observe.client.datasource.editor.content.data.ll.observation; * #L% */ -import fr.ird.observe.dto.IdDto; import fr.ird.observe.dto.data.ll.observation.BasketDto; import fr.ird.observe.dto.data.ll.observation.SectionTemplate; @@ -37,13 +36,14 @@ import java.util.Date; public class BasketTableModel extends LonglineCompositionObsTableModelSupport<BasketDto> { public static final Class<?>[] CLASSES = {Integer.class, Integer.class, Float.class, Float.class}; + public BasketTableModel(SetDetailCompositionUIModel model) { super(model); } @Override public BasketDto createNewRow() { - return IdDto.newDto(BasketDto.class, new Date()); + return BasketDto.newDto(new Date()); } @Override ===================================== client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/observation/BranchlineTableModel.java ===================================== @@ -22,7 +22,6 @@ package fr.ird.observe.client.datasource.editor.content.data.ll.observation; * #L% */ -import fr.ird.observe.dto.IdDto; import fr.ird.observe.dto.data.ll.observation.BranchlineDto; import java.util.Date; @@ -50,7 +49,7 @@ public class BranchlineTableModel extends LonglineCompositionObsTableModelSuppor @Override public BranchlineDto createNewRow() { - BranchlineDto branchline = IdDto.newDto(BranchlineDto.class, new Date()); + BranchlineDto branchline = BranchlineDto.newDto(new Date()); branchline.setTimerTimeOnBoard(defaultDate); branchline.setTimer(useTimer); return branchline; ===================================== client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/observation/SizeMeasureTableModel.java ===================================== @@ -23,7 +23,6 @@ package fr.ird.observe.client.datasource.editor.content.data.ll.observation; */ import fr.ird.observe.client.datasource.editor.content.ui.table.EditableTableWithCacheTableModelSupport; -import fr.ird.observe.dto.IdDto; import fr.ird.observe.dto.data.ll.observation.SizeMeasureDto; import fr.ird.observe.dto.referential.common.SizeMeasureTypeReference; @@ -101,7 +100,7 @@ public class SizeMeasureTableModel extends EditableTableWithCacheTableModelSuppo @Override protected SizeMeasureDto createNewRow() { - return IdDto.newDto(SizeMeasureDto.class, new Date()); + return SizeMeasureDto.newDto(new Date()); } } ===================================== client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/observation/WeightMeasureTableModel.java ===================================== @@ -23,7 +23,6 @@ package fr.ird.observe.client.datasource.editor.content.data.ll.observation; */ import fr.ird.observe.client.datasource.editor.content.ui.table.EditableTableWithCacheTableModelSupport; -import fr.ird.observe.dto.IdDto; import fr.ird.observe.dto.data.ll.observation.WeightMeasureDto; import fr.ird.observe.dto.referential.common.WeightMeasureTypeReference; @@ -57,7 +56,7 @@ public class WeightMeasureTableModel extends EditableTableWithCacheTableModelSup @Override protected WeightMeasureDto createNewRow() { - return IdDto.newDto(WeightMeasureDto.class, new Date()); + return WeightMeasureDto.newDto(new Date()); } @Override ===================================== client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/common/GearUseFeaturesMeasurementsTableModel.java ===================================== @@ -23,7 +23,6 @@ package fr.ird.observe.client.datasource.editor.content.data.ps.common; */ import fr.ird.observe.client.datasource.editor.content.ui.table.EditableTableWithCacheTableModelSupport; -import fr.ird.observe.dto.IdDto; import fr.ird.observe.dto.data.ps.common.GearUseFeaturesMeasurementDto; import fr.ird.observe.dto.referential.common.GearCaracteristicReference; @@ -132,6 +131,6 @@ public class GearUseFeaturesMeasurementsTableModel extends EditableTableWithCach @Override protected GearUseFeaturesMeasurementDto createNewRow() { - return IdDto.newDto(GearUseFeaturesMeasurementDto.class, new Date()); + return GearUseFeaturesMeasurementDto.newDto(new Date()); } } ===================================== client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/common/GearUseFeaturesUITableModel.java ===================================== @@ -26,7 +26,6 @@ import com.google.common.collect.ImmutableList; import fr.ird.observe.client.datasource.editor.content.data.table.ContentTableMeta; import fr.ird.observe.client.datasource.editor.content.data.table.ContentTableUITableModel; import fr.ird.observe.client.util.UIHelper; -import fr.ird.observe.dto.IdDto; import fr.ird.observe.dto.data.ps.common.GearUseFeaturesDto; import fr.ird.observe.dto.data.ps.common.GearUseFeaturesMeasurementDto; import fr.ird.observe.dto.data.ps.common.TripGearUseFeaturesDto; @@ -224,7 +223,7 @@ class GearUseFeaturesUITableModel extends ContentTableUITableModel<TripGearUseFe return gearDto.getGearCaracteristic().stream() .map(input -> { - GearUseFeaturesMeasurementDto measurementDto = IdDto.newDto(GearUseFeaturesMeasurementDto.class, new Date()); + GearUseFeaturesMeasurementDto measurementDto = GearUseFeaturesMeasurementDto.newDto(new Date()); if (input.getGearCaracteristicType().isBoolean()) { measurementDto.setMeasurementValue(Boolean.FALSE.toString()); } ===================================== client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/observation/FloatingObjectUIHandler.java ===================================== @@ -32,7 +32,6 @@ import fr.ird.observe.dto.data.ps.observation.FloatingObjectDto; import fr.ird.observe.dto.data.ps.observation.FloatingObjectReference; import fr.ird.observe.dto.data.ps.observation.ObjectMaterialHierarchyDto; import fr.ird.observe.dto.data.ps.observation.TransmittingBuoyDto; -import fr.ird.observe.dto.data.ps.observation.TransmittingBuoyHelper; import fr.ird.observe.dto.form.Form; import fr.ird.observe.dto.referential.ps.common.ObjectOperationReference; import fr.ird.observe.dto.referential.ps.common.TransmittingBuoyOperationDto; @@ -338,7 +337,7 @@ public class FloatingObjectUIHandler extends ContentEditUIHandler<FloatingObject if (transmittingBuoy == null) { - TransmittingBuoyHelper.copyTransmittingBuoyDto(TransmittingBuoyDto.newDto(TransmittingBuoyDto.class, new Date()), editBean); + TransmittingBuoyDto.newDto(new Date()).copy(editBean); editBean.setCreateDate(new Date()); editBean.setTransmittingBuoyOperation(operation); ===================================== client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/observation/FloatingObjectUIModel.java ===================================== @@ -91,7 +91,7 @@ public class FloatingObjectUIModel extends ContentEditUIModel<FloatingObjectDto, ImmutableSet.Builder<FloatingObjectPartDto> result = ImmutableSet.builder(); Date now = new Date(); for (ObjectMaterialDto o : getAllWithData()) { - FloatingObjectPartDto partDto = FloatingObjectPartDto.newDto(FloatingObjectPartDto.class, now); + FloatingObjectPartDto partDto = FloatingObjectPartDto.newDto(now); partDto.setObjectMaterial(o.toReference(referentialLocale)); if (arriving) { partDto.setWhenArriving(whenArriving.get(o)); ===================================== common-persistence/src/main/java/fr/ird/observe/spi/context/DataDtoEntityContext.java ===================================== @@ -23,6 +23,7 @@ package fr.ird.observe.spi.context; */ import com.google.common.collect.ImmutableSet; +import fr.ird.observe.dto.IdDto; import fr.ird.observe.dto.data.DataDto; import fr.ird.observe.dto.form.Form; import fr.ird.observe.dto.reference.DataDtoReference; @@ -130,7 +131,7 @@ public class DataDtoEntityContext<D extends DataDto, R extends DataDtoReference< @Override public D toDto(ReferentialLocale referentialLocale, Class<D> dtoType, E entity) { - D dto = Objects2.newInstance(dtoType); + D dto = IdDto.newDto(dtoType, entity.getTopiaCreateDate()); entity.toDto(referentialLocale, dto); return dto; } ===================================== dto/src/main/java/fr/ird/observe/dto/data/ll/logbook/ActivityDto.java ===================================== @@ -139,7 +139,7 @@ public class ActivityDto extends GeneratedActivityDto { } public SampleReference toNewSampleReference(ReferentialLocale referentialLocale) { - SampleDto sampleDto = SampleDto.newDto(SampleDto.class, new Date()); + SampleDto sampleDto = SampleDto.newDto(new Date()); sampleDto.setTimeStamp(getStartTimeStamp()); sampleDto.setLatitude(getLatitude()); sampleDto.setLongitude(getLongitude()); ===================================== templates/src/main/java/fr/ird/observe/toolkit/templates/dto/DtoTransformer.java ===================================== @@ -61,6 +61,7 @@ import org.nuiton.eugene.models.object.xml.ObjectModelParameterImpl; import java.util.Arrays; import java.util.Collection; +import java.util.Date; import java.util.LinkedHashSet; import java.util.LinkedList; import java.util.Map; @@ -86,10 +87,9 @@ public class DtoTransformer extends BeanTransformer implements TemplateContract private final EugeneJavaTagValues javaTemplatesTagValues; private final BeanTransformerTagValues beanTagValues; private final ObserveTagValues observeTagValues; - - private BeanTransformerContext context; private final Map<String, String> dtoFormMapping = new TreeMap<>(); private final Map<String, String> dtoMainMapping = new TreeMap<>(); + private BeanTransformerContext context; public DtoTransformer() { coreTagValues = new EugeneCoreTagValues(); @@ -129,6 +129,10 @@ public class DtoTransformer extends BeanTransformer implements TemplateContract protected ObjectModelClass generateGeneratedClass(ObjectModelPackage aPackage, ObjectModelClass input, String className, String mainClassName) { ObjectModelClass output = super.generateGeneratedClass(aPackage, input, className, mainClassName); boolean referential = TemplateContract.isReferentialFromPackageName(aPackage.getName()); + boolean notAbstract = !input.isAbstract(); + if (notAbstract) { + addStaticFactoryMethod(output, mainClassName); + } if (context.selectedClasses.contains(input)) { String referencesTagValue = observeTagValues.getReferencesTagValue(input); @@ -148,13 +152,22 @@ public class DtoTransformer extends BeanTransformer implements TemplateContract addInterface(output, String.format("%s<%s, %s>", DtoToReference.class.getName(), mainClassName, referenceName)); addToReferenceMethod(output, binderProperties, referenceName); } - if (!input.isAbstract()) { + + if (notAbstract) { addFormDefinitionAttribute(input, output, referential); addMainDtoMapping(input, referential); } return output; } + private void addStaticFactoryMethod(ObjectModelClass output, String className) { + ObjectModelOperation operation = addOperation(output, "newDto", className, ObjectModelJavaModifier.PUBLIC, ObjectModelJavaModifier.STATIC); + addParameter(operation, importAndSimplify(output, Date.class.getName()), "createDate"); + setOperationBody(operation, ""/*{ + return newDto(<%=className%>.class, createDate); + }*/); + } + private void addMainDtoMapping(ObjectModelClass input, boolean referential) { String mainDtoTagValue = observeTagValues.getMainDtoTagValue(input); if (Objects.equals("skip", mainDtoTagValue)) { @@ -256,7 +269,7 @@ public class DtoTransformer extends BeanTransformer implements TemplateContract protected ObjectModel initOutputModel() { //FIXME Override builder to avoid bad imports when using synonyms in model... - builder = new JavaBuilder(getModel().getName()){ + builder = new JavaBuilder(getModel().getName()) { @Override public ObjectModelOperation addOperation(ObjectModelClassifier classifier, String name, String type, ObjectModelModifier... modifiers) { ObjectModelOperationImpl result = new ObjectModelOperationImpl(); View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/36546947b0844f90a4f100123b... -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/36546947b0844f90a4f100123b... You're receiving this email because of your account on gitlab.com.
participants (1)
-
Tony CHEMIT