You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ra...@apache.org on 2014/01/13 20:17:26 UTC

svn commit: r1557816 - in /airavata/trunk/modules: orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/ orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/impl/ orchestrator/orchestrator-co...

Author: raminder
Date: Mon Jan 13 19:17:25 2014
New Revision: 1557816

URL: http://svn.apache.org/r1557816
Log:
added registry call to save experiment data

Modified:
    airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/ExperimentRequest.java
    airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/PullBasedOrchestrator.java
    airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/impl/EmbeddedGFACJobSubmitter.java
    airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/job/JobSubmitter.java
    airavata/trunk/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/PullBasedOrchestratorTest.java
    airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/AiravataJPARegistry.java
    airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/GatewayResource.java
    airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/OrchestratorDataResource.java
    airavata/trunk/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/OrchestratorRegistry.java
    airavata/trunk/modules/rest/client/src/main/java/org/apache/airavata/rest/client/RegistryClient.java

Modified: airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/ExperimentRequest.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/ExperimentRequest.java?rev=1557816&r1=1557815&r2=1557816&view=diff
==============================================================================
--- airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/ExperimentRequest.java (original)
+++ airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/ExperimentRequest.java Mon Jan 13 19:17:25 2014
@@ -34,6 +34,8 @@ public class ExperimentRequest {
     private String userName;
 
     private String userExperimentID;
+    
+    private String orchestratorID;
 
     public String getUserExperimentID() {
         return userExperimentID;
@@ -50,4 +52,12 @@ public class ExperimentRequest {
     public void setUserName(String userName) {
         this.userName = userName;
     }
+
+	public String getOrchestratorID() {
+		return orchestratorID;
+	}
+
+	public void setOrchestratorID(String orchestratorID) {
+		this.orchestratorID = orchestratorID;
+	}
 }

Modified: airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/PullBasedOrchestrator.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/PullBasedOrchestrator.java?rev=1557816&r1=1557815&r2=1557816&view=diff
==============================================================================
--- airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/PullBasedOrchestrator.java (original)
+++ airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/PullBasedOrchestrator.java Mon Jan 13 19:17:25 2014
@@ -30,6 +30,7 @@ import org.apache.airavata.common.utils.
 import org.apache.airavata.orchestrator.core.context.OrchestratorContext;
 import org.apache.airavata.orchestrator.core.exception.OrchestratorException;
 import org.apache.airavata.orchestrator.core.gfac.GFACInstance;
+import org.apache.airavata.orchestrator.core.utils.OrchestratorConstants;
 import org.apache.airavata.orchestrator.core.utils.OrchestratorUtils;
 import org.apache.airavata.registry.api.*;
 import org.apache.airavata.registry.api.exception.RegistryException;
@@ -111,11 +112,11 @@ public class PullBasedOrchestrator imple
 
     public String createExperiment(ExperimentRequest request) throws OrchestratorException {
         //todo use a consistent method to create the experiment ID
-        String experimentID = UUID.randomUUID().toString();
+    	String experimentID = request.getUserExperimentID();
+        String orchestratorID = UUID.randomUUID().toString();
         String username = request.getUserName();
         try {
-            airavataRegistry.storeExperiment(username, experimentID);
-            airavataRegistry.changeStatus(experimentID, AiravataJobState.State.CREATED);
+            airavataRegistry.storeExperiment(username, experimentID, orchestratorID, AiravataJobState.State.CREATED);
         } catch (RegistryException e) {
             //todo put more meaningful error  message
             logger.error("Failed to create experiment for the request from " + request.getUserName());
@@ -140,10 +141,11 @@ public class PullBasedOrchestrator imple
             logger.error("Invalid Experiment ID given: " + request.getUserName());
             return false;
         }
+        String gfacEPR = OrchestratorConstants.EMBEDDED_MODE;
         //todo use a more concrete user type in to this
         String username = request.getUserName();
         try {
-            airavataRegistry.changeStatus(experimentID, AiravataJobState.State.ACCEPTED);
+            airavataRegistry.changeStatus(experimentID, AiravataJobState.State.ACCEPTED, gfacEPR);
             //todo save jobRequest data in to the database
         } catch (RegistryException e) {
             //todo put more meaningful error message

Modified: airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/impl/EmbeddedGFACJobSubmitter.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/impl/EmbeddedGFACJobSubmitter.java?rev=1557816&r1=1557815&r2=1557816&view=diff
==============================================================================
--- airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/impl/EmbeddedGFACJobSubmitter.java (original)
+++ airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/impl/EmbeddedGFACJobSubmitter.java Mon Jan 13 19:17:25 2014
@@ -41,6 +41,7 @@ import org.apache.airavata.gfac.schedule
 import org.apache.airavata.orchestrator.core.context.OrchestratorContext;
 import org.apache.airavata.orchestrator.core.gfac.GFACInstance;
 import org.apache.airavata.orchestrator.core.job.JobSubmitter;
+import org.apache.airavata.orchestrator.core.utils.OrchestratorConstants;
 import org.apache.airavata.registry.api.AiravataRegistry2;
 import org.apache.airavata.registry.api.JobRequest;
 import org.apache.airavata.registry.api.exception.RegistryException;
@@ -49,11 +50,13 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.xml.sax.SAXException;
 import org.xmlpull.v1.builder.XmlElement;
+
 import xsul.wsif.impl.WSIFMessageElement;
 
 import javax.xml.parsers.ParserConfigurationException;
 import javax.xml.stream.XMLStreamException;
 import javax.xml.xpath.XPathExpressionException;
+
 import java.io.File;
 import java.io.IOException;
 import java.net.URL;
@@ -97,7 +100,7 @@ public class EmbeddedGFACJobSubmitter im
 
                 //after successfully submitting the jobs set the status of the job to submitted
 
-                orchestratorContext.getRegistry().changeStatus(experimentIDList.get(i), AiravataJobState.State.SUBMITTED);
+                orchestratorContext.getRegistry().changeStatus(experimentIDList.get(i), AiravataJobState.State.SUBMITTED, OrchestratorConstants.EMBEDDED_MODE);
                 AiravataAPI airavataAPI = orchestratorContext.getOrchestratorConfiguration().getAiravataAPI();
                 HostDescription registeredHost = null;
                 ServiceDescription serviceDescription = airavataAPI.getApplicationManager().getServiceDescription(serviceName);

Modified: airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/job/JobSubmitter.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/job/JobSubmitter.java?rev=1557816&r1=1557815&r2=1557816&view=diff
==============================================================================
--- airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/job/JobSubmitter.java (original)
+++ airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/job/JobSubmitter.java Mon Jan 13 19:17:25 2014
@@ -20,12 +20,11 @@
 */
 package org.apache.airavata.orchestrator.core.job;
 
-import org.apache.airavata.orchestrator.core.context.OrchestratorContext;
+import java.util.List;
+
 import org.apache.airavata.orchestrator.core.gfac.GFACInstance;
 import org.apache.airavata.registry.api.AiravataRegistry2;
 
-import java.util.List;
-
 /**
  * This is the submitter interface, orchestrator can
  * submit jobs to gfac in different modes, gfac running embedded

Modified: airavata/trunk/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/PullBasedOrchestratorTest.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/PullBasedOrchestratorTest.java?rev=1557816&r1=1557815&r2=1557816&view=diff
==============================================================================
--- airavata/trunk/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/PullBasedOrchestratorTest.java (original)
+++ airavata/trunk/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/PullBasedOrchestratorTest.java Mon Jan 13 19:17:25 2014
@@ -139,7 +139,7 @@ public class PullBasedOrchestratorTest {
 
 
         // setting all the parameters to jobRequest
-        jobRequest.setExperimentID(systemExpID);
+        jobRequest.setSystemExperimentID(systemExpID);
         jobRequest.setHostDescription(descriptor);
         jobRequest.setServiceDescription(serviceDescription);
         jobRequest.setApplicationDescription(applicationDeploymentDescription);

Modified: airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/AiravataJPARegistry.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/AiravataJPARegistry.java?rev=1557816&r1=1557815&r2=1557816&view=diff
==============================================================================
--- airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/AiravataJPARegistry.java (original)
+++ airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/AiravataJPARegistry.java Mon Jan 13 19:17:25 2014
@@ -63,6 +63,7 @@ import org.apache.airavata.persistance.r
 import org.apache.airavata.persistance.registry.jpa.resources.GatewayResource;
 import org.apache.airavata.persistance.registry.jpa.resources.HostDescriptorResource;
 import org.apache.airavata.persistance.registry.jpa.resources.NodeDataResource;
+import org.apache.airavata.persistance.registry.jpa.resources.OrchestratorDataResource;
 import org.apache.airavata.persistance.registry.jpa.resources.ProjectResource;
 import org.apache.airavata.persistance.registry.jpa.resources.PublishWorkflowResource;
 import org.apache.airavata.persistance.registry.jpa.resources.ServiceDescriptorResource;
@@ -2580,12 +2581,30 @@ public class AiravataJPARegistry extends
         return false;  //To change body of implemented methods use File | Settings | File Templates.
     }
 
-    public boolean storeExperiment(String userName, String experimentID) throws RegistryException {
-        return false;  //To change body of implemented methods use File | Settings | File Templates.
-    }
+    public boolean storeExperiment(String userName, String experimentID, String orchestratorID,AiravataJobState.State state) throws RegistryException {
+    	GatewayResource gateway = jpa.getGateway();
+		OrchestratorDataResource dataResource = gateway.createOrchestratorData(orchestratorID); 
+		dataResource.setUserName(userName);
+		dataResource.setExperimentID(experimentID);
+		dataResource.setStatus(state.toString());
+		dataResource.save();
+		return true;
+	}
 
-    public boolean changeStatus(String experimentID, AiravataJobState.State state) throws RegistryException {
-        return false;  //To change body of implemented methods use File | Settings | File Templates.
+	public boolean changeStatus(String experimentID, AiravataJobState.State state) throws RegistryException {
+		GatewayResource gateway = jpa.getGateway();
+		OrchestratorDataResource dataResource = gateway.createOrchestratorData(experimentID); 
+		dataResource.setStatus(state.toString());
+		dataResource.save();
+		return true; 
+    }
+    public boolean changeStatus(String orchestratorID, AiravataJobState.State state, String gfacEPR) throws RegistryException {
+    	GatewayResource gateway = jpa.getGateway();
+		OrchestratorDataResource dataResource = gateway.createOrchestratorData(orchestratorID); 
+		dataResource.setStatus(state.toString());
+		dataResource.setGfacEPR(gfacEPR);
+		dataResource.save();
+		return true; 
     }
 
     public AiravataJobState getState(String experimentID) throws RegistryException {
@@ -2615,4 +2634,6 @@ public class AiravataJPARegistry extends
     public boolean resetHangedJob(String experimentID) throws RegistryException {
         return false;  //To change body of implemented methods use File | Settings | File Templates.
     }
+
+	
 }

Modified: airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/GatewayResource.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/GatewayResource.java?rev=1557816&r1=1557815&r2=1557816&view=diff
==============================================================================
--- airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/GatewayResource.java (original)
+++ airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/GatewayResource.java Mon Jan 13 19:17:25 2014
@@ -132,6 +132,10 @@ public class GatewayResource extends Abs
                 WorkerResource workerResource = new WorkerResource();
                 workerResource.setGateway(this);
                 return workerResource;
+            case ORCHESTRATOR_DATA:
+                OrchestratorDataResource orchestratorDataResource = new OrchestratorDataResource();
+                orchestratorDataResource.setGateway(this);
+                return orchestratorDataResource;
             default:
                 logger.error("Unsupported resource type for gateway resource.", new IllegalArgumentException());
                 throw new IllegalArgumentException("Unsupported resource type for gateway resource.");
@@ -740,5 +744,11 @@ public class GatewayResource extends Abs
     public void removePublishedWorkflow(String workflowTemplateName){
     	remove(ResourceType.PUBLISHED_WORKFLOW, workflowTemplateName);
     }
+    
+    public OrchestratorDataResource createOrchestratorData(String orchestratorID){
+    	OrchestratorDataResource dataResource = (OrchestratorDataResource)create(ResourceType.ORCHESTRATOR_DATA);
+    	dataResource.setOrchestratorID(orchestratorID);
+    	return dataResource;
+    }
 }
 

Modified: airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/OrchestratorDataResource.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/OrchestratorDataResource.java?rev=1557816&r1=1557815&r2=1557816&view=diff
==============================================================================
--- airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/OrchestratorDataResource.java (original)
+++ airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/OrchestratorDataResource.java Mon Jan 13 19:17:25 2014
@@ -23,6 +23,7 @@ public class OrchestratorDataResource ex
 	private String status;
 	private String state;
 	private String gfacEPR;
+	private GatewayResource gateway;
 
 	public String getExperimentID() {
 		return experimentID;
@@ -72,6 +73,14 @@ public class OrchestratorDataResource ex
 		this.gfacEPR = gfacEPR;
 	}
 
+	public GatewayResource getGateway() {
+		return gateway;
+	}
+
+	public void setGateway(GatewayResource gateway) {
+		this.gateway = gateway;
+	}
+
 	@Override
 	public Resource create(ResourceType type) {
 		 if (type == ResourceType.ORCHESTRATOR_DATA) {

Modified: airavata/trunk/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/OrchestratorRegistry.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/OrchestratorRegistry.java?rev=1557816&r1=1557815&r2=1557816&view=diff
==============================================================================
--- airavata/trunk/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/OrchestratorRegistry.java (original)
+++ airavata/trunk/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/OrchestratorRegistry.java Mon Jan 13 19:17:25 2014
@@ -54,12 +54,22 @@ public interface OrchestratorRegistry ex
      * @return
      * @throws RegistryException
      */
-    boolean storeExperiment(String userName,String experimentID)throws RegistryException;
+    boolean storeExperiment(String userName,String experimentID, String orchestratorID, AiravataJobState.State state)throws RegistryException;
 
     /**
      * This can be used to change the status to any valid status
      * @param experimentID
      * @param state
+     * @param gfacEPR
+     * @return
+     * @throws RegistryException
+     */
+    boolean changeStatus(String experimentID,AiravataJobState.State state, String gfacEPR)throws RegistryException;
+    
+    /**
+     * This can be used to change the status to any valid status
+     * @param experimentID
+     * @param state
      * @return
      * @throws RegistryException
      */

Modified: airavata/trunk/modules/rest/client/src/main/java/org/apache/airavata/rest/client/RegistryClient.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/rest/client/src/main/java/org/apache/airavata/rest/client/RegistryClient.java?rev=1557816&r1=1557815&r2=1557816&view=diff
==============================================================================
--- airavata/trunk/modules/rest/client/src/main/java/org/apache/airavata/rest/client/RegistryClient.java (original)
+++ airavata/trunk/modules/rest/client/src/main/java/org/apache/airavata/rest/client/RegistryClient.java Mon Jan 13 19:17:25 2014
@@ -27,23 +27,46 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import javax.ws.rs.core.NewCookie;
+
 import org.apache.airavata.common.utils.AiravataJobState;
+import org.apache.airavata.common.utils.AiravataJobState.State;
 import org.apache.airavata.common.utils.Version;
 import org.apache.airavata.commons.gfac.type.ApplicationDescription;
 import org.apache.airavata.commons.gfac.type.HostDescription;
 import org.apache.airavata.commons.gfac.type.ServiceDescription;
-import org.apache.airavata.registry.api.*;
+import org.apache.airavata.registry.api.AiravataExperiment;
+import org.apache.airavata.registry.api.AiravataRegistry2;
+import org.apache.airavata.registry.api.AiravataUser;
 import org.apache.airavata.registry.api.ExecutionErrors.Source;
+import org.apache.airavata.registry.api.JobRequest;
+import org.apache.airavata.registry.api.PasswordCallback;
+import org.apache.airavata.registry.api.ResourceMetadata;
+import org.apache.airavata.registry.api.WorkspaceProject;
 import org.apache.airavata.registry.api.exception.RegistryException;
 import org.apache.airavata.registry.api.exception.UnimplementedRegistryOperationException;
 import org.apache.airavata.registry.api.exception.worker.ExperimentDoesNotExistsException;
-import org.apache.airavata.registry.api.workflow.*;
+import org.apache.airavata.registry.api.workflow.ApplicationJob;
 import org.apache.airavata.registry.api.workflow.ApplicationJob.ApplicationJobStatus;
+import org.apache.airavata.registry.api.workflow.ApplicationJobExecutionError;
+import org.apache.airavata.registry.api.workflow.ApplicationJobStatusData;
+import org.apache.airavata.registry.api.workflow.ExecutionError;
+import org.apache.airavata.registry.api.workflow.ExperimentData;
+import org.apache.airavata.registry.api.workflow.ExperimentExecutionError;
+import org.apache.airavata.registry.api.workflow.NodeExecutionData;
+import org.apache.airavata.registry.api.workflow.NodeExecutionError;
+import org.apache.airavata.registry.api.workflow.NodeExecutionStatus;
+import org.apache.airavata.registry.api.workflow.WorkflowExecution;
+import org.apache.airavata.registry.api.workflow.WorkflowExecutionData;
+import org.apache.airavata.registry.api.workflow.WorkflowExecutionError;
+import org.apache.airavata.registry.api.workflow.WorkflowExecutionStatus;
+import org.apache.airavata.registry.api.workflow.WorkflowIOData;
+import org.apache.airavata.registry.api.workflow.WorkflowInstanceNode;
+import org.apache.airavata.registry.api.workflow.WorkflowNodeGramData;
+import org.apache.airavata.registry.api.workflow.WorkflowNodeIOData;
+import org.apache.airavata.registry.api.workflow.WorkflowNodeType;
 import org.apache.airavata.rest.utils.CookieManager;
 
-import javax.ws.rs.core.Cookie;
-import javax.ws.rs.core.NewCookie;
-
 public class RegistryClient extends AiravataRegistry2 {
 
     private PasswordCallback callback;
@@ -1032,39 +1055,71 @@ public class RegistryClient extends Aira
         return null;  //To change body of implemented methods use File | Settings | File Templates.
     }
 
-    public boolean storeExperiment(String userName, String experimentID) throws RegistryException {
-        return false;  //To change body of implemented methods use File | Settings | File Templates.
-    }
+	@Override
+	public boolean storeExperiment(String userName, String experimentID,
+			String orchestratorID, State state) throws RegistryException {
+		// TODO Auto-generated method stub
+		return false;
+	}
 
-    public boolean changeStatus(String experimentID, AiravataJobState.State state) throws RegistryException {
-        return false;  //To change body of implemented methods use File | Settings | File Templates.
-    }
+	@Override
+	public boolean changeStatus(String experimentID, State state, String gfacEPR)
+			throws RegistryException {
+		// TODO Auto-generated method stub
+		return false;
+	}
 
-    public AiravataJobState getState(String experimentID) throws RegistryException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
+	@Override
+	public AiravataJobState getState(String experimentID)
+			throws RegistryException {
+		// TODO Auto-generated method stub
+		return null;
+	}
 
-    public List<String> getAllJobsWithState(AiravataJobState state) throws RuntimeException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
+	@Override
+	public List<String> getAllJobsWithState(AiravataJobState state)
+			throws RuntimeException {
+		// TODO Auto-generated method stub
+		return null;
+	}
 
-    public List<String> getAllAcceptedJobs() throws RegistryException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
+	@Override
+	public List<String> getAllAcceptedJobs() throws RegistryException {
+		// TODO Auto-generated method stub
+		return null;
+	}
 
-    public JobRequest fetchAcceptedJob(String experimentID) throws RegistryException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
+	@Override
+	public JobRequest fetchAcceptedJob(String experimentID)
+			throws RegistryException {
+		// TODO Auto-generated method stub
+		return null;
+	}
 
-    public List<String> getAllHangedJobs() throws RegistryException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
-    }
+	@Override
+	public List<String> getAllHangedJobs() throws RegistryException {
+		// TODO Auto-generated method stub
+		return null;
+	}
 
-    public int getHangedJobCount() throws RegistryException {
-        return 0;  //To change body of implemented methods use File | Settings | File Templates.
-    }
+	@Override
+	public int getHangedJobCount() throws RegistryException {
+		// TODO Auto-generated method stub
+		return 0;
+	}
 
-    public boolean resetHangedJob(String experimentID) throws RegistryException {
-        return false;  //To change body of implemented methods use File | Settings | File Templates.
-    }
+	@Override
+	public boolean resetHangedJob(String experimentID) throws RegistryException {
+		// TODO Auto-generated method stub
+		return false;
+	}
+
+	@Override
+	public boolean changeStatus(String experimentID, State state)
+			throws RegistryException {
+		// TODO Auto-generated method stub
+		return false;
+	}
+
+    
 }