Skip to content

Commit

Permalink
Synchronized fields with passive packer schema
Browse files Browse the repository at this point in the history
  • Loading branch information
quca3108 committed Aug 2, 2024
1 parent 6f267cf commit 7967154
Show file tree
Hide file tree
Showing 31 changed files with 795 additions and 841 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -508,17 +508,17 @@ public AudioPackage createObject(String uniqueField, boolean withUUID) {
.calibrationDocumentsPath(testPath.resolve("calibrationDocumentsPath").toAbsolutePath())
.navigationPath(testPath.resolve("navigationPath").toAbsolutePath())
.sourcePath(testPath.resolve("sourcePath").toAbsolutePath())
.siteOrCruiseName(uniqueField)
.site(uniqueField)
.deploymentId(uniqueField)
.dataCollectionName(uniqueField)
.datasetPackager(datasetPackager.getName())
.projects(List.of(project.getName()))
.publicReleaseDate(LocalDate.of(2020, 1,1))
.projectName(List.of(project.getName()))
.publishDate(LocalDate.of(2020, 1,1))
.scientists(List.of(scientist.getName()))
.sponsors(List.of(sponsor.getName()))
.funders(List.of(funder.getName()))
.platform(platform.getName())
.instrument(instrument.getName())
.platformName(platform.getName())
.instrumentType(instrument.getName())
.instrumentId("instrumentId")
.startTime(LocalDateTime.of(2019, 12, 31, 12, 0, 1))
.endTime(LocalDateTime.of(2019, 12, 31, 23, 0, 1))
Expand All @@ -528,11 +528,11 @@ public AudioPackage createObject(String uniqueField, boolean withUUID) {
.hydrophoneSensitivity(10f)
.frequencyRange(1f)
.gain(100f)
.deploymentTitle("deploymentTitle")
.title("deploymentTitle")
.deploymentDescription("deploymentDescription")
.deploymentPurpose("deploymentPurpose")
.purpose("deploymentPurpose")
.alternateSiteName("alternateSiteName")
.alternateDeploymentName("alternateDeploymentName")
.deploymentAlias("alternateDeploymentName")
.qualityAnalyst(qualityAnalyst.getName())
.qualityAnalysisObjectives("qualityAnalysisObjectives")
.qualityAnalysisMethod("qualityAnalysisMethod")
Expand Down Expand Up @@ -607,7 +607,7 @@ public AudioPackage createObject(String uniqueField, boolean withUUID) {
protected AudioPackage updateObject(AudioPackage original, String uniqueField) {
return original.toBuilder()
.deploymentId(uniqueField)
.siteOrCruiseName(uniqueField)
.site(uniqueField)
.dataCollectionName(uniqueField)
.build();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -168,26 +168,26 @@ protected String[] objectToRow(P object) {
object.getCalibrationDocumentsPath().toString(),
object.getNavigationPath().toString(),
object.getSourcePath().toString(),
object.getSiteOrCruiseName(),
object.getSite(),
object.getDeploymentId(),
object.getDatasetPackager(),
String.join(";", object.getProjects()),
object.getPublicReleaseDate().toString(),
String.join(";", object.getProjectName()),
object.getPublishDate().toString(),
String.join(";", object.getScientists()),
String.join(";", object.getSponsors()),
String.join(";", object.getFunders()),
object.getPlatform(),
object.getInstrument(),
object.getPlatformName(),
object.getInstrumentType(),
object.getStartTime().toString(),
object.getEndTime().toString(),
object.getPreDeploymentCalibrationDate().toString(),
object.getPostDeploymentCalibrationDate().toString(),
object.getCalibrationDescription(),
object.getDeploymentTitle(),
object.getDeploymentPurpose(),
object.getTitle(),
object.getPurpose(),
object.getDeploymentDescription(),
object.getAlternateSiteName(),
object.getAlternateDeploymentName()
object.getDeploymentAlias()
));
addPackageTypeSpecificFields(fields, object);
addLocationDetailTypeSpecificFields(fields, object.getLocationDetail());
Expand Down Expand Up @@ -238,19 +238,19 @@ protected void assertObjectsEqual(P expected, P actual, boolean checkUUID) throw
assertEquals(expected.getSourcePath(), actual.getSourcePath());
assertEquals(expected.getPackageId(), actual.getPackageId());

assertEquals(expected.getSiteOrCruiseName(), actual.getSiteOrCruiseName());
assertEquals(expected.getSite(), actual.getSite());
assertEquals(expected.getDeploymentId(), actual.getDeploymentId());
assertEquals(expected.getDatasetPackager(), actual.getDatasetPackager());
assertEquals(expected.getDataCollectionName(), actual.getDataCollectionName());

for (int i = 0; i < expected.getProjects().size(); i++) {
for (int i = 0; i < expected.getProjectName().size(); i++) {
assertEquals(
expected.getProjects().get(i),
actual.getProjects().get(i)
expected.getProjectName().get(i),
actual.getProjectName().get(i)
);
}

assertEquals(expected.getPublicReleaseDate(), actual.getPublicReleaseDate());
assertEquals(expected.getPublishDate(), actual.getPublishDate());

for (int i = 0; i < expected.getScientists().size(); i++) {
assertEquals(
Expand All @@ -273,19 +273,19 @@ protected void assertObjectsEqual(P expected, P actual, boolean checkUUID) throw
);
}

assertEquals(expected.getPlatform(), actual.getPlatform());
assertEquals(expected.getInstrument(), actual.getInstrument());
assertEquals(expected.getPlatformName(), actual.getPlatformName());
assertEquals(expected.getInstrumentType(), actual.getInstrumentType());

assertEquals(expected.getStartTime(), actual.getStartTime());
assertEquals(expected.getEndTime(), actual.getEndTime());
assertEquals(expected.getPreDeploymentCalibrationDate(), actual.getPreDeploymentCalibrationDate());
assertEquals(expected.getPostDeploymentCalibrationDate(), actual.getPostDeploymentCalibrationDate());
assertEquals(expected.getCalibrationDescription(), actual.getCalibrationDescription());
assertEquals(expected.getDeploymentTitle(), actual.getDeploymentTitle());
assertEquals(expected.getDeploymentPurpose(), actual.getDeploymentPurpose());
assertEquals(expected.getTitle(), actual.getTitle());
assertEquals(expected.getPurpose(), actual.getPurpose());
assertEquals(expected.getDeploymentDescription(), actual.getDeploymentDescription());
assertEquals(expected.getAlternateSiteName(), actual.getAlternateSiteName());
assertEquals(expected.getAlternateDeploymentName(), actual.getAlternateDeploymentName());
assertEquals(expected.getDeploymentAlias(), actual.getDeploymentAlias());

assertLocationDetailsEquals(expected.getLocationDetail(), actual.getLocationDetail());
assertTypeSpecificPackagesEqual(expected, actual);
Expand Down Expand Up @@ -428,13 +428,13 @@ void testCreateValidationException() throws IOException {
assertEquals(3, map.keySet().size());

assertEquals(
Set.of("deploymentId","siteOrCruiseName","dataCollectionName"),
Set.of("deploymentId","site","dataCollectionName"),
map.keySet()
);

assertTrue(
map.values().stream().allMatch(
v -> v.equals("at least dataCollectionName, siteOrCruiseName, or deploymentId required")
v -> v.equals("at least dataCollectionName, site, or deploymentId required")
)
);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package edu.colorado.cires.pace.data.object.base;

import lombok.Builder;
import lombok.extern.jackson.Jacksonized;
import lombok.Data;

import java.util.UUID;
@Data
@Builder
@Jacksonized
public class AbstractObjectWithName {
private final String name;
private final UUID uuid;
}
Original file line number Diff line number Diff line change
Expand Up @@ -48,13 +48,13 @@ public AudioPackage setLocationDetail(LocationDetail locationDetail) {
}

@Override
public AudioPackage setProjects(List<String> projects) {
return toBuilder().projects(projects).build();
public AudioPackage setProjectName(List<String> projectName) {
return toBuilder().projectName(projectName).build();
}

@Override
public AudioPackage setPlatform(String platform) {
return toBuilder().platform(platform).build();
public AudioPackage setPlatformName(String platformName) {
return toBuilder().platformName(platformName).build();
}

@Override
Expand All @@ -68,8 +68,8 @@ public AudioPackage updateSensors(List<PackageSensor<String>> sensors) {
}

@Override
public AudioPackage setInstrument(String instrument) {
return toBuilder().instrument(instrument).build();
public AudioPackage setInstrumentType(String instrumentType) {
return toBuilder().instrumentType(instrumentType).build();
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,13 @@ public CPODPackage setLocationDetail(LocationDetail locationDetail) {
}

@Override
public CPODPackage setProjects(List<String> projects) {
return toBuilder().projects(projects).build();
public CPODPackage setProjectName(List<String> projectName) {
return toBuilder().projectName(projectName).build();
}

@Override
public CPODPackage setPlatform(String platform) {
return toBuilder().platform(platform).build();
public CPODPackage setPlatformName(String platformName) {
return toBuilder().platformName(platformName).build();
}

@Override
Expand Down Expand Up @@ -68,8 +68,8 @@ public CPODPackage setFunders(List<String> funders) {
}

@Override
public CPODPackage setInstrument(String instrument) {
return toBuilder().instrument(instrument).build();
public CPODPackage setInstrumentType(String instrumentType) {
return toBuilder().instrumentType(instrumentType).build();
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import edu.colorado.cires.pace.data.object.dataset.base.metadata.TimeRange;
import edu.colorado.cires.pace.data.object.dataset.base.metadata.location.LocationDetail;
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import java.nio.file.Path;
Expand Down Expand Up @@ -40,20 +39,20 @@ public abstract class BasePackage<T> implements AbstractObject, TimeRange, Calib
private final Path sourcePath;

private final String dataCollectionName;
private final String siteOrCruiseName;
private final String site;
private final String deploymentId;
@NotNull
protected abstract List<@NotNull @Valid T> getProjects();
protected abstract List<@NotNull @Valid T> getProjectName();

@NotNull
private final LocalDate publicReleaseDate;
private final LocalDate publishDate;
@NotNull @Valid
private final LocationDetail locationDetail;
private final String deploymentTitle;
private final String deploymentPurpose;
private final String title;
private final String purpose;
private final String deploymentDescription;
private final String alternateSiteName;
private final String alternateDeploymentName;
private final String deploymentAlias;
@NotNull
private final LocalDateTime startTime;
@NotNull
Expand All @@ -75,9 +74,9 @@ public abstract class BasePackage<T> implements AbstractObject, TimeRange, Calib
@NotNull @NotEmpty
protected abstract List<@NotNull @Valid T> getFunders();
@NotNull @Valid
protected abstract T getPlatform();
protected abstract T getPlatformName();
@NotNull @Valid
protected abstract T getInstrument();
protected abstract T getInstrumentType();

@JsonIgnore
protected abstract List<String> getProjectNames();
Expand All @@ -95,12 +94,12 @@ public String getPackageId() {

String packageId = null;

List<String> projects = getProjects() == null ? Collections.emptyList() : getProjectNames();
List<String> projects = getProjectName() == null ? Collections.emptyList() : getProjectNames();
if (!projects.isEmpty()) {
packageId = projects.get(0);
}

String siteCruiseName = getSiteOrCruiseName();
String siteCruiseName = getSite();
if (siteCruiseName != null) {
if (packageId == null) {
packageId = siteCruiseName;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,14 @@
import com.fasterxml.jackson.annotation.JsonTypeInfo.As;
import com.fasterxml.jackson.annotation.JsonTypeInfo.Id;
import edu.colorado.cires.pace.data.object.base.AbstractObject;
import edu.colorado.cires.pace.data.object.base.AbstractObjectWithName;
import edu.colorado.cires.pace.data.object.dataset.audio.DetailedAudioPackage;
import edu.colorado.cires.pace.data.object.dataset.audio.DetailedCPODPackage;
import edu.colorado.cires.pace.data.object.dataset.detections.DetailedDetectionsPackage;
import edu.colorado.cires.pace.data.object.dataset.soundClips.DetailedSoundClipsPackage;
import edu.colorado.cires.pace.data.object.dataset.soundLevelMetrics.DetailedSoundLevelMetricsPackage;
import edu.colorado.cires.pace.data.object.dataset.soundPropagationModels.DetailedSoundPropagationModelsPackage;
import java.util.Collections;

import java.util.List;
import lombok.Data;
import lombok.EqualsAndHashCode;
Expand All @@ -30,19 +31,19 @@
@Data
@EqualsAndHashCode(callSuper = true)
@SuperBuilder(toBuilder = true)
public abstract class DetailedPackage extends BasePackage<AbstractObject> {
private final AbstractObject datasetPackager;
private final List<AbstractObject> scientists;
private final List<AbstractObject> projects;
private final List<AbstractObject> sponsors;
private final List<AbstractObject> funders;
private final AbstractObject platform;
private final AbstractObject instrument;
public abstract class DetailedPackage extends BasePackage<Object> {
private final Object datasetPackager;
private final List<Object> scientists;
private final List<Object> projectName;
private final List<Object> sponsors;
private final List<Object> funders;
private final String platformName;
private final Object instrumentType;

@Override
protected List<String> getProjectNames() {
return getProjects() == null ? Collections.emptyList() : getProjects().stream()
.map(AbstractObject::getUniqueField)
.toList();
return getProjectName().stream()
.map(o -> (String) o)
.toList();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -41,27 +41,27 @@ public abstract class Package extends BasePackage<String> {
@NotEmpty @NotNull
private final List<@NotBlank String> scientists;
@NotNull
private final List<@NotBlank String> projects;
private final List<@NotBlank String> projectName;
@NotNull @NotEmpty
private final List<@NotBlank String> sponsors;
@NotNull @NotEmpty
private final List<@NotBlank String> funders;
@NotBlank
private final String platform;
private final String platformName;
@NotBlank
private final String instrument;
private final String instrumentType;

@Override
protected List<String> getProjectNames() {
return getProjects() == null ? Collections.emptyList() : getProjects();
return this.getProjectName() == null ? Collections.emptyList() : this.getProjectName();
}

public abstract Package setLocationDetail(LocationDetail locationDetail);
public abstract Package setProjects(List<String> projects);
public abstract Package setPlatform(String platform);
public abstract Package setProjectName(List<String> projectName);
public abstract Package setPlatformName(String platformName);
public abstract Package setScientists(List<String> scientists);
public abstract Package setDatasetPackager(String datasetPackager);
public abstract Package setSponsors(List<String> sponsors);
public abstract Package setFunders(List<String> funders);
public abstract Package setInstrument(String instrument);
public abstract Package setInstrumentType(String instrumentType);
}
Original file line number Diff line number Diff line change
Expand Up @@ -42,13 +42,13 @@ public DetectionsPackage setLocationDetail(LocationDetail locationDetail) {
}

@Override
public DetectionsPackage setProjects(List<String> projects) {
return toBuilder().projects(projects).build();
public DetectionsPackage setProjectName(List<String> projectName) {
return toBuilder().projectName(projectName).build();
}

@Override
public DetectionsPackage setPlatform(String platform) {
return toBuilder().platform(platform).build();
public DetectionsPackage setPlatformName(String platformName) {
return toBuilder().platformName(platformName).build();
}

@Override
Expand Down Expand Up @@ -77,8 +77,8 @@ public DetectionsPackage setFunders(List<String> funders) {
}

@Override
public DetectionsPackage setInstrument(String instrument) {
return toBuilder().instrument(instrument).build();
public DetectionsPackage setInstrumentType(String instrumentType) {
return toBuilder().instrumentType(instrumentType).build();
}

@Override
Expand Down
Loading

0 comments on commit 7967154

Please sign in to comment.