Author: samindaw
Date: Fri Dec 21 21:40:54 2012
New Revision: 1425154

URL: http://svn.apache.org/viewvc?rev=1425154&view=rev
Log:
WorkflowScheduling settings API interface

Added:
    
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/HPCSchedulingSettings.java
   (with props)
    
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/HostSchedulingSettings.java
   (with props)
    
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/NodeSettings.java
   (with props)
    
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/WorkflowSchedulingSettings.java
   (with props)

Added: 
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/HPCSchedulingSettings.java
URL: 
http://svn.apache.org/viewvc/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/HPCSchedulingSettings.java?rev=1425154&view=auto
==============================================================================
--- 
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/HPCSchedulingSettings.java
 (added)
+++ 
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/HPCSchedulingSettings.java
 Fri Dec 21 21:40:54 2012
@@ -0,0 +1,111 @@
+/*
+ *
+ * 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.client.api;
+
+public interface HPCSchedulingSettings {
+       
+       /**
+        * Get the job manager to use for this job submission
+        * @return
+        */
+       public String getJobManager();
+       
+       /**
+        * Get the no of CPU cores to allocate for this job 
+        * @return
+        */
+       public int getCPUCount();
+       
+       /**
+        * Get the no of nodes to allocate for this job
+        * @return
+        */
+       public int getNodeCount();
+       
+       /**
+        * Get the job queue name 
+        * @return
+        */
+       public String getQueueName();
+       
+       /**
+        * Get the maximum time the job should be allocated for execution 
+        * @return
+        */
+       public int getMaxWallTime();
+       
+       /**
+        * Set the job manager to use for this job submission
+        * @param jobManager
+        */
+       public void setJobManager(String jobManager);
+       
+       /**
+        * Set the no of CPU cores to allocate for this job
+        * @param cpuCount
+        */
+       public void setCPUCount(Integer cpuCount);
+       
+       /**
+        * Set the no of nodes to allocate for this job
+        * @param nodeCount
+        */
+       public void setNodeCount(Integer nodeCount);
+       
+       /**
+        * Set the job queue name 
+        * @param queueName
+        */
+       public void setQueueName(String queueName);
+       
+       /**
+        * Set the maximum time the job should be allocated for execution 
+        * @param maxWallTime
+        */
+       public void setMaxWallTime(Integer maxWallTime);
+       
+       /**
+        * Reset the job manager values
+        */
+       public void resetJobManager();
+       
+       /**
+        * Reset the CPU count
+        */
+       public void resetCPUCount();
+       
+       /**
+        * Reset the Node count
+        */
+       public void resetNodeCount();
+       
+       /**
+        * Reset the queue name for the job
+        */
+       public void resetQueueName();
+       
+       /**
+        * Reset the maximum time allocated for the job
+        */
+       public void resetMaxWallTime();
+       
+}

Propchange: 
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/HPCSchedulingSettings.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: 
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/HostSchedulingSettings.java
URL: 
http://svn.apache.org/viewvc/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/HostSchedulingSettings.java?rev=1425154&view=auto
==============================================================================
--- 
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/HostSchedulingSettings.java
 (added)
+++ 
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/HostSchedulingSettings.java
 Fri Dec 21 21:40:54 2012
@@ -0,0 +1,71 @@
+/*
+ *
+ * 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.client.api;
+
+public interface HostSchedulingSettings {
+       
+       /**
+        * Get the id of the host descriptor
+        * @return
+        */
+       public String getHostId();
+       
+       /**
+        * Using WS-Gram or not (Pre WS-GRAM) 
+        * @return
+        */
+       public boolean isWSGRAMPreffered();
+       
+       /**
+        * Get the gatekeeper endpoint reference
+        * @return
+        */
+       public String getGatekeeperEPR();
+       
+       /**
+        * Set the id of the host descriptor use
+        * @param hostId
+        */
+       public void setHostId(String hostId);
+       
+       /**
+        * Set whether to use WS-GRAM or Pre WS-GRAM
+        * @param wsgramPreffered
+        */
+       public void setWSGramPreffered(boolean wsgramPreffered);
+       
+       /**
+        * Set the gatekeeper endpoint reference
+        * @param gatekeeperEPR
+        */
+       public void setGatekeeperEPR(String gatekeeperEPR);
+       
+       /**
+        * reset the values for the WS-GRAM preference
+        */
+       public void resetWSGramPreffered();
+       
+       /**
+        * Reset the values for gatekeeper endpoint reference
+        */
+       public void resetGatekeeperEPR();
+}

Propchange: 
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/HostSchedulingSettings.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: 
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/NodeSettings.java
URL: 
http://svn.apache.org/viewvc/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/NodeSettings.java?rev=1425154&view=auto
==============================================================================
--- 
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/NodeSettings.java
 (added)
+++ 
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/NodeSettings.java
 Fri Dec 21 21:40:54 2012
@@ -0,0 +1,61 @@
+/*
+ *
+ * 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.client.api;
+
+public interface NodeSettings {
+       
+       /**
+        * Get the id of the node in the workflow
+        * @return
+        */
+       public String getNodeId();
+       
+       /**
+        * Get the id of the service descriptor which the node binds to
+        * @return
+        */
+       public String getServiceId();
+       
+       /**
+        * host settings for the service descriptor 
+        * @return
+        */
+       public HostSchedulingSettings getHostSettings();
+       
+       /**
+        * HPC settings for the grid application exposed by the service 
descriptor
+        * @return
+        */
+       public HPCSchedulingSettings getHPCSettings();
+       
+       /**
+        * Set the node Id of the workflow
+        * @param nodeId
+        */
+       public void setNodeId(String nodeId);
+       
+       /**
+        * Set the id of the service descriptor which the node should binds to 
+        * @param serviceId
+        */
+       public void setServiceId(String serviceId);
+}

Propchange: 
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/NodeSettings.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: 
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/WorkflowSchedulingSettings.java
URL: 
http://svn.apache.org/viewvc/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/WorkflowSchedulingSettings.java?rev=1425154&view=auto
==============================================================================
--- 
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/WorkflowSchedulingSettings.java
 (added)
+++ 
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/WorkflowSchedulingSettings.java
 Fri Dec 21 21:40:54 2012
@@ -0,0 +1,79 @@
+/*
+ *
+ * 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.client.api;
+
+public interface WorkflowSchedulingSettings {
+       
+       /**
+        * Get all currently defined scheduling settings for the workflow node
+        * @return
+        */
+       public NodeSettings[] getNodeSettings();
+       
+       /**
+        * Add and return a new Node scheduling settings  
+        * @param nodeId
+        * @return
+        */
+       public NodeSettings addNewNodeSettings(String nodeId);
+       
+       /**
+        * Add and return a new Node scheduling settings
+        * @param nodeId
+        * @param serviceId
+        * @param cpuCount
+        * @param nodeCount
+        * @return
+        */
+       public NodeSettings addNewNodeSettings(String nodeId, String serviceId, 
int cpuCount, int nodeCount);
+       
+       /**
+        * Add a list of Node scheduling settings
+        * @param nodeSettings
+        */
+       public void addNewNodeSettings(NodeSettings...nodeSettings);
+       
+       /**
+        * Is there a Node scheduling settings defined for the given node id
+        * @param nodeId
+        * @return
+        */
+       public boolean hasNodeSettings(String nodeId);
+       
+       /**
+        * Return the Node scheduling settings for the given node Id
+        * @param nodeId
+        * @return
+        */
+       public NodeSettings getNodeSettings(String nodeId);
+       
+       /**
+        * Remove the node scheduling settings given by the node Id
+        * @param nodeId
+        */
+       public void removeNodeSettings(String nodeId);
+       
+       /**
+        * Clear all node scheduling settings
+        */
+       public void removeAllNodeSettings();
+}

Propchange: 
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/WorkflowSchedulingSettings.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain


Reply via email to