Return-Path: X-Original-To: apmail-incubator-airavata-commits-archive@minotaur.apache.org Delivered-To: apmail-incubator-airavata-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 66AAD8539 for ; Thu, 1 Sep 2011 16:59:18 +0000 (UTC) Received: (qmail 43553 invoked by uid 500); 1 Sep 2011 16:59:18 -0000 Delivered-To: apmail-incubator-airavata-commits-archive@incubator.apache.org Received: (qmail 43505 invoked by uid 500); 1 Sep 2011 16:59:17 -0000 Mailing-List: contact airavata-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: airavata-dev@incubator.apache.org Delivered-To: mailing list airavata-commits@incubator.apache.org Received: (qmail 43498 invoked by uid 99); 1 Sep 2011 16:59:17 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 01 Sep 2011 16:59:17 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 01 Sep 2011 16:59:11 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 5D30A238889B; Thu, 1 Sep 2011 16:58:49 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1164166 - in /incubator/airavata/trunk/modules/gfac-core: ./ src/main/java/META-INF/ src/main/java/org/apache/airavata/core/gfac/context/ src/main/java/org/apache/airavata/core/gfac/context/impl/ src/main/java/org/apache/airavata/core/gfac... Date: Thu, 01 Sep 2011 16:58:48 -0000 To: airavata-commits@incubator.apache.org From: patanachai@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20110901165849.5D30A238889B@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: patanachai Date: Thu Sep 1 16:58:48 2011 New Revision: 1164166 URL: http://svn.apache.org/viewvc?rev=1164166&view=rev Log: Add the workflow tracking notification service Added: 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/WorkflowTrackingNotification.java Modified: incubator/airavata/trunk/modules/gfac-core/pom.xml incubator/airavata/trunk/modules/gfac-core/src/main/java/META-INF/ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/context/ExecutionContext.java incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/context/impl/ExecutionContextImpl.java incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/notification/NotificationService.java incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/notification/impl/DummyNotification.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/provider/SSHProvider.java incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/provider/utils/GramRSLGenerator.java Modified: incubator/airavata/trunk/modules/gfac-core/pom.xml URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/pom.xml?rev=1164166&r1=1164165&r2=1164166&view=diff ============================================================================== --- incubator/airavata/trunk/modules/gfac-core/pom.xml (original) +++ incubator/airavata/trunk/modules/gfac-core/pom.xml Thu Sep 1 16:58:48 2011 @@ -105,23 +105,11 @@ - - workflow-tracking - workflow_tracking - 2.7.1 - jar - - - workflow-tracking - workflow_tracking_types - 2.6 - jar - - - workflow-context-header - workflow-context-header - 1.0 - + + airavata + airavata-workflowtracking + 0.0.1-SNAPSHOT + Modified: incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/context/ExecutionContext.java URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/context/ExecutionContext.java?rev=1164166&r1=1164165&r2=1164166&view=diff ============================================================================== --- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/context/ExecutionContext.java (original) +++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/context/ExecutionContext.java Thu Sep 1 16:58:48 2011 @@ -23,14 +23,9 @@ package org.apache.airavata.core.gfac.co import org.apache.airavata.core.gfac.api.Registry; import org.apache.airavata.core.gfac.notification.NotificationService; -import org.ogce.namespaces.x2010.x08.x30.workflowContextHeader.WorkflowContextHeaderDocument.WorkflowContextHeader; public interface ExecutionContext { - WorkflowContextHeader getWorkflowHeader(); - - void setWorkflowHeader(WorkflowContextHeader header); - NotificationService getNotificationService(); void setNotificationService(NotificationService service); Modified: incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/context/impl/ExecutionContextImpl.java URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/context/impl/ExecutionContextImpl.java?rev=1164166&r1=1164165&r2=1164166&view=diff ============================================================================== --- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/context/impl/ExecutionContextImpl.java (original) +++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/context/impl/ExecutionContextImpl.java Thu Sep 1 16:58:48 2011 @@ -24,22 +24,12 @@ package org.apache.airavata.core.gfac.co import org.apache.airavata.core.gfac.api.Registry; import org.apache.airavata.core.gfac.context.ExecutionContext; import org.apache.airavata.core.gfac.notification.NotificationService; -import org.ogce.namespaces.x2010.x08.x30.workflowContextHeader.WorkflowContextHeaderDocument.WorkflowContextHeader; public class ExecutionContextImpl implements ExecutionContext { - private WorkflowContextHeader workflowContextHeader; private NotificationService notificationService; private Registry registryService; - public WorkflowContextHeader getWorkflowHeader() { - return workflowContextHeader; - } - - public void setWorkflowHeader(WorkflowContextHeader header) { - this.workflowContextHeader = header; - } - public NotificationService getNotificationService() { return this.notificationService; } Modified: incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/notification/NotificationService.java URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/notification/NotificationService.java?rev=1164166&r1=1164165&r2=1164166&view=diff ============================================================================== --- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/notification/NotificationService.java (original) +++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/notification/NotificationService.java Thu Sep 1 16:58:48 2011 @@ -29,8 +29,8 @@ public interface NotificationService { /* * */ - void startSchedule(Object notifer, InvocationContext context, Scheduler scheduler); - void finishSchedule(Object notifer, InvocationContext context, Scheduler scheduler, Provider provider); + void startSchedule(Object notifier, InvocationContext context, Scheduler scheduler); + void finishSchedule(Object notifier, InvocationContext context, Scheduler scheduler, Provider provider); /* * @@ -41,17 +41,17 @@ public interface NotificationService { /* * */ - void startExecution(Object notifer, InvocationContext context); + void startExecution(Object notifier, InvocationContext context); void applicationInfo(Object notifier, InvocationContext context, String... data); - void finishExecution(Object notifer, InvocationContext context); - void statusChanged(Object notifer, InvocationContext context, String... data); - void executionFail(Object notifer, InvocationContext context, Exception e, 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); /* * Interface for developer to use */ - void debug(Object notifer, InvocationContext context, String... data); - void info(Object notifer, InvocationContext context, String... data); - void warning(Object notifer, InvocationContext context, String... data); - void exception(Object notifer, InvocationContext context, String... data); + 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); } Modified: incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/notification/impl/DummyNotification.java URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/notification/impl/DummyNotification.java?rev=1164166&r1=1164165&r2=1164166&view=diff ============================================================================== --- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/notification/impl/DummyNotification.java (original) +++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/notification/impl/DummyNotification.java Thu Sep 1 16:58:48 2011 @@ -1,3 +1,24 @@ +/* + * + * 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.core.gfac.notification.impl; import org.apache.airavata.core.gfac.context.InvocationContext; @@ -7,10 +28,10 @@ import org.apache.airavata.core.gfac.sch public class DummyNotification implements NotificationService { - public void startSchedule(Object notifer, InvocationContext context, Scheduler scheduler) { + public void startSchedule(Object notifier, InvocationContext context, Scheduler scheduler) { } - public void finishSchedule(Object notifer, InvocationContext context, Scheduler scheduler, Provider provider) { + public void finishSchedule(Object notifier, InvocationContext context, Scheduler scheduler, Provider provider) { } public void input(Object notifier, InvocationContext context, String... data) { @@ -19,31 +40,31 @@ public class DummyNotification implement public void output(Object notifier, InvocationContext context, String... data) { } - public void startExecution(Object notifer, InvocationContext context) { + public void startExecution(Object notifier, InvocationContext context) { } public void applicationInfo(Object notifier, InvocationContext context, String... data) { } - public void finishExecution(Object notifer, InvocationContext context) { + public void finishExecution(Object notifier, InvocationContext context) { } - public void statusChanged(Object notifer, InvocationContext context, String... data) { + public void statusChanged(Object notifier, InvocationContext context, String... data) { } - public void executionFail(Object notifer, InvocationContext context, Exception e, String... data) { + public void executionFail(Object notifier, InvocationContext context, Exception e, String... data) { } - public void debug(Object notifer, InvocationContext context, String... data) { + public void debug(Object notifier, InvocationContext context, String... data) { } - public void info(Object notifer, InvocationContext context, String... data) { + public void info(Object notifier, InvocationContext context, String... data) { } - public void warning(Object notifer, InvocationContext context, String... data) { + public void warning(Object notifier, InvocationContext context, String... data) { } - public void exception(Object notifer, InvocationContext context, String... data) { + public void exception(Object notifier, InvocationContext context, String... data) { } } Added: 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=1164166&view=auto ============================================================================== --- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/notification/impl/LoggingNotification.java (added) +++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/notification/impl/LoggingNotification.java Thu Sep 1 16:58:48 2011 @@ -0,0 +1,95 @@ +/* + * + * 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.core.gfac.notification.impl; + +import org.apache.airavata.core.gfac.context.InvocationContext; +import org.apache.airavata.core.gfac.notification.NotificationService; +import org.apache.airavata.core.gfac.provider.Provider; +import org.apache.airavata.core.gfac.scheduler.Scheduler; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class LoggingNotification implements NotificationService { + + protected final Logger log = LoggerFactory.getLogger(LoggingNotification.class); + + public void startSchedule(Object notifier, InvocationContext context, Scheduler scheduler) { + printOut(notifier, context, null); + } + + public void finishSchedule(Object notifier, InvocationContext context, Scheduler scheduler, Provider provider) { + printOut(notifier, context, null); + } + + public void input(Object notifier, InvocationContext context, String... data) { + printOut(notifier, context, data); + } + + public void output(Object notifier, InvocationContext context, String... data) { + } + + public void startExecution(Object notifier, InvocationContext context) { + printOut(notifier, context, null); + } + + public void applicationInfo(Object notifier, InvocationContext context, String... data) { + printOut(notifier, context, data); + } + + public void finishExecution(Object notifier, InvocationContext context) { + printOut(notifier, context, null); + } + + public void statusChanged(Object notifier, InvocationContext context, String... data) { + printOut(notifier, context, data); + } + + public void executionFail(Object notifier, InvocationContext context, Exception e, String... data) { + printOut(notifier, context, data); + } + + public void debug(Object notifier, InvocationContext context, String... data) { + printOut(notifier, context, data); + } + + public void info(Object notifier, InvocationContext context, String... data) { + printOut(notifier, context, data); + } + + public void warning(Object notifier, InvocationContext context, String... data) { + printOut(notifier, context, data); + } + + public void exception(Object notifier, InvocationContext context, String... data) { + printOut(notifier, context, data); + } + + private void printOut(Object notifier, InvocationContext context, String... data) { + log.info("Notifier: " + notifier.getClass().toString()); + if (data != null) { + log.info("-----DATA-----"); + for (int i = 0; i < data.length; i++) { + log.info(data[i]); + } + log.info("-----END DATA-----"); + } + } +} 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=1164166&r1=1164165&r2=1164166&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 Thu Sep 1 16:58:48 2011 @@ -1,3 +1,23 @@ +/* + * + * 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.core.gfac.notification.impl; import org.apache.airavata.core.gfac.context.InvocationContext; @@ -7,43 +27,66 @@ import org.apache.airavata.core.gfac.sch public class StandardOutNotification implements NotificationService { - public void startSchedule(Object notifer, InvocationContext context, Scheduler scheduler) { + public void startSchedule(Object notifier, InvocationContext context, Scheduler scheduler) { + printOut(notifier, context, null); } - public void finishSchedule(Object notifer, InvocationContext context, Scheduler scheduler, Provider provider) { + public void finishSchedule(Object notifier, InvocationContext context, Scheduler scheduler, Provider provider) { + printOut(notifier, context, null); } public void input(Object notifier, InvocationContext context, String... data) { + printOut(notifier, context, data); } public void output(Object notifier, InvocationContext context, String... data) { } - public void startExecution(Object notifer, InvocationContext context) { + public void startExecution(Object notifier, InvocationContext context) { + printOut(notifier, context, null); } public void applicationInfo(Object notifier, InvocationContext context, String... data) { + printOut(notifier, context, data); } - public void finishExecution(Object notifer, InvocationContext context) { + public void finishExecution(Object notifier, InvocationContext context) { + printOut(notifier, context, null); } - public void statusChanged(Object notifer, InvocationContext context, String... data) { + public void statusChanged(Object notifier, InvocationContext context, String... data) { + printOut(notifier, context, data); } - public void executionFail(Object notifer, InvocationContext context, Exception e, String... data) { + public void executionFail(Object notifier, InvocationContext context, Exception e, String... data) { + printOut(notifier, context, data); } - public void debug(Object notifer, InvocationContext context, String... data) { + public void debug(Object notifier, InvocationContext context, String... data) { + printOut(notifier, context, data); } - public void info(Object notifer, InvocationContext context, String... data) { + public void info(Object notifier, InvocationContext context, String... data) { + printOut(notifier, context, data); } - public void warning(Object notifer, InvocationContext context, String... data) { + public void warning(Object notifier, InvocationContext context, String... data) { + printOut(notifier, context, data); } - public void exception(Object notifer, InvocationContext context, String... data) { + public void exception(Object notifier, InvocationContext context, String... data) { + printOut(notifier, context, data); + } + + private void printOut(Object notifier, InvocationContext context, String... data) { + System.out.println("Notifier: " + notifier.getClass().toString()); + if (data != null) { + System.out.println("-----DATA-----"); + for (int i = 0; i < data.length; i++) { + System.out.println(data[i]); + } + System.out.println("-----END DATA-----"); + } } } Added: 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=1164166&view=auto ============================================================================== --- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/notification/impl/WorkflowTrackingNotification.java (added) +++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/notification/impl/WorkflowTrackingNotification.java Thu Sep 1 16:58:48 2011 @@ -0,0 +1,126 @@ +/* + * + * 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.core.gfac.notification.impl; + +import java.net.URI; +import java.util.Properties; + +import org.apache.airavata.core.gfac.context.InvocationContext; +import org.apache.airavata.core.gfac.notification.NotificationService; +import org.apache.airavata.core.gfac.provider.Provider; +import org.apache.airavata.core.gfac.scheduler.Scheduler; +import org.apache.airavata.workflow.tracking.Notifier; +import org.apache.airavata.workflow.tracking.NotifierFactory; +import org.apache.airavata.workflow.tracking.common.DurationObj; +import org.apache.airavata.workflow.tracking.common.InvocationEntity; +import org.apache.airavata.workflow.tracking.common.WorkflowTrackingContext; + +public class WorkflowTrackingNotification implements NotificationService { + + private Notifier notifier; + + private String topic; + + 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); + Properties props = new Properties(); + + this.notifier = NotifierFactory.createNotifier(); + URI initiatorWorkflowID = null; + URI initiatorServiceID = URI.create(topic); + String initiatorWorkflowNodeID = null; + Integer initiatorWorkflowTimeStep = null; + this.context = this.notifier.createTrackingContext(props, brokerURL, initiatorWorkflowID, + initiatorServiceID, initiatorWorkflowNodeID, initiatorWorkflowTimeStep); + this.context.setTopic(topic); + this.initiator = this.notifier.createEntity(initiatorWorkflowID, initiatorServiceID, initiatorWorkflowNodeID, + initiatorWorkflowTimeStep); + + URI receiverWorkflowID = this.workflowID; + URI receiverServiceID = this.workflowID; + String receiverWorkflowNodeID = null; + Integer receiverWorkflowTimeStep = null; + this.receiver = this.notifier.createEntity(receiverWorkflowID, receiverServiceID, receiverWorkflowNodeID, + receiverWorkflowTimeStep); + + //send start workflow + this.invocationContext = this.notifier.workflowInvoked(this.context, this.initiator, null); + } + + public void startSchedule(Object notifier, InvocationContext context, Scheduler scheduler) { + } + + public void finishSchedule(Object notifier, InvocationContext context, Scheduler scheduler, Provider provider) { + } + + public void input(Object notifier, InvocationContext context, String... data) { + } + + public void output(Object notifier, InvocationContext context, String... data) { + } + + public void startExecution(Object notifier, InvocationContext context) { + this.duration = this.notifier.computationStarted(); + } + + public void applicationInfo(Object notifier, InvocationContext context, String... data) { + } + + public void finishExecution(Object notifier, InvocationContext context) { + this.duration = this.notifier.computationFinished(this.context, this.duration); + } + + public void statusChanged(Object notifier, InvocationContext context, String... data) { + this.notifier.info(this.context, data); + } + + public void executionFail(Object notifier, InvocationContext context, Exception e, String... data) { + this.notifier.sendingFault(this.context, this.invocationContext, data); + } + + public void debug(Object notifier, InvocationContext context, String... data) { + } + + public void info(Object notifier, InvocationContext context, String... data) { + this.notifier.info(this.context, data); + } + + public void warning(Object notifier, InvocationContext context, String... data) { + } + + public void exception(Object notifier, InvocationContext context, String... data) { + } + +} 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=1164166&r1=1164165&r2=1164166&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 Thu Sep 1 16:58:48 2011 @@ -47,8 +47,6 @@ import org.apache.airavata.core.gfac.uti import org.apache.airavata.core.gfac.utils.GfacUtils; import org.apache.airavata.core.gfac.utils.OutputUtils; -import edu.indiana.extreme.lead.workflow_tracking.common.DurationObj; - 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=1164166&r1=1164165&r2=1164166&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 Thu Sep 1 16:58:48 2011 @@ -33,8 +33,6 @@ import org.apache.airavata.core.gfac.typ import org.apache.airavata.core.gfac.type.host.GlobusHost; import org.apache.airavata.core.gfac.utils.GFacConstants; import org.globus.gram.GramAttributes; -import org.ogce.namespaces.x2010.x08.x30.workflowContextHeader.WorkflowContextHeaderDocument.WorkflowContextHeader; -import org.ogce.namespaces.x2010.x08.x30.workflowResourceMapping.ResourceMappingDocument.ResourceMapping; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -46,11 +44,10 @@ public class GramRSLGenerator { }; public static GramAttributes configureRemoteJob(InvocationContext context) throws GfacException { - GlobusHost host = (GlobusHost)context.getGfacContext().getHost(); - GramApplicationDeployment app = (GramApplicationDeployment)context.getGfacContext().getApp(); + GlobusHost host = (GlobusHost) context.getGfacContext().getHost(); + GramApplicationDeployment app = (GramApplicationDeployment) context.getGfacContext().getApp(); ServiceDescription service = context.getGfacContext().getService(); - - + GramAttributes jobAttr = new GramAttributes(); jobAttr.setExecutable(app.getExecutable()); jobAttr.setDirectory(app.getWorkingDir()); @@ -58,27 +55,19 @@ public class GramRSLGenerator { jobAttr.setStderr(app.getStdErr()); /* - * The env here contains the env of the host and the application. i.e the env specified in the host description and application description documents + * The env here contains the env of the host and the application. i.e + * the env specified in the host description and application description + * documents */ Map nv = app.getEnv(); for (String key : nv.keySet()) { jobAttr.addEnvVariable(key, nv.get(key)); } - jobAttr.addEnvVariable(GFacConstants.INPUT_DATA_DIR_VAR_NAME, app.getInputDir()); + jobAttr.addEnvVariable(GFacConstants.INPUT_DATA_DIR_VAR_NAME, app.getInputDir()); jobAttr.addEnvVariable(GFacConstants.INPUT_DATA_DIR_VAR_NAME, app.getOutputDir()); - - WorkflowContextHeader contextHeader = context.getExecutionContext().getWorkflowHeader(); - ResourceMapping resourceMapping = null; - if (contextHeader != null) { - resourceMapping = contextHeader.getResourceMappings().getResourceMappingArray(0); - } - - if (resourceMapping != null && resourceMapping.getMaxWallTime() > 0) { - log.info("Header Setting Max Wall Time" + resourceMapping.getMaxWallTime()); - jobAttr.setMaxWallTime(resourceMapping.getMaxWallTime()); - } else if (app.getWallTime() > 0) { + if (app.getWallTime() > 0) { log.info("Setting max wall clock time to " + app.getWallTime()); if (app.getWallTime() > 30 && app.getQueueName() != null && app.getQueueName().equals("debug")) { @@ -94,47 +83,35 @@ public class GramRSLGenerator { if (app.getStdIn() != null) { jobAttr.setStdin(app.getStdIn()); } else { - // input parameter + // input parameter ArrayList tmp = new ArrayList(); for (Iterator iterator = context.getMessageContext("input").getParameterNames(); iterator.hasNext();) { String key = iterator.next(); jobAttr.addArgument(context.getMessageContext("input").getStringParameterValue(key)); - } + } } - if (resourceMapping != null && resourceMapping.getNodeCount() > 0) { - log.info("Setting number of procs to " + resourceMapping.getNodeCount()); - jobAttr.set("hostCount", String.valueOf(resourceMapping.getNodeCount())); - } else if (app.getNodeCount() > 1) { + if (app.getNodeCount() > 1) { jobAttr.set("hostCount", String.valueOf(app.getNodeCount())); } - if (resourceMapping != null && resourceMapping.getCpuCount() > 0) { - log.info("Setting host count to " + resourceMapping.getCpuCount()); - jobAttr.setNumProcs(resourceMapping.getCpuCount()); - - } else if (app.getCpuCount() > 1) { + if (app.getCpuCount() > 1) { log.info("Setting number of procs to " + app.getCpuCount()); jobAttr.setNumProcs(app.getCpuCount()); } - - if (app.getProjectName() != null){ + if (app.getProjectName() != null) { log.info("Setting project to " + app.getProjectName()); jobAttr.setProject(app.getProjectName()); } - - if (resourceMapping != null && resourceMapping.getQueueName() != null) { - jobAttr.setQueue(resourceMapping.getQueueName()); - } else if (app.getQueueName() != null) { + if (app.getQueueName() != null) { log.info("Setting job queue to " + app.getQueueName()); jobAttr.setQueue(app.getQueueName()); } - - + String jobType = JobType.SINGLE.toString(); if (app.getJobType() != null) { jobType = app.getJobType().toString(); } - + if (jobType.equalsIgnoreCase(JobType.SINGLE.toString())) { log.info("Setting job type to single"); jobAttr.setJobType(GramAttributes.JOBTYPE_SINGLE); @@ -146,9 +123,9 @@ public class GramRSLGenerator { jobAttr.setJobType(GramAttributes.JOBTYPE_MULTIPLE); } else if (jobType.equalsIgnoreCase(JobType.CONDOR.toString())) { jobAttr.setJobType(GramAttributes.JOBTYPE_CONDOR); - } + } - //TODO rsl parameter & urgency/SPRUCE + // TODO rsl parameter & urgency/SPRUCE return jobAttr; }