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


The following commit(s) were added to refs/heads/develop by this push:
     new ceb4cdb  AIRAVATA-2932 Fix saving job submission protocol
ceb4cdb is described below

commit ceb4cdb04fa2a0ed1f090fad0d344df655e9f3c2
Author: Marcus Christie <machris...@apache.org>
AuthorDate: Thu Nov 1 15:23:39 2018 -0400

    AIRAVATA-2932 Fix saving job submission protocol
---
 .../appcatalog/JobSubmissionInterfaceEntity.java   |  4 +-
 .../JobSubmissionInterfaceRepository.java          |  5 --
 .../JobSubmissionInterfaceRepositoryTest.java      | 88 ++++++++++++++++++++++
 3 files changed, 90 insertions(+), 7 deletions(-)

diff --git 
a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/JobSubmissionInterfaceEntity.java
 
b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/JobSubmissionInterfaceEntity.java
index c1733d7..2f1e28e 100644
--- 
a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/JobSubmissionInterfaceEntity.java
+++ 
b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/JobSubmissionInterfaceEntity.java
@@ -56,8 +56,8 @@ public class JobSubmissionInterfaceEntity implements 
Serializable {
     @Column(name = "UPDATE_TIME")
     private Timestamp updateTime;
 
-    @ManyToOne(targetEntity = ComputeResourceEntity.class, cascade = 
CascadeType.MERGE)
-    @JoinColumn(name = "COMPUTE_RESOURCE_ID")
+    @ManyToOne(targetEntity = ComputeResourceEntity.class)
+    @JoinColumn(name = "COMPUTE_RESOURCE_ID", nullable = false, updatable = 
false)
     private ComputeResourceEntity computeResource;
 
     public JobSubmissionInterfaceEntity() {
diff --git 
a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/repositories/appcatalog/JobSubmissionInterfaceRepository.java
 
b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/repositories/appcatalog/JobSubmissionInterfaceRepository.java
index ed22893..62c6e79 100644
--- 
a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/repositories/appcatalog/JobSubmissionInterfaceRepository.java
+++ 
b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/repositories/appcatalog/JobSubmissionInterfaceRepository.java
@@ -19,9 +19,7 @@
  */
 package org.apache.airavata.registry.core.repositories.appcatalog;
 
-import 
org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription;
 import 
org.apache.airavata.model.appcatalog.computeresource.JobSubmissionInterface;
-import 
org.apache.airavata.registry.core.entities.appcatalog.ComputeResourceEntity;
 import 
org.apache.airavata.registry.core.entities.appcatalog.JobSubmissionInterfaceEntity;
 import 
org.apache.airavata.registry.core.entities.appcatalog.JobSubmissionInterfacePK;
 import org.apache.airavata.registry.core.utils.ObjectMapperSingleton;
@@ -36,9 +34,6 @@ public class JobSubmissionInterfaceRepository extends 
AppCatAbstractRepository<J
     public String addJobSubmission(String computeResourceId, 
JobSubmissionInterface jobSubmissionInterface) {
         Mapper mapper = ObjectMapperSingleton.getInstance();
         JobSubmissionInterfaceEntity jobSubmissionInterfaceEntity = 
mapper.map(jobSubmissionInterface, JobSubmissionInterfaceEntity.class);
-        ComputeResourceDescription computeResourceDescription = new 
ComputeResourceRepository().get(computeResourceId);
-        ComputeResourceEntity computeResourceEntity = 
mapper.map(computeResourceDescription, ComputeResourceEntity.class);
-        jobSubmissionInterfaceEntity.setComputeResource(computeResourceEntity);
         jobSubmissionInterfaceEntity.setComputeResourceId(computeResourceId);
         execute(entityManager -> 
entityManager.merge(jobSubmissionInterfaceEntity));
 
diff --git 
a/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/appcatalog/JobSubmissionInterfaceRepositoryTest.java
 
b/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/appcatalog/JobSubmissionInterfaceRepositoryTest.java
new file mode 100644
index 0000000..0a5dada
--- /dev/null
+++ 
b/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/appcatalog/JobSubmissionInterfaceRepositoryTest.java
@@ -0,0 +1,88 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.airavata.registry.core.repositories.appcatalog;
+
+import org.apache.airavata.model.appcatalog.computeresource.BatchQueue;
+import 
org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription;
+import 
org.apache.airavata.model.appcatalog.computeresource.JobSubmissionInterface;
+import 
org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol;
+import 
org.apache.airavata.registry.core.entities.appcatalog.JobSubmissionInterfacePK;
+import org.apache.airavata.registry.core.repositories.common.TestBase;
+import org.apache.airavata.registry.cpi.AppCatalogException;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class JobSubmissionInterfaceRepositoryTest extends TestBase {
+    private static final Logger logger = 
LoggerFactory.getLogger(ComputeResourceRepositoryTest.class);
+
+    private JobSubmissionInterfaceRepository jobSubmissionInterfaceRepository;
+    private ComputeResourceRepository computeResourceRepository;
+    private String computeResourceId;
+
+    public JobSubmissionInterfaceRepositoryTest() {
+        super(Database.APP_CATALOG);
+        jobSubmissionInterfaceRepository = new 
JobSubmissionInterfaceRepository();
+        computeResourceRepository = new ComputeResourceRepository();
+    }
+
+    @Before
+    public void createTestComputeResource() throws AppCatalogException {
+
+        ComputeResourceDescription description = new 
ComputeResourceDescription();
+        description.setHostName("localhost");
+        description.addToBatchQueues(new BatchQueue("queue1"));
+        description.addToBatchQueues(new BatchQueue("queue2"));
+        computeResourceId = 
computeResourceRepository.addComputeResource(description);
+    }
+
+    @After
+    public void removeTestComputeResource() throws AppCatalogException {
+
+        computeResourceRepository.removeComputeResource(computeResourceId);
+    }
+
+    @Test
+    public void testAddJobSubmissionInterface() throws AppCatalogException {
+
+        JobSubmissionInterface jobSubmissionInterface = new 
JobSubmissionInterface();
+        jobSubmissionInterface.setJobSubmissionInterfaceId("test");
+        jobSubmissionInterface.setPriorityOrder(1);
+        
jobSubmissionInterface.setJobSubmissionProtocol(JobSubmissionProtocol.SSH);
+
+        String jobSubmissionInterfaceId = 
jobSubmissionInterfaceRepository.addJobSubmission(computeResourceId, 
jobSubmissionInterface);
+
+        JobSubmissionInterfacePK pk = new JobSubmissionInterfacePK();
+        pk.setComputeResourceId(computeResourceId);
+        pk.setJobSubmissionInterfaceId(jobSubmissionInterfaceId);
+
+        JobSubmissionInterface retrievedJobSubmissionInterface = 
jobSubmissionInterfaceRepository.get(pk);
+        Assert.assertEquals("test", 
retrievedJobSubmissionInterface.getJobSubmissionInterfaceId());
+        Assert.assertEquals(1, 
retrievedJobSubmissionInterface.getPriorityOrder());
+        Assert.assertEquals(JobSubmissionProtocol.SSH, 
retrievedJobSubmissionInterface.getJobSubmissionProtocol());
+
+
+        jobSubmissionInterfaceRepository.delete(pk);
+    }
+}

Reply via email to