r173 - in trunk: echobase-entities/src/main/xmi echobase-services/src/main/java/fr/ifremer/echobase/services echobase-services/src/main/java/fr/ifremer/echobase/services/models
Author: tchemit Date: 2011-12-13 15:19:07 +0100 (Tue, 13 Dec 2011) New Revision: 173 Url: http://forge.codelutin.com/repositories/revision/echobase/173 Log: - move functions to entities model - implements all entities decorators Modified: trunk/echobase-entities/src/main/xmi/echobase.zargo trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DbImportExportService.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DecoratorService.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/models/CsvModelUtil.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/models/EntityCsvModel.java Modified: trunk/echobase-entities/src/main/xmi/echobase.zargo =================================================================== (Binary files differ) Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DbImportExportService.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DbImportExportService.java 2011-12-13 13:25:38 UTC (rev 172) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DbImportExportService.java 2011-12-13 14:19:07 UTC (rev 173) @@ -25,6 +25,7 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; +import fr.ifremer.echobase.EchoBaseFunctions; import fr.ifremer.echobase.EchoBaseIOUtil; import fr.ifremer.echobase.EchoBaseTechnicalException; import fr.ifremer.echobase.entities.EchoBaseEntityEnum; @@ -33,7 +34,6 @@ import fr.ifremer.echobase.entities.meta.AssociationMeta; import fr.ifremer.echobase.entities.meta.MetaFilenameAware; import fr.ifremer.echobase.entities.meta.TableMeta; -import fr.ifremer.echobase.services.models.CsvModelUtil; import fr.ifremer.echobase.services.models.EntityAssociationCsvModel; import org.apache.commons.io.FileUtils; import org.apache.commons.logging.Log; @@ -199,7 +199,7 @@ EchoBaseEntityEnum target = associationMeta.getTarget(); List<TopiaEntity> targetEntities = getEntities(target); Map<String, TopiaEntity> targetsById = - Maps.uniqueIndex(targetEntities, CsvModelUtil.TO_TOPIAID); + Maps.uniqueIndex(targetEntities, EchoBaseFunctions.TO_TOPIAID); ImportModel<TopiaEntity> model = EntityAssociationCsvModel.newImportModel( @@ -308,7 +308,7 @@ // TopiaDAO<TopiaEntity> targetDAO = getDAO(targetType); List<E> sourceEntities = getEntities(sourceType); Map<String, E> sourcesById = - Maps.uniqueIndex(sourceEntities, CsvModelUtil.TO_TOPIAID); + Maps.uniqueIndex(sourceEntities, EchoBaseFunctions.TO_TOPIAID); try { for (E row : importer) { E entityToSave = sourcesById.get(row.getTopiaId()); Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DecoratorService.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DecoratorService.java 2011-12-13 13:25:38 UTC (rev 172) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DecoratorService.java 2011-12-13 14:19:07 UTC (rev 173) @@ -28,8 +28,62 @@ import com.google.common.collect.Maps; import fr.ifremer.echobase.entities.EchoBaseUser; import fr.ifremer.echobase.entities.ExportQuery; +import fr.ifremer.echobase.entities.data.Cell; +import fr.ifremer.echobase.entities.data.Data; +import fr.ifremer.echobase.entities.data.DataAcquisition; +import fr.ifremer.echobase.entities.data.DataProcessing; +import fr.ifremer.echobase.entities.data.Operation; +import fr.ifremer.echobase.entities.data.OperationGearMetadataValue; +import fr.ifremer.echobase.entities.data.OperationMetadataValue; +import fr.ifremer.echobase.entities.data.Result; +import fr.ifremer.echobase.entities.data.Sample; +import fr.ifremer.echobase.entities.data.SampleData; +import fr.ifremer.echobase.entities.data.Transect; +import fr.ifremer.echobase.entities.data.Transit; import fr.ifremer.echobase.entities.data.Voyage; +import fr.ifremer.echobase.entities.references.AcousticInstrument; +import fr.ifremer.echobase.entities.references.AgeCategory; +import fr.ifremer.echobase.entities.references.AreaOfOperation; +import fr.ifremer.echobase.entities.references.Calibration; +import fr.ifremer.echobase.entities.references.Category; +import fr.ifremer.echobase.entities.references.CategoryMeaning; +import fr.ifremer.echobase.entities.references.CategoryRef; +import fr.ifremer.echobase.entities.references.CategoryType; +import fr.ifremer.echobase.entities.references.CellMethod; +import fr.ifremer.echobase.entities.references.CellType; +import fr.ifremer.echobase.entities.references.DataMetadata; +import fr.ifremer.echobase.entities.references.DataProtocol; +import fr.ifremer.echobase.entities.references.DataQuality; +import fr.ifremer.echobase.entities.references.DataType; +import fr.ifremer.echobase.entities.references.DepthStratum; +import fr.ifremer.echobase.entities.references.Echotype; +import fr.ifremer.echobase.entities.references.EchotypeCategory; +import fr.ifremer.echobase.entities.references.Gear; +import fr.ifremer.echobase.entities.references.GearCaracteristic; +import fr.ifremer.echobase.entities.references.GearMetadata; +import fr.ifremer.echobase.entities.references.GearMetadataValue; +import fr.ifremer.echobase.entities.references.GearType; +import fr.ifremer.echobase.entities.references.Impacte; +import fr.ifremer.echobase.entities.references.Localisation; +import fr.ifremer.echobase.entities.references.MeasureType; +import fr.ifremer.echobase.entities.references.MeasurementMetadata; import fr.ifremer.echobase.entities.references.Mission; +import fr.ifremer.echobase.entities.references.Moment; +import fr.ifremer.echobase.entities.references.OperationMetadata; +import fr.ifremer.echobase.entities.references.OperationType; +import fr.ifremer.echobase.entities.references.ReferenceDatum; +import fr.ifremer.echobase.entities.references.ReferenceDatumType; +import fr.ifremer.echobase.entities.references.ReferencingMethod; +import fr.ifremer.echobase.entities.references.SampleDataType; +import fr.ifremer.echobase.entities.references.SampleType; +import fr.ifremer.echobase.entities.references.SexeCategory; +import fr.ifremer.echobase.entities.references.SizeCategory; +import fr.ifremer.echobase.entities.references.Species; +import fr.ifremer.echobase.entities.references.SpeciesCategory; +import fr.ifremer.echobase.entities.references.Station; +import fr.ifremer.echobase.entities.references.TSParameters; +import fr.ifremer.echobase.entities.references.Vessel; +import fr.ifremer.echobase.entities.references.VesselType; import org.apache.commons.collections.CollectionUtils; import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.util.decorator.Decorator; @@ -119,17 +173,185 @@ @Override protected void loadDecorators(Locale locale) { - // user decorator + // EchoBaseUser decorator registerJXPathDecorator(locale, EchoBaseUser.class, "${email}$s"); - // mission decorator + // ExportQuery decorator + registerJXPathDecorator(locale, ExportQuery.class, "${name}$s - ${description}$s"); + + // AcousticInstrument decorator + registerJXPathDecorator(locale, AcousticInstrument.class, "${id}$s"); + + // AgeCategory decorator + registerJXPathDecorator(locale, AgeCategory.class, "${name}$s"); + + // AreaOfOperation decorator + registerJXPathDecorator(locale, AreaOfOperation.class, "${name}$s"); + + // Calibration decorator + registerJXPathDecorator(locale, Calibration.class, "${date}$s - acquisition ${aquisitionMethod}$s"); + + // Category decorator + registerJXPathDecorator(locale, Category.class, "${classCode}$s ${categoryValue}$s"); + + // CategoryMeaning decorator + registerJXPathDecorator(locale, CategoryMeaning.class, "${name}$s"); + + // CategoryRef decorator + registerJXPathDecorator(locale, CategoryRef.class, "${genusSpecies}$s"); + + // CategoryType decorator + registerJXPathDecorator(locale, CategoryType.class, "${name}$s"); + + // CellMethod decorator + registerJXPathDecorator(locale, CellMethod.class, "${name}$s"); + + // CellType decorator + registerJXPathDecorator(locale, CellType.class, "${name}$s"); + + // DataMetadata decorator + registerJXPathDecorator(locale, DataMetadata.class, "${name}$s"); + + // DataProtocol decorator + registerJXPathDecorator(locale, DataProtocol.class, "${description}$s [ ${startValidityDate}$s - ${endValidityDate}$s ]"); + + // DataQuality decorator + registerJXPathDecorator(locale, DataQuality.class, "${qualityDataFlagValues}$s - ${flagMeanings}$s"); + + // DataType decorator + registerJXPathDecorator(locale, DataType.class, "${name}$s"); + + // DepthStratum decorator + registerJXPathDecorator(locale, DepthStratum.class, "${id}$s - ${meaning}$s"); + + // Echotype decorator + registerJXPathDecorator(locale, Echotype.class, "${id}$s - ${name}$s"); + + // EchotypeCategory decorator + registerJXPathDecorator(locale, EchotypeCategory.class, "${name}$s"); + + // Gear decorator + registerJXPathDecorator(locale, Gear.class, "${name}$s [ ${startValidityDate}$s - ${endValidityDate}$s ]"); + + // GearCaracteristic decorator + registerJXPathDecorator(locale, GearCaracteristic.class, "${name}$s"); + + // GearMetadata decorator + registerJXPathDecorator(locale, GearMetadata.class, "${name}$s"); + + // GearMetadataValue decorator + registerJXPathDecorator(locale, GearMetadataValue.class, "${dataValue}$s"); + + // GearType decorator + registerJXPathDecorator(locale, GearType.class, "${name}$s"); + + // Impacte decorator + registerJXPathDecorator(locale, Impacte.class, "${measurementUnit}$s - ${species.genusSpecies}"); + + // Localisation decorator + registerJXPathDecorator(locale, Localisation.class, "Latitude <${minLatitude}$s - ${maxLatitude}$s>, Longitude <${minLongitude}$s - ${maxLongitude}$s>"); + + // MeasurementMetadata decorator + registerJXPathDecorator(locale, MeasurementMetadata.class, "${name}$s"); + + // MeasureType decorator + registerJXPathDecorator(locale, MeasureType.class, "${name}$s"); + + // Mission decorator registerJXPathDecorator(locale, Mission.class, "${missionName}$s"); - // voyage decorator + // Moment decorator + registerJXPathDecorator(locale, Moment.class, "${name}$s"); + + // OperationMetadata decorator + registerJXPathDecorator(locale, OperationMetadata.class, "${name}$s"); + + // OperationType decorator + registerJXPathDecorator(locale, OperationType.class, "${name}$s"); + + // ReferenceDatum decorator + registerJXPathDecorator(locale, ReferenceDatum.class, "${id}$s"); + + // ReferenceDatumType decorator + registerJXPathDecorator(locale, ReferenceDatumType.class, "${name}$s"); + + // ReferencingMethod decorator + registerJXPathDecorator(locale, ReferencingMethod.class, "${name}$s"); + + // SampleDataType decorator + registerJXPathDecorator(locale, SampleDataType.class, "${name}$s"); + + // SampleType decorator + registerJXPathDecorator(locale, SampleType.class, "${name}$s - level ${level}$s"); + + // SexeCategory decorator + registerJXPathDecorator(locale, SexeCategory.class, "${name}$s"); + + // SizeCategory decorator + registerJXPathDecorator(locale, SizeCategory.class, "${name}$s"); + + // Species decorator + registerJXPathDecorator(locale, Species.class, "${genusSpecies}$s"); + + //TODO + // SpeciesCategory decorator + registerJXPathDecorator(locale, SpeciesCategory.class, "${species.genusSpecies}$s - ..."); + + // Station decorator + registerJXPathDecorator(locale, Station.class, "${startLatitude}$s - ${startLongitude}$s"); + + //TODO + // TSParameters decorator + registerJXPathDecorator(locale, TSParameters.class, "${}$s"); + + // Vessel decorator + registerJXPathDecorator(locale, Vessel.class, "${name}$s"); + + // VesselType decorator + registerJXPathDecorator(locale, VesselType.class, "${name}$s"); + + // Cell decorator + registerJXPathDecorator(locale, Cell.class, "${name}$s"); + + // Data decorator + registerJXPathDecorator(locale, Data.class, "${dataValue}$s"); + + //TODO + // DataAcquisition decorator + registerJXPathDecorator(locale, DataAcquisition.class, ""); + + //TODO + // DataProcessing decorator + registerJXPathDecorator(locale, DataProcessing.class, ""); + + // Operation decorator + registerJXPathDecorator(locale, Operation.class, "${startDate}$s - ${endDate}$s"); + + // OperationGearMetadataValue decorator + registerJXPathDecorator(locale, OperationGearMetadataValue.class, "${dataValue}"); + + // OperationMetadataValue decorator + registerJXPathDecorator(locale, OperationMetadataValue.class, "${dataValue}$s - moment ${moment.name}"); + + // Result decorator + registerJXPathDecorator(locale, Result.class, "${resultvalue}$s"); + + // Sample decorator + registerJXPathDecorator(locale, Sample.class, "${resultvalue}$s"); + + // SampleData decorator + registerJXPathDecorator(locale, SampleData.class, "${resultvalue}$s"); + + // Transect decorator + registerJXPathDecorator(locale, Transect.class, "${title}$s - Vessel ${vessel}$s"); + + // Transit decorator + registerJXPathDecorator(locale, Transit.class, "${startTime}$s - ${endTime}$s"); + + // Voyage decorator registerJXPathDecorator(locale, Voyage.class, "${voyageName}$s"); - // export query decorator - registerJXPathDecorator(locale, ExportQuery.class, "${name}$s - ${description}$s"); + } } } Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/models/CsvModelUtil.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/models/CsvModelUtil.java 2011-12-13 13:25:38 UTC (rev 172) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/models/CsvModelUtil.java 2011-12-13 14:19:07 UTC (rev 173) @@ -26,6 +26,7 @@ import com.google.common.base.Function; import com.google.common.collect.Lists; import com.google.common.collect.Maps; +import fr.ifremer.echobase.EchoBaseFunctions; import fr.ifremer.echobase.EchoBaseTechnicalException; import fr.ifremer.echobase.services.DecoratorService; import org.apache.commons.collections.CollectionUtils; @@ -49,20 +50,12 @@ */ public class CsvModelUtil extends Common { - public static final Function<TopiaEntity, String> TO_TOPIAID = new Function<TopiaEntity, String>() { - - @Override - public String apply(TopiaEntity input) { - return input.getTopiaId(); - } - }; - public static <E extends TopiaEntity> ForeignKeyValue<E> newForeignKeyValue(Class<E> type) { return new ForeignKeyValue<E>(type); } public static <E extends TopiaEntity> ForeignKeyValue<E> newForeignKeyValue(Class<E> type, Collection<E> entitites) { - Map<String, E> universe = Maps.uniqueIndex(entitites, TO_TOPIAID); + Map<String, E> universe = Maps.uniqueIndex(entitites, EchoBaseFunctions.TO_TOPIAID); return newForeignKeyValue(type, universe); } @@ -109,7 +102,6 @@ String[] ids = value.split("\\|"); for (String id : ids) { -// E association = ObjectUtil.newInstance(entityType); E association = universe.get(id); association.setTopiaId(id); result.add(association); Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/models/EntityCsvModel.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/models/EntityCsvModel.java 2011-12-13 13:25:38 UTC (rev 172) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/models/EntityCsvModel.java 2011-12-13 14:19:07 UTC (rev 173) @@ -248,6 +248,4 @@ TopiaEntity.TOPIA_ID ); } - - } \ No newline at end of file
participants (1)
-
tchemit@users.forge.codelutin.com