You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by pa...@apache.org on 2011/09/09 22:52:36 UTC

svn commit: r1167358 - in /incubator/airavata/trunk/modules/gfac-core/src: main/java/org/apache/airavata/core/gfac/context/invocation/impl/ main/java/org/apache/airavata/core/gfac/exception/ main/java/org/apache/airavata/core/gfac/extension/ main/java/...

Author: patanachai
Date: Fri Sep  9 20:52:34 2011
New Revision: 1167358

URL: http://svn.apache.org/viewvc?rev=1167358&view=rev
Log:
JavaDoc comments

Modified:
    incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/context/invocation/impl/DefaultExecutionContext.java
    incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/context/invocation/impl/DefaultInvocationContext.java
    incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/exception/ExtensionException.java
    incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/exception/GfacException.java
    incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/exception/JobSubmissionFault.java
    incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/exception/ProviderException.java
    incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/exception/SchedulerException.java
    incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/exception/SecurityException.java
    incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/exception/ServiceException.java
    incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/exception/ToolsException.java
    incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/extension/Chain.java
    incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/extension/DataServiceChain.java
    incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/extension/ExitableChain.java
    incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/extension/PostExecuteChain.java
    incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/extension/PreExecuteChain.java
    incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/extension/data/RegistryDataService.java
    incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/extension/post/GridFtpOutputStaging.java
    incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/extension/pre/GridFtpInputStaging.java
    incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/extension/pre/HttpInputStaging.java
    incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/external/GridFtp.java
    incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/factory/AbstractServiceFactory.java
    incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/factory/PropertyServiceFactory.java
    incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/notification/Notifiable.java
    incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/notification/Notifier.java
    incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/notification/Subject.java
    incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/notification/impl/DefaultNotifier.java
    incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/notification/impl/LoggingNotification.java
    incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/notification/impl/StandardOutNotification.java
    incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/notification/impl/WorkflowTrackingNotification.java
    incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/provider/AbstractProvider.java
    incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/provider/GramProvider.java
    incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/provider/LocalProvider.java
    incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/provider/Provider.java
    incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/provider/SSHProvider.java
    incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/provider/utils/GramRSLGenerator.java
    incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/provider/utils/JobSubmissionListener.java
    incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/scheduler/Scheduler.java
    incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/scheduler/impl/POJOSchedulerImpl.java
    incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/scheduler/impl/SchedulerImpl.java
    incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/services/GenericService.java
    incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/services/impl/AbstractSimpleService.java
    incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/services/impl/POJOServiceImpl.java
    incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/services/impl/PropertiesBasedServiceImpl.java
    incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/utils/GridFTPContactInfo.java
    incubator/airavata/trunk/modules/gfac-core/src/main/resources/service.properties
    incubator/airavata/trunk/modules/gfac-core/src/test/resources/service.properties

Modified: incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/context/invocation/impl/DefaultExecutionContext.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/context/invocation/impl/DefaultExecutionContext.java?rev=1167358&r1=1167357&r2=1167358&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/context/invocation/impl/DefaultExecutionContext.java (original)
+++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/context/invocation/impl/DefaultExecutionContext.java Fri Sep  9 20:52:34 2011
@@ -27,6 +27,11 @@ import org.apache.airavata.core.gfac.not
 import org.apache.airavata.core.gfac.notification.Notifier;
 import org.apache.airavata.core.gfac.notification.impl.DefaultNotifier;
 
+/**
+ * DefaultExecutionContext is a simple implementation of ExecutionContext.
+ * It uses DefaultNotifier as its base notifier.
+ *
+ */
 public class DefaultExecutionContext implements ExecutionContext {
 
     private Notifier notificationService = new DefaultNotifier();

Modified: incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/context/invocation/impl/DefaultInvocationContext.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/context/invocation/impl/DefaultInvocationContext.java?rev=1167358&r1=1167357&r2=1167358&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/context/invocation/impl/DefaultInvocationContext.java (original)
+++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/context/invocation/impl/DefaultInvocationContext.java Fri Sep  9 20:52:34 2011
@@ -32,8 +32,6 @@ import org.apache.airavata.core.gfac.con
 
 /**
  * Main context that is used throughout the service
- * 
- * 
  */
 public class DefaultInvocationContext implements InvocationContext{
 

Modified: incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/exception/ExtensionException.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/exception/ExtensionException.java?rev=1167358&r1=1167357&r2=1167358&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/exception/ExtensionException.java (original)
+++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/exception/ExtensionException.java Fri Sep  9 20:52:34 2011
@@ -21,6 +21,9 @@
 
 package org.apache.airavata.core.gfac.exception;
 
+/**
+ * ExtensionException is risen from Extension e.g. file transfer, etc. 
+ */
 public class ExtensionException extends GfacException {
 
     public ExtensionException(String message) {

Modified: incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/exception/GfacException.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/exception/GfacException.java?rev=1167358&r1=1167357&r2=1167358&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/exception/GfacException.java (original)
+++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/exception/GfacException.java Fri Sep  9 20:52:34 2011
@@ -21,6 +21,10 @@
 
 package org.apache.airavata.core.gfac.exception;
 
+/**
+ * The main exception for the GFac Service
+ *
+ */
 public class GfacException extends Exception {
 
     private static final long serialVersionUID = 1L;

Modified: incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/exception/JobSubmissionFault.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/exception/JobSubmissionFault.java?rev=1167358&r1=1167357&r2=1167358&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/exception/JobSubmissionFault.java (original)
+++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/exception/JobSubmissionFault.java Fri Sep  9 20:52:34 2011
@@ -23,6 +23,9 @@ package org.apache.airavata.core.gfac.ex
 
 import org.apache.airavata.core.gfac.provider.Provider;
 
+/**
+ * JobSubmissionFault represents an error from Provider which uses submission.
+ */
 public class JobSubmissionFault extends ProviderException {
     
     public static final String JOB_CANCEL = "JOB_CANCEL";

Modified: incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/exception/ProviderException.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/exception/ProviderException.java?rev=1167358&r1=1167357&r2=1167358&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/exception/ProviderException.java (original)
+++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/exception/ProviderException.java Fri Sep  9 20:52:34 2011
@@ -21,6 +21,12 @@
 
 package org.apache.airavata.core.gfac.exception;
 
+import org.apache.airavata.core.gfac.provider.Provider;
+
+/**
+ * The exception for {@link Provider}
+ *
+ */
 public class ProviderException extends GfacException {
     
     public ProviderException(String message){

Modified: incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/exception/SchedulerException.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/exception/SchedulerException.java?rev=1167358&r1=1167357&r2=1167358&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/exception/SchedulerException.java (original)
+++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/exception/SchedulerException.java Fri Sep  9 20:52:34 2011
@@ -21,6 +21,12 @@
 
 package org.apache.airavata.core.gfac.exception;
 
+import org.apache.airavata.core.gfac.scheduler.Scheduler;
+
+/**
+ * The exception for {@link Scheduler}
+ *
+ */
 public class SchedulerException extends GfacException {
 
     public SchedulerException(String message){

Modified: incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/exception/SecurityException.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/exception/SecurityException.java?rev=1167358&r1=1167357&r2=1167358&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/exception/SecurityException.java (original)
+++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/exception/SecurityException.java Fri Sep  9 20:52:34 2011
@@ -21,6 +21,10 @@
 
 package org.apache.airavata.core.gfac.exception;
 
+/**
+ * Exception for all Security related issue.
+ * 
+ */
 public class SecurityException extends GfacException {
 
     public SecurityException(String message) {

Modified: incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/exception/ServiceException.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/exception/ServiceException.java?rev=1167358&r1=1167357&r2=1167358&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/exception/ServiceException.java (original)
+++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/exception/ServiceException.java Fri Sep  9 20:52:34 2011
@@ -21,6 +21,11 @@
 
 package org.apache.airavata.core.gfac.exception;
 
+
+/**
+ * Exception for Service
+ *
+ */
 public class ServiceException extends GfacException {
 
     public ServiceException(String message) {

Modified: incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/exception/ToolsException.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/exception/ToolsException.java?rev=1167358&r1=1167357&r2=1167358&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/exception/ToolsException.java (original)
+++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/exception/ToolsException.java Fri Sep  9 20:52:34 2011
@@ -21,6 +21,9 @@
 
 package org.apache.airavata.core.gfac.exception;
 
+/**
+ * Exception for all utilities
+ */
 public class ToolsException extends GfacException {
 
     public ToolsException(String message) {

Modified: incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/extension/Chain.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/extension/Chain.java?rev=1167358&r1=1167357&r2=1167358&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/extension/Chain.java (original)
+++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/extension/Chain.java Fri Sep  9 20:52:34 2011
@@ -24,14 +24,28 @@ package org.apache.airavata.core.gfac.ex
 import org.apache.airavata.core.gfac.context.invocation.InvocationContext;
 import org.apache.airavata.core.gfac.exception.ExtensionException;
 
+/**
+ * Class implements the Chain of Responsibility Pattern
+ */
 public abstract class Chain<T> {
     private T next;
 
+    /**
+     * Set the next item in the chain
+     * 
+     * @param nextChain
+     * @return the next item
+     */
     public T setNext(T nextChain) {
         this.next = nextChain;
         return this.next;
     }
     
+    /**
+     * Get the next item in the Chain
+     * 
+     * @return next items
+     */
     protected T getNext(){
         return next;
     }

Modified: incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/extension/DataServiceChain.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/extension/DataServiceChain.java?rev=1167358&r1=1167357&r2=1167358&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/extension/DataServiceChain.java (original)
+++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/extension/DataServiceChain.java Fri Sep  9 20:52:34 2011
@@ -21,6 +21,11 @@
 
 package org.apache.airavata.core.gfac.extension;
 
-public abstract class DataServiceChain extends ExitableChain {
+import org.apache.airavata.core.gfac.provider.Provider;
 
+/**
+ * The data service chain is a plugin which will be executed before
+ * {@link Provider} initialization
+ */
+public abstract class DataServiceChain extends ExitableChain {
 }

Modified: incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/extension/ExitableChain.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/extension/ExitableChain.java?rev=1167358&r1=1167357&r2=1167358&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/extension/ExitableChain.java (original)
+++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/extension/ExitableChain.java Fri Sep  9 20:52:34 2011
@@ -24,6 +24,11 @@ package org.apache.airavata.core.gfac.ex
 import org.apache.airavata.core.gfac.context.invocation.InvocationContext;
 import org.apache.airavata.core.gfac.exception.ExtensionException;
 
+/**
+ * The implementation of Chain of Responsibility with twist. The item in the
+ * chain can stop the process by return <code>true</code> from execution method.
+ * 
+ */
 public abstract class ExitableChain extends Chain<ExitableChain> {
     public final void start(InvocationContext context) throws ExtensionException {
         boolean breakTheChain = this.execute(context);
@@ -33,10 +38,11 @@ public abstract class ExitableChain exte
     }
 
     /**
+     * Execution method to be called for each item
      * 
      * @param context
      * @return true if no need for further processing
-     * @throws ExtensionException TODO
+     * @throws ExtensionException
      */
     protected abstract boolean execute(InvocationContext context) throws ExtensionException;
 }

Modified: incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/extension/PostExecuteChain.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/extension/PostExecuteChain.java?rev=1167358&r1=1167357&r2=1167358&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/extension/PostExecuteChain.java (original)
+++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/extension/PostExecuteChain.java Fri Sep  9 20:52:34 2011
@@ -21,6 +21,12 @@
 
 package org.apache.airavata.core.gfac.extension;
 
+import org.apache.airavata.core.gfac.provider.Provider;
+
+/**
+ * The data service chain is a plugin which will be executed after
+ * {@link Provider} execution
+ */
 public abstract class PostExecuteChain extends ExitableChain {
 
 }

Modified: incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/extension/PreExecuteChain.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/extension/PreExecuteChain.java?rev=1167358&r1=1167357&r2=1167358&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/extension/PreExecuteChain.java (original)
+++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/extension/PreExecuteChain.java Fri Sep  9 20:52:34 2011
@@ -21,5 +21,11 @@
 
 package org.apache.airavata.core.gfac.extension;
 
+import org.apache.airavata.core.gfac.provider.Provider;
+
+/**
+ * The data service chain is a plugin which will be executed before
+ * {@link Provider} execution
+ */
 public abstract class PreExecuteChain extends ExitableChain {
 }

Modified: incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/extension/data/RegistryDataService.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/extension/data/RegistryDataService.java?rev=1167358&r1=1167357&r2=1167358&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/extension/data/RegistryDataService.java (original)
+++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/extension/data/RegistryDataService.java Fri Sep  9 20:52:34 2011
@@ -33,71 +33,69 @@ import org.apache.airavata.core.gfac.con
 import org.apache.airavata.core.gfac.exception.ExtensionException;
 import org.apache.airavata.core.gfac.extension.DataServiceChain;
 
+/**
+ * This plugin fills out all information that is missing in
+ * {@link ApplicationDeploymentDescription} based on Unix system. For instance,
+ * it will use "/tmp" as default temporary directory.
+ * 
+ */
 public class RegistryDataService extends DataServiceChain {
 
-	public boolean execute(InvocationContext context) throws ExtensionException {
+    public boolean execute(InvocationContext context) throws ExtensionException {
 
-		ServiceDescription serviceDesc = context.getExecutionDescription().getService();
-		HostDescription hostDesc = context.getExecutionDescription().getHost();
-		ApplicationDeploymentDescription appDesc = context.getExecutionDescription()
-				.getApp();
-		if (serviceDesc != null && hostDesc != null && appDesc != null) {
-			/*
-			 * if there is no setting in deployment description, use from host
-			 */
-			if (appDesc.getTmpDir() == null) {
-				appDesc.setTmpDir("/tmp");
-			}
-
-			/*
-			 * Working dir
-			 */
-			if (appDesc.getWorkingDir() == null) {
-				String date = new Date().toString();
-				date = date.replaceAll(" ", "_");
-				date = date.replaceAll(":", "_");
-
-				String tmpDir = appDesc.getTmpDir() + File.separator
-						+ appDesc.getName() + "_" + date + "_"
-						+ UUID.randomUUID();
-
-				appDesc.setWorkingDir(tmpDir);
-			}
-
-			/*
-			 * Input and Output Directory
-			 */
-			if (appDesc.getInputDir() == null) {
-				appDesc.setInputDir(appDesc.getWorkingDir() + File.separator
-						+ "inputData");
-			}
-			if (appDesc.getOutputDir() == null) {
-				appDesc.setInputDir(appDesc.getWorkingDir() + File.separator
-						+ "outputData");
-			}
-			
-			/*
-			 * Stdout and Stderr for Shell
-			 */
-			if(appDesc.getClass().isAssignableFrom(ShellApplicationDeployment.class)){
-				ShellApplicationDeployment shell = (ShellApplicationDeployment)appDesc;
-				if(shell.getStdOut() == null){
-					shell.setStdOut(appDesc.getWorkingDir() + File.separator
-							+ appDesc.getName() + ".stdout");	
-				}
-				if(shell.getStdErr() == null){
-					shell.setStdOut(appDesc.getWorkingDir() + File.separator
-							+ appDesc.getName() + ".stderr");
-				}
-			}
-
-		} else {
-			throw new ExtensionException("Service Map for "
-					+ context.getServiceName()
-					+ " does not found on resource Catalog "
-					+ context.getExecutionContext().getRegistryService());
-		}
+        ServiceDescription serviceDesc = context.getExecutionDescription().getService();
+        HostDescription hostDesc = context.getExecutionDescription().getHost();
+        ApplicationDeploymentDescription appDesc = context.getExecutionDescription().getApp();
+        if (serviceDesc != null && hostDesc != null && appDesc != null) {
+            /*
+             * if there is no setting in deployment description, use from host
+             */
+            if (appDesc.getTmpDir() == null) {
+                appDesc.setTmpDir("/tmp");
+            }
+
+            /*
+             * Working dir
+             */
+            if (appDesc.getWorkingDir() == null) {
+                String date = new Date().toString();
+                date = date.replaceAll(" ", "_");
+                date = date.replaceAll(":", "_");
+
+                String tmpDir = appDesc.getTmpDir() + File.separator + appDesc.getName() + "_" + date + "_"
+                        + UUID.randomUUID();
+
+                appDesc.setWorkingDir(tmpDir);
+            }
+
+            /*
+             * Input and Output Directory
+             */
+            if (appDesc.getInputDir() == null) {
+                appDesc.setInputDir(appDesc.getWorkingDir() + File.separator + "inputData");
+            }
+            if (appDesc.getOutputDir() == null) {
+                appDesc.setInputDir(appDesc.getWorkingDir() + File.separator + "outputData");
+            }
+
+            /*
+             * Stdout and Stderr for Shell
+             */
+            if (appDesc.getClass().isAssignableFrom(ShellApplicationDeployment.class)) {
+                ShellApplicationDeployment shell = (ShellApplicationDeployment) appDesc;
+                if (shell.getStdOut() == null) {
+                    shell.setStdOut(appDesc.getWorkingDir() + File.separator + appDesc.getName() + ".stdout");
+                }
+                if (shell.getStdErr() == null) {
+                    shell.setStdOut(appDesc.getWorkingDir() + File.separator + appDesc.getName() + ".stderr");
+                }
+            }
+
+        } else {
+            throw new ExtensionException("Service Map for " + context.getServiceName()
+                    + " does not found on resource Catalog " + context.getExecutionContext().getRegistryService());
+        }
 
-		return false;
-	}
+        return false;
+    }
 }

Modified: incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/extension/post/GridFtpOutputStaging.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/extension/post/GridFtpOutputStaging.java?rev=1167358&r1=1167357&r2=1167358&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/extension/post/GridFtpOutputStaging.java (original)
+++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/extension/post/GridFtpOutputStaging.java Fri Sep  9 20:52:34 2011
@@ -47,6 +47,9 @@ import org.ietf.jgss.GSSCredential;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+/**
+ * Output plugin to transfer file from GridFTP host to location given in output parameter
+ */
 public class GridFtpOutputStaging extends PostExecuteChain {
     
     public static final Logger log = LoggerFactory.getLogger(GridFtpOutputStaging.class);

Modified: incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/extension/pre/GridFtpInputStaging.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/extension/pre/GridFtpInputStaging.java?rev=1167358&r1=1167357&r2=1167358&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/extension/pre/GridFtpInputStaging.java (original)
+++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/extension/pre/GridFtpInputStaging.java Fri Sep  9 20:52:34 2011
@@ -47,6 +47,9 @@ import org.ietf.jgss.GSSCredential;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+/**
+ * Input plugin to transfer file from GridFTP host to target GridFTP host
+ */
 public class GridFtpInputStaging extends PreExecuteChain {
 
     public static final Logger log = LoggerFactory.getLogger(GridFtpInputStaging.class);

Modified: incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/extension/pre/HttpInputStaging.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/extension/pre/HttpInputStaging.java?rev=1167358&r1=1167357&r2=1167358&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/extension/pre/HttpInputStaging.java (original)
+++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/extension/pre/HttpInputStaging.java Fri Sep  9 20:52:34 2011
@@ -51,6 +51,9 @@ import org.ietf.jgss.GSSCredential;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+/**
+ * Input plugin to transfer file from Http location to target GridFTP host
+ */
 public class HttpInputStaging extends PreExecuteChain {
 
     public static final Logger log = LoggerFactory.getLogger(HttpInputStaging.class);

Modified: incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/external/GridFtp.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/external/GridFtp.java?rev=1167358&r1=1167357&r2=1167358&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/external/GridFtp.java (original)
+++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/external/GridFtp.java Fri Sep  9 20:52:34 2011
@@ -47,6 +47,9 @@ import org.ietf.jgss.GSSCredential;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+/**
+ * GridFTP tools
+ */
 public class GridFtp {
 
     public static final Logger log = LoggerFactory.getLogger(GridFtp.class);

Modified: incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/factory/AbstractServiceFactory.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/factory/AbstractServiceFactory.java?rev=1167358&r1=1167357&r2=1167358&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/factory/AbstractServiceFactory.java (original)
+++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/factory/AbstractServiceFactory.java Fri Sep  9 20:52:34 2011
@@ -26,6 +26,10 @@ import org.apache.airavata.core.gfac.ser
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+/**
+ * Abstract Factory to create a generic service
+ *
+ */
 public abstract class AbstractServiceFactory {
 
     protected final Logger log = LoggerFactory.getLogger(AbstractServiceFactory.class);

Modified: incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/factory/PropertyServiceFactory.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/factory/PropertyServiceFactory.java?rev=1167358&r1=1167357&r2=1167358&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/factory/PropertyServiceFactory.java (original)
+++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/factory/PropertyServiceFactory.java Fri Sep  9 20:52:34 2011
@@ -24,14 +24,24 @@ package org.apache.airavata.core.gfac.fa
 import org.apache.airavata.core.gfac.services.GenericService;
 import org.apache.airavata.core.gfac.services.impl.PropertiesBasedServiceImpl;
 
+/**
+ * Factory for {@link PropertiesBasedServiceImpl}
+ *
+ */
 public class PropertyServiceFactory extends AbstractServiceFactory {
 
     private GenericService service;
     private String fileName;
 
+    /**
+     * Default constructor with used file "service.properties"
+     */
     public PropertyServiceFactory(){        
     }
     
+    /**
+     * Construct the {@link PropertiesBasedServiceImpl} with a given property file
+     */
     public PropertyServiceFactory(String fileName){
         this.fileName = fileName;
     }

Modified: incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/notification/Notifiable.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/notification/Notifiable.java?rev=1167358&r1=1167357&r2=1167358&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/notification/Notifiable.java (original)
+++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/notification/Notifiable.java Fri Sep  9 20:52:34 2011
@@ -21,5 +21,8 @@
 
 package org.apache.airavata.core.gfac.notification;
 
+/**
+ * Object that will be notified
+ */
 public interface Notifiable extends Subject {    
 }

Modified: incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/notification/Notifier.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/notification/Notifier.java?rev=1167358&r1=1167357&r2=1167358&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/notification/Notifier.java (original)
+++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/notification/Notifier.java Fri Sep  9 20:52:34 2011
@@ -21,7 +21,19 @@
 
 package org.apache.airavata.core.gfac.notification;
 
+/**
+ * Object which sends out notification
+ */
 public interface Notifier extends Subject {
+    /**
+     * Add {@link Notifiable} object to be notified
+     * @param notif
+     */
     void addNotifiable(Notifiable notif);
+    
+    /**
+     * Get the current {@link Notifiable} objects
+     * @return array of objects
+     */
     Notifiable[] getNotifiable();
 }

Modified: incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/notification/Subject.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/notification/Subject.java?rev=1167358&r1=1167357&r2=1167358&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/notification/Subject.java (original)
+++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/notification/Subject.java Fri Sep  9 20:52:34 2011
@@ -23,33 +23,48 @@ package org.apache.airavata.core.gfac.no
 
 import org.apache.airavata.core.gfac.context.invocation.InvocationContext;
 
+/**
+ * This class represents a topic or subject that can be notified from
+ * {@link Notifier} to {@link Notifiable}.
+ * 
+ * TODO: Think about a better way
+ */
 public interface Subject {
     /*
      * 
      */
     void startSchedule(Object notifier, InvocationContext context);
+
     void finishSchedule(Object notifier, InvocationContext context);
-    
+
     /*
      * 
      */
     void input(Object notifier, InvocationContext context, String... data);
+
     void output(Object notifier, InvocationContext context, String... data);
-    
+
     /*
      * 
      */
     void startExecution(Object notifier, InvocationContext context);
+
     void applicationInfo(Object notifier, InvocationContext context, String... data);
+
     void finishExecution(Object notifier, InvocationContext context);
+
     void statusChanged(Object notifier, InvocationContext context, String... data);
-    void executionFail(Object notifier, InvocationContext context, Exception e, String... data);    
+
+    void executionFail(Object notifier, InvocationContext context, Exception e, String... data);
 
     /*
      * Interface for developer to use
      */
     void debug(Object notifier, InvocationContext context, String... data);
+
     void info(Object notifier, InvocationContext context, String... data);
+
     void warning(Object notifier, InvocationContext context, String... data);
-    void exception(Object notifier, InvocationContext context, String... data);        
+
+    void exception(Object notifier, InvocationContext context, String... data);
 }

Modified: incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/notification/impl/DefaultNotifier.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/notification/impl/DefaultNotifier.java?rev=1167358&r1=1167357&r2=1167358&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/notification/impl/DefaultNotifier.java (original)
+++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/notification/impl/DefaultNotifier.java Fri Sep  9 20:52:34 2011
@@ -27,97 +27,157 @@ import java.util.List;
 import org.apache.airavata.core.gfac.context.invocation.InvocationContext;
 import org.apache.airavata.core.gfac.notification.Notifiable;
 import org.apache.airavata.core.gfac.notification.Notifier;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
-
+/**
+ * The default notifier which uses {@link ArrayList} to store {@link Notifiable}
+ * objects. Notification method is done by a single thread. It ignore all errors
+ * from {@link Notifiable} object.
+ */
 public class DefaultNotifier implements Notifier {
-    
+
+    private static final Logger logger = LoggerFactory.getLogger(DefaultNotifier.class);
+
     private List<Notifiable> notifiableObjects = new ArrayList<Notifiable>();
-    
-    public void addNotifiable(Notifiable notif){
+
+    public void addNotifiable(Notifiable notif) {
         notifiableObjects.add(notif);
     }
-    
-    public Notifiable[] getNotifiable(){
+
+    public Notifiable[] getNotifiable() {
         return (Notifiable[]) notifiableObjects.toArray();
     }
 
     public void startSchedule(Object notifier, InvocationContext context) {
         for (Notifiable notif : notifiableObjects) {
-            notif.startSchedule(notifier, context);
-        }        
+            try {
+                notif.startSchedule(notifier, context);
+            } catch (Exception e) {
+                logger.error(e.getMessage(), e);
+            }
+        }
     }
 
     public void finishSchedule(Object notifier, InvocationContext context) {
         for (Notifiable notif : notifiableObjects) {
-            notif.finishSchedule(notifier, context);
-        }        
+            try {
+                notif.finishSchedule(notifier, context);
+            } catch (Exception e) {
+                logger.error(e.getMessage(), e);
+            }
+        }
     }
 
     public void input(Object notifier, InvocationContext context, String... data) {
         for (Notifiable notif : notifiableObjects) {
-            notif.info(notifier, context, data);
-        }        
+            try {
+                notif.info(notifier, context, data);
+            } catch (Exception e) {
+                logger.error(e.getMessage(), e);
+            }
+        }
     }
 
     public void output(Object notifier, InvocationContext context, String... data) {
         for (Notifiable notif : notifiableObjects) {
-            notif.output(notifier, context, data);
+            try {
+                notif.output(notifier, context, data);
+            } catch (Exception e) {
+                logger.error(e.getMessage(), e);
+            }
         }
     }
 
     public void startExecution(Object notifier, InvocationContext context) {
         for (Notifiable notif : notifiableObjects) {
-            notif.startExecution(notifier, context);
+            try {
+                notif.startExecution(notifier, context);
+            } catch (Exception e) {
+                logger.error(e.getMessage(), e);
+            }
         }
     }
 
     public void applicationInfo(Object notifier, InvocationContext context, String... data) {
         for (Notifiable notif : notifiableObjects) {
-            notif.applicationInfo(notifier, context, data);
+            try {
+                notif.applicationInfo(notifier, context, data);
+            } catch (Exception e) {
+                logger.error(e.getMessage(), e);
+            }
         }
     }
 
     public void finishExecution(Object notifier, InvocationContext context) {
         for (Notifiable notif : notifiableObjects) {
-            notif.finishExecution(notifier, context);
-        }        
+            try {
+                notif.finishExecution(notifier, context);
+            } catch (Exception e) {
+                logger.error(e.getMessage(), e);
+            }
+        }
     }
 
     public void statusChanged(Object notifier, InvocationContext context, String... data) {
         for (Notifiable notif : notifiableObjects) {
-            notif.statusChanged(notifier, context, data);
-        }        
+            try {
+                notif.statusChanged(notifier, context, data);
+            } catch (Exception e) {
+                logger.error(e.getMessage(), e);
+            }
+        }
     }
 
     public void executionFail(Object notifier, InvocationContext context, Exception e, String... data) {
         for (Notifiable notif : notifiableObjects) {
-            notif.executionFail(notifier, context, e, data);
+            try {
+                notif.executionFail(notifier, context, e, data);
+            } catch (Exception ex) {
+                logger.error(ex.getMessage(), ex);
+            }
         }
     }
 
     public void debug(Object notifier, InvocationContext context, String... data) {
         for (Notifiable notif : notifiableObjects) {
-            notif.debug(notifier, context, data);
+            try {
+                notif.debug(notifier, context, data);
+            } catch (Exception e) {
+                logger.error(e.getMessage(), e);
+            }
         }
     }
 
     public void info(Object notifier, InvocationContext context, String... data) {
         for (Notifiable notif : notifiableObjects) {
-            notif.info(notifier, context, data);
+            try {
+                notif.info(notifier, context, data);
+            } catch (Exception e) {
+                logger.error(e.getMessage(), e);
+            }
         }
-        
+
     }
 
     public void warning(Object notifier, InvocationContext context, String... data) {
         for (Notifiable notif : notifiableObjects) {
-            notif.warning(notifier, context, data);
+            try {
+                notif.warning(notifier, context, data);
+            } catch (Exception e) {
+                logger.error(e.getMessage(), e);
+            }
         }
-        
+
     }
 
     public void exception(Object notifier, InvocationContext context, String... data) {
         for (Notifiable notif : notifiableObjects) {
-            notif.exception(notifier, context, data);
-        }        
-    }        
+            try {
+                notif.exception(notifier, context, data);
+            } catch (Exception e) {
+                logger.error(e.getMessage(), e);
+            }
+        }
+    }
 }

Modified: incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/notification/impl/LoggingNotification.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/notification/impl/LoggingNotification.java?rev=1167358&r1=1167357&r2=1167358&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/notification/impl/LoggingNotification.java (original)
+++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/notification/impl/LoggingNotification.java Fri Sep  9 20:52:34 2011
@@ -25,8 +25,12 @@ import org.apache.airavata.core.gfac.not
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+/**
+ * {@link Notifiable} object as a SLF4J logger. Log out all the message as
+ * configured in SLF4J
+ */
 public class LoggingNotification implements Notifiable {
-    
+
     protected final Logger log = LoggerFactory.getLogger(LoggingNotification.class);
 
     public void startSchedule(Object notifier, InvocationContext context) {

Modified: incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/notification/impl/StandardOutNotification.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/notification/impl/StandardOutNotification.java?rev=1167358&r1=1167357&r2=1167358&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/notification/impl/StandardOutNotification.java (original)
+++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/notification/impl/StandardOutNotification.java Fri Sep  9 20:52:34 2011
@@ -23,6 +23,9 @@ package org.apache.airavata.core.gfac.no
 import org.apache.airavata.core.gfac.context.invocation.InvocationContext;
 import org.apache.airavata.core.gfac.notification.Notifiable;
 
+/**
+ * Print out all notification to System.out
+ */
 public class StandardOutNotification implements Notifiable {
 
     public void startSchedule(Object notifier, InvocationContext context) {

Modified: incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/notification/impl/WorkflowTrackingNotification.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/notification/impl/WorkflowTrackingNotification.java?rev=1167358&r1=1167357&r2=1167358&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/notification/impl/WorkflowTrackingNotification.java (original)
+++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/notification/impl/WorkflowTrackingNotification.java Fri Sep  9 20:52:34 2011
@@ -32,8 +32,12 @@ import org.apache.airavata.workflow.trac
 import org.apache.airavata.workflow.tracking.common.InvocationEntity;
 import org.apache.airavata.workflow.tracking.common.WorkflowTrackingContext;
 
+/**
+ * Workflow Tracking notification 
+ * TODO:: implement properly
+ */
 public class WorkflowTrackingNotification implements Notifiable {
-    
+
     private Notifier notifier;
 
     private String topic;
@@ -41,15 +45,15 @@ public class WorkflowTrackingNotificatio
     private URI workflowID;
 
     private WorkflowTrackingContext context;
-    
+
     private InvocationEntity initiator;
 
     private InvocationEntity receiver;
-    
+
     private DurationObj duration;
 
     private org.apache.airavata.workflow.tracking.common.InvocationContext invocationContext;
-                
+
     public WorkflowTrackingNotification(String brokerURL, String topic) {
         this.topic = topic;
         this.workflowID = URI.create(this.topic);
@@ -60,8 +64,8 @@ public class WorkflowTrackingNotificatio
         URI initiatorServiceID = URI.create(topic);
         String initiatorWorkflowNodeID = null;
         Integer initiatorWorkflowTimeStep = null;
-        this.context = this.notifier.createTrackingContext(props, brokerURL, initiatorWorkflowID,
-                initiatorServiceID, initiatorWorkflowNodeID, initiatorWorkflowTimeStep);
+        this.context = this.notifier.createTrackingContext(props, brokerURL, initiatorWorkflowID, initiatorServiceID,
+                initiatorWorkflowNodeID, initiatorWorkflowTimeStep);
         this.context.setTopic(topic);
         this.initiator = this.notifier.createEntity(initiatorWorkflowID, initiatorServiceID, initiatorWorkflowNodeID,
                 initiatorWorkflowTimeStep);
@@ -72,8 +76,8 @@ public class WorkflowTrackingNotificatio
         Integer receiverWorkflowTimeStep = null;
         this.receiver = this.notifier.createEntity(receiverWorkflowID, receiverServiceID, receiverWorkflowNodeID,
                 receiverWorkflowTimeStep);
-                
-        //send start workflow
+
+        // send start workflow
         this.invocationContext = this.notifier.workflowInvoked(this.context, this.initiator);
     }
 

Modified: incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/provider/AbstractProvider.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/provider/AbstractProvider.java?rev=1167358&r1=1167357&r2=1167358&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/provider/AbstractProvider.java (original)
+++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/provider/AbstractProvider.java Fri Sep  9 20:52:34 2011
@@ -29,7 +29,11 @@ import org.slf4j.LoggerFactory;
 
 /**
  * AbstractProvider wraps up steps of execution for Provider.
- * 
+ * The steps in execution are 
+ * - makeDirectory
+ * - setupEnvironment
+ * - executeApplication
+ * - retrieveOutput
  */
 public abstract class AbstractProvider implements Provider {
     protected final Logger log = LoggerFactory.getLogger(this.getClass());   

Modified: incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/provider/GramProvider.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/provider/GramProvider.java?rev=1167358&r1=1167357&r2=1167358&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/provider/GramProvider.java (original)
+++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/provider/GramProvider.java Fri Sep  9 20:52:34 2011
@@ -48,6 +48,9 @@ import org.globus.gram.GramJob;
 import org.ietf.jgss.GSSCredential;
 import org.ietf.jgss.GSSException;
 
+/**
+ * Provider uses Gram for job submission
+ */
 public class GramProvider extends AbstractProvider {
 
     public static final String MYPROXY_SECURITY_CONTEXT = "myproxy";

Modified: incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/provider/LocalProvider.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/provider/LocalProvider.java?rev=1167358&r1=1167357&r2=1167358&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/provider/LocalProvider.java (original)
+++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/provider/LocalProvider.java Fri Sep  9 20:52:34 2011
@@ -42,6 +42,10 @@ import org.apache.airavata.core.gfac.uti
 import org.apache.airavata.core.gfac.utils.GfacUtils;
 import org.apache.airavata.core.gfac.utils.OutputUtils;
 
+/**
+ * {@link LocalProvider} will execute jobs (application) on local machine.
+ *
+ */
 public class LocalProvider extends AbstractProvider {
 
     private static final String SPACE = " ";

Modified: incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/provider/Provider.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/provider/Provider.java?rev=1167358&r1=1167357&r2=1167358&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/provider/Provider.java (original)
+++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/provider/Provider.java Fri Sep  9 20:52:34 2011
@@ -21,10 +21,15 @@
 
 package org.apache.airavata.core.gfac.provider;
 
+import org.apache.airavata.commons.gfac.type.ApplicationDeploymentDescription;
 import org.apache.airavata.core.gfac.context.invocation.InvocationContext;
 import org.apache.airavata.core.gfac.exception.GfacException;
 import org.apache.airavata.core.gfac.exception.ProviderException;
 
+/**
+ * Main component in GFAC. It executes an application according to
+ * {@link ApplicationDeploymentDescription}.
+ */
 public interface Provider {
 
     void initialize(InvocationContext invocationContext) throws ProviderException;

Modified: incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/provider/SSHProvider.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/provider/SSHProvider.java?rev=1167358&r1=1167357&r2=1167358&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/provider/SSHProvider.java (original)
+++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/provider/SSHProvider.java Fri Sep  9 20:52:34 2011
@@ -50,6 +50,9 @@ import org.apache.airavata.core.gfac.uti
 import org.apache.airavata.core.gfac.utils.GfacUtils;
 import org.apache.airavata.core.gfac.utils.OutputUtils;
 
+/**
+ * Execute application using remote SSH
+ */
 public class SSHProvider extends AbstractProvider {
 
     private static final String SPACE = " ";

Modified: incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/provider/utils/GramRSLGenerator.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/provider/utils/GramRSLGenerator.java?rev=1167358&r1=1167357&r2=1167358&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/provider/utils/GramRSLGenerator.java (original)
+++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/provider/utils/GramRSLGenerator.java Fri Sep  9 20:52:34 2011
@@ -33,6 +33,9 @@ import org.globus.gram.GramAttributes;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+/**
+ * Utilities for generating GRAM RSL
+ */
 public class GramRSLGenerator {
     protected static final Logger log = LoggerFactory.getLogger(GramRSLGenerator.class);
 

Modified: incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/provider/utils/JobSubmissionListener.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/provider/utils/JobSubmissionListener.java?rev=1167358&r1=1167357&r2=1167358&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/provider/utils/JobSubmissionListener.java (original)
+++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/provider/utils/JobSubmissionListener.java Fri Sep  9 20:52:34 2011
@@ -32,6 +32,10 @@ import org.ietf.jgss.GSSException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+/**
+ * Gram job listener to check for status changed in job submission
+ *
+ */
 public class JobSubmissionListener implements GramJobListener {
 
     public static final String MYPROXY_SECURITY_CONTEXT = "myproxy";

Modified: incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/scheduler/Scheduler.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/scheduler/Scheduler.java?rev=1167358&r1=1167357&r2=1167358&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/scheduler/Scheduler.java (original)
+++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/scheduler/Scheduler.java Fri Sep  9 20:52:34 2011
@@ -25,6 +25,10 @@ import org.apache.airavata.core.gfac.con
 import org.apache.airavata.core.gfac.exception.SchedulerException;
 import org.apache.airavata.core.gfac.provider.Provider;
 
+/**
+ * Scheduler selects a {@link Provider} according to the information.
+ * 
+ */
 public interface Scheduler {
     Provider schedule(InvocationContext context) throws SchedulerException;
 }

Modified: incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/scheduler/impl/SchedulerImpl.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/scheduler/impl/SchedulerImpl.java?rev=1167358&r1=1167357&r2=1167358&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/scheduler/impl/SchedulerImpl.java (original)
+++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/scheduler/impl/SchedulerImpl.java Fri Sep  9 20:52:34 2011
@@ -40,6 +40,9 @@ import org.apache.airavata.core.gfac.uti
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+/**
+ * This class selects {@link Provider} based on information in {@link Registry}
+ */
 public class SchedulerImpl implements Scheduler {
 
     private static Logger log = LoggerFactory.getLogger(SchedulerImpl.class);

Modified: incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/services/GenericService.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/services/GenericService.java?rev=1167358&r1=1167357&r2=1167358&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/services/GenericService.java (original)
+++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/services/GenericService.java Fri Sep  9 20:52:34 2011
@@ -24,6 +24,9 @@ package org.apache.airavata.core.gfac.se
 import org.apache.airavata.core.gfac.context.invocation.InvocationContext;
 import org.apache.airavata.core.gfac.exception.GfacException;
 
+/**
+ * The description for generic service in GFAC.
+ */
 public interface GenericService {
 
     void init() throws GfacException;

Modified: incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/services/impl/AbstractSimpleService.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/services/impl/AbstractSimpleService.java?rev=1167358&r1=1167357&r2=1167358&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/services/impl/AbstractSimpleService.java (original)
+++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/services/impl/AbstractSimpleService.java Fri Sep  9 20:52:34 2011
@@ -35,6 +35,20 @@ import org.apache.airavata.core.gfac.ser
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+/**
+ * The abstract service wraps up steps of execution for {@link GenericService}.
+ * Also, it adds input/output plug-ins before/after {@link Provider} execution.
+ * The steps in execution are 
+ * - preProcess
+ * - Determine Provider (Scheduling)
+ * - {@link DataServiceChain} Plugins
+ * - {@link Provider} initialization
+ * - {@link PreExecuteChain} Plugins
+ * - {@link Provider} execution
+ * - {@link PostExecuteChain} Plugins
+ * - {@link Provider} disposal
+ * - postProcess
+ */
 public abstract class AbstractSimpleService implements GenericService {
 
     private static Logger log = LoggerFactory.getLogger(AbstractSimpleService.class);

Modified: incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/services/impl/PropertiesBasedServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/services/impl/PropertiesBasedServiceImpl.java?rev=1167358&r1=1167357&r2=1167358&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/services/impl/PropertiesBasedServiceImpl.java (original)
+++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/services/impl/PropertiesBasedServiceImpl.java Fri Sep  9 20:52:34 2011
@@ -49,8 +49,8 @@ import org.slf4j.LoggerFactory;
 
 /**
  * This generic service implementation will load Registry service and Data
- * Catalog from property file. It selects provider and execute it base on
- * execution context.
+ * Catalog from property file using (Apache Commons-Configuration). It selects
+ * provider and execute it base on execution context.
  * 
  */
 public class PropertiesBasedServiceImpl extends AbstractSimpleService {
@@ -98,13 +98,12 @@ public class PropertiesBasedServiceImpl 
     public static final String MYPROXY_PASS = "myproxy.pass";
     public static final String MYPROXY_LIFE = "myproxy.life";
 
-    
     private Scheduler scheduler;
     private PreExecuteChain[] preChain;
     private PostExecuteChain[] postChain;
     private DataServiceChain[] dataChain;
     private Registry registryService;
-    
+
     private String fileName = DEFAULT_FILENAME;
     private Configuration config;
 
@@ -213,7 +212,7 @@ public class PropertiesBasedServiceImpl 
                 /*
                  * Remove unnecessary key
                  */
-                Map<String, String> map = new HashMap<String, String>((Map)getProperties());
+                Map<String, String> map = new HashMap<String, String>((Map) getProperties());
                 map.remove(JCR_CLASS);
                 map.remove(JCR_USER);
                 map.remove(JCR_PASS);
@@ -243,7 +242,7 @@ public class PropertiesBasedServiceImpl 
             /*
              * If there is no specific registry service, use the default one.
              */
-            ((DefaultExecutionContext)context.getExecutionContext()).setRegistryService(this.registryService);
+            ((DefaultExecutionContext) context.getExecutionContext()).setRegistryService(this.registryService);
         }
     }
 
@@ -333,16 +332,15 @@ public class PropertiesBasedServiceImpl 
         return dataChain;
     }
 
-    private Properties getProperties(){
+    private Properties getProperties() {
         Properties prop = new Properties();
         for (Iterator iterator = this.config.getKeys(); iterator.hasNext();) {
             String key = (String) iterator.next();
-            prop.put(key, this.config.getString(key));            
+            prop.put(key, this.config.getString(key));
         }
         return prop;
     }
-    
-    
+
     /**
      * 
      * @param propertyName

Modified: incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/utils/GridFTPContactInfo.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/utils/GridFTPContactInfo.java?rev=1167358&r1=1167357&r2=1167358&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/utils/GridFTPContactInfo.java (original)
+++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/utils/GridFTPContactInfo.java Fri Sep  9 20:52:34 2011
@@ -24,6 +24,10 @@ package org.apache.airavata.core.gfac.ut
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+/**
+ * Class represents GridFTP Endpoint
+ *
+ */
 public class GridFTPContactInfo {
     protected final static Logger log = LoggerFactory.getLogger(GridFTPContactInfo.class);
     public String hostName;

Modified: incubator/airavata/trunk/modules/gfac-core/src/main/resources/service.properties
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/resources/service.properties?rev=1167358&r1=1167357&r2=1167358&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-core/src/main/resources/service.properties (original)
+++ incubator/airavata/trunk/modules/gfac-core/src/main/resources/service.properties Fri Sep  9 20:52:34 2011
@@ -19,28 +19,48 @@
 #
 #
 
+#
+# Properties for JCR Registry interface. By default, Apache Jackrabbit is used.
+#
+# org.apache.jackrabbit.repository.uri=http://localhost:8080/rmi
+# jcr.class=org.apache.jackrabbit.rmi.repository.RmiRepositoryFactory
 jcr.class=org.apache.jackrabbit.core.RepositoryFactoryImpl
-#jcr.class=org.apache.jackrabbit.rmi.repository.RmiRepositoryFactory
-#org.apache.jackrabbit.repository.uri=http://localhost:8080/rmi
 jcr.user=admin
 jcr.pass=admin
 
+
+#
+# Class which implemented Scheduler interface. It will be used to determine a Provider
+#
 scheduler.class= org.apache.airavata.core.gfac.scheduler.impl.SchedulerImpl
 
+#
+# Data Service Plugins classes
+#
 datachain.classes= org.apache.airavata.core.gfac.extension.data.RegistryDataService
 
+#
+# Pre execution Plugins classes. For example, GridFTP Input Staging
+#
 prechain.classes= org.apache.airavata.core.gfac.extension.pre.GridFtpInputStaging 
 prechain.classes= org.apache.airavata.core.gfac.extension.pre.HttpInputStaging
 
+#
+# Post execution Plugins classes. For example, GridFTP Output Staging
+#
 postchain.classes= org.apache.airavata.core.gfac.extension.post.GridFtpOutputStaging
 
-#SSH key
-#ssh.key=/home/user/.ssh/id_rsa
-#ssh.keypass=
-#ssh.username=usernameAtHost
-
-#My proxy
-#myproxy.server=myproxy.teragrid.org
-#myproxy.user=username
-#myproxy.pass=password
-#myproxy.life=3600
\ No newline at end of file
+#
+# SSH private key location. It will be used by SSHProvider
+#
+# ssh.key=/home/user/.ssh/id_rsa
+# ssh.keypass=
+# ssh.username=usernameAtHost
+
+#
+# MyProxy credential. It will be used by GridFTP Plugins and GramProvider.
+#
+# myproxy.server=myproxy.teragrid.org
+# myproxy.user=username
+# myproxy.pass=password
+# myproxy.life=3600
\ No newline at end of file

Modified: incubator/airavata/trunk/modules/gfac-core/src/test/resources/service.properties
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/test/resources/service.properties?rev=1167358&r1=1167357&r2=1167358&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-core/src/test/resources/service.properties (original)
+++ incubator/airavata/trunk/modules/gfac-core/src/test/resources/service.properties Fri Sep  9 20:52:34 2011
@@ -19,28 +19,48 @@
 #
 #
 
+#
+# Properties for JCR Registry interface. By default, Apache Jackrabbit is used.
+#
+# org.apache.jackrabbit.repository.uri=http://localhost:8080/rmi
+# jcr.class=org.apache.jackrabbit.rmi.repository.RmiRepositoryFactory
 jcr.class=org.apache.jackrabbit.core.RepositoryFactoryImpl
-#jcr.class=org.apache.jackrabbit.rmi.repository.RmiRepositoryFactory
-#org.apache.jackrabbit.repository.uri=http://localhost:8080/rmi
 jcr.user=admin
 jcr.pass=admin
 
+
+#
+# Class which implemented Scheduler interface. It will be used to determine a Provider
+#
 scheduler.class= org.apache.airavata.core.gfac.scheduler.impl.SchedulerImpl
 
+#
+# Data Service Plugins classes
+#
 datachain.classes= org.apache.airavata.core.gfac.extension.data.RegistryDataService
 
+#
+# Pre execution Plugins classes. For example, GridFTP Input Staging
+#
 prechain.classes= org.apache.airavata.core.gfac.extension.pre.GridFtpInputStaging 
 prechain.classes= org.apache.airavata.core.gfac.extension.pre.HttpInputStaging
 
+#
+# Post execution Plugins classes. For example, GridFTP Output Staging
+#
 postchain.classes= org.apache.airavata.core.gfac.extension.post.GridFtpOutputStaging
 
-#SSH key
-#ssh.key=/home/user/.ssh/id_rsa
-#ssh.keypass=
-#ssh.username=usernameAtHost
-
-#My proxy
-#myproxy.server=myproxy.teragrid.org
-#myproxy.user=username
-#myproxy.pass=password
-#myproxy.life=3600
\ No newline at end of file
+#
+# SSH private key location. It will be used by SSHProvider
+#
+# ssh.key=/home/user/.ssh/id_rsa
+# ssh.keypass=
+# ssh.username=usernameAtHost
+
+#
+# MyProxy credential. It will be used by GridFTP Plugins and GramProvider.
+#
+# myproxy.server=myproxy.teragrid.org
+# myproxy.user=username
+# myproxy.pass=password
+# myproxy.life=3600
\ No newline at end of file