This is an automated email from the ASF dual-hosted git repository. machristie pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/airavata.git
commit cc4437e48f205d03a15df0490e4fe13bb366f57e Author: Marcus Christie <machris...@apache.org> AuthorDate: Tue Nov 6 09:24:38 2018 -0500 AIRAVATA-2872 Fixing tests broken by loaded nulls strategy --- .../registry/core/entities/appcatalog/AppEnvironmentEntity.java | 4 ++-- .../registry/core/entities/expcatalog/ExperimentStatusEntity.java | 4 ++-- .../airavata/registry/core/entities/expcatalog/ProcessEntity.java | 4 ++-- .../airavata/registry/core/entities/expcatalog/TaskEntity.java | 4 ++-- .../core/entities/replicacatalog/DataReplicaLocationEntity.java | 4 ++-- .../airavata/registry/core/utils/ObjectMapperSingleton.java | 8 ++++---- .../repositories/expcatalog/ExperimentStatusRepositoryTest.java | 1 + 7 files changed, 15 insertions(+), 14 deletions(-) diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/AppEnvironmentEntity.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/AppEnvironmentEntity.java index 597d148..cbeec0b 100644 --- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/AppEnvironmentEntity.java +++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/AppEnvironmentEntity.java @@ -49,8 +49,8 @@ public class AppEnvironmentEntity implements Serializable { @Column(name = "ENV_ORDER") private int envPathOrder; - @ManyToOne(targetEntity = ApplicationDeploymentEntity.class, cascade = CascadeType.MERGE) - @JoinColumn(name = "DEPLOYMENT_ID") + @ManyToOne(targetEntity = ApplicationDeploymentEntity.class) + @JoinColumn(name = "DEPLOYMENT_ID", nullable = false, updatable = false) @ForeignKey(deleteAction = ForeignKeyAction.CASCADE) private ApplicationDeploymentEntity applicationDeployment; diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentStatusEntity.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentStatusEntity.java index 91ec10f..5ef5a0a 100644 --- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentStatusEntity.java +++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentStatusEntity.java @@ -54,8 +54,8 @@ public class ExperimentStatusEntity implements Serializable { @Column(name = "REASON") private String reason; - @ManyToOne(targetEntity = ExperimentEntity.class, cascade = CascadeType.ALL, fetch = FetchType.LAZY) - @JoinColumn(name = "EXPERIMENT_ID", referencedColumnName = "EXPERIMENT_ID") + @ManyToOne(targetEntity = ExperimentEntity.class, fetch = FetchType.LAZY) + @JoinColumn(name = "EXPERIMENT_ID", referencedColumnName = "EXPERIMENT_ID", nullable = false, updatable = false) private ExperimentEntity experiment; public ExperimentStatusEntity() { diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessEntity.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessEntity.java index b5c5ab7..3e3c378 100644 --- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessEntity.java +++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessEntity.java @@ -120,8 +120,8 @@ public class ProcessEntity implements Serializable { mappedBy = "process", fetch = FetchType.EAGER) private List<TaskEntity> tasks; - @ManyToOne(targetEntity = ExperimentEntity.class, cascade = CascadeType.ALL, fetch = FetchType.LAZY) - @JoinColumn(name = "EXPERIMENT_ID", referencedColumnName = "EXPERIMENT_ID") + @ManyToOne(targetEntity = ExperimentEntity.class, fetch = FetchType.LAZY) + @JoinColumn(name = "EXPERIMENT_ID", referencedColumnName = "EXPERIMENT_ID", nullable = false, updatable = false) private ExperimentEntity experiment; public ProcessEntity() { diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/TaskEntity.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/TaskEntity.java index fb37e87..90dfa79 100644 --- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/TaskEntity.java +++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/TaskEntity.java @@ -73,8 +73,8 @@ public class TaskEntity implements Serializable { mappedBy = "task", fetch = FetchType.EAGER) private List<JobEntity> jobs; - @ManyToOne(targetEntity = ProcessEntity.class, cascade = CascadeType.ALL, fetch = FetchType.LAZY) - @JoinColumn(name = "PARENT_PROCESS_ID", referencedColumnName = "PROCESS_ID") + @ManyToOne(targetEntity = ProcessEntity.class, fetch = FetchType.LAZY) + @JoinColumn(name = "PARENT_PROCESS_ID", referencedColumnName = "PROCESS_ID", nullable = false, updatable = false) private ProcessEntity process; public TaskEntity() { diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/replicacatalog/DataReplicaLocationEntity.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/replicacatalog/DataReplicaLocationEntity.java index 458119c..ca0360b 100644 --- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/replicacatalog/DataReplicaLocationEntity.java +++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/replicacatalog/DataReplicaLocationEntity.java @@ -78,8 +78,8 @@ public class DataReplicaLocationEntity implements Serializable { @Column(name = "METADATA_VALUE") private Map<String, String> replicaMetadata; - @ManyToOne(targetEntity = DataProductEntity.class, cascade = CascadeType.MERGE) - @JoinColumn(name = "PRODUCT_URI") + @ManyToOne(targetEntity = DataProductEntity.class) + @JoinColumn(name = "PRODUCT_URI", nullable = false, updatable = false) private DataProductEntity dataProduct; public String getReplicaId() { diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/utils/ObjectMapperSingleton.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/utils/ObjectMapperSingleton.java index 8ff15c4..ab5ffe9 100644 --- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/utils/ObjectMapperSingleton.java +++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/utils/ObjectMapperSingleton.java @@ -46,16 +46,16 @@ public class ObjectMapperSingleton extends DozerBeanMapper{ new ArrayList<String>(){{ add("dozer_mapping.xml"); }}); - instance.setCustomFieldMapper(new MyCustomFieldMapper()); + instance.setCustomFieldMapper(new SkipUnsetPrimitiveFieldMapper()); } return instance; } - private static class MyCustomFieldMapper implements CustomFieldMapper { + private static class SkipUnsetPrimitiveFieldMapper implements CustomFieldMapper { @Override public boolean mapField(Object source, Object destination, Object sourceFieldValue, ClassMap classMap, FieldMap fieldMap) { - // Just skipping mapping field if not set on Thrift source model and it is primitive - if (isSourceUnsetThriftField(source, fieldMap) && ClassUtils.isPrimitiveOrWrapper(source.getClass())) { + // Just skipping mapping field if not set on Thrift source model and the field's value is primitive + if (isSourceUnsetThriftField(source, fieldMap) && sourceFieldValue != null && ClassUtils.isPrimitiveOrWrapper(sourceFieldValue.getClass())) { logger.debug("Skipping field " + fieldMap.getSrcFieldName() + " since it is unset thrift field and is primitive"); return true; } diff --git a/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/expcatalog/ExperimentStatusRepositoryTest.java b/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/expcatalog/ExperimentStatusRepositoryTest.java index a2e628a..f6dc02a 100644 --- a/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/expcatalog/ExperimentStatusRepositoryTest.java +++ b/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/expcatalog/ExperimentStatusRepositoryTest.java @@ -89,6 +89,7 @@ public class ExperimentStatusRepositoryTest extends TestBase { ExperimentStatus updatedExecutingStatus = new ExperimentStatus(ExperimentState.EXECUTING); updatedExecutingStatus.setReason("updated reason"); + updatedExecutingStatus.setTimeOfStateChange(experimentStatus.getTimeOfStateChange()); String updatedExperimentStatusId = experimentStatusRepository.updateExperimentStatus(updatedExecutingStatus, experimentId); ExperimentStatus retrievedExpStatus = experimentStatusRepository.getExperimentStatus(experimentId);