You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ma...@apache.org on 2018/11/06 16:47:38 UTC
[airavata] 02/03: AIRAVATA-2872 Fixing tests broken by loaded nulls
strategy
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 <ma...@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);