Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 60968200BAE for ; Fri, 28 Oct 2016 16:51:07 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 5F2C6160B03; Fri, 28 Oct 2016 14:51:07 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id A731E160AE3 for ; Fri, 28 Oct 2016 16:51:06 +0200 (CEST) Received: (qmail 52423 invoked by uid 500); 28 Oct 2016 14:51:05 -0000 Mailing-List: contact commits-help@airavata.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@airavata.apache.org Delivered-To: mailing list commits@airavata.apache.org Received: (qmail 52403 invoked by uid 99); 28 Oct 2016 14:51:05 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 28 Oct 2016 14:51:05 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 83BE6E9437; Fri, 28 Oct 2016 14:51:05 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: smarru@apache.org To: commits@airavata.apache.org Date: Fri, 28 Oct 2016 14:51:05 -0000 Message-Id: <0dff52a40508434789abd268fdf57828@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [1/3] airavata-sandbox git commit: Added Readme file which explains the design changes which were made archived-at: Fri, 28 Oct 2016 14:51:07 -0000 Repository: airavata-sandbox Updated Branches: refs/heads/master 39613cd5a -> cc4fcf050 Added Readme file which explains the design changes which were made Project: http://git-wip-us.apache.org/repos/asf/airavata-sandbox/repo Commit: http://git-wip-us.apache.org/repos/asf/airavata-sandbox/commit/cc4fcf05 Tree: http://git-wip-us.apache.org/repos/asf/airavata-sandbox/tree/cc4fcf05 Diff: http://git-wip-us.apache.org/repos/asf/airavata-sandbox/diff/cc4fcf05 Branch: refs/heads/master Commit: cc4fcf050d46707cd68aafcc521aac9d75146196 Parents: 1932e86 Author: Abhishek Jain Authored: Thu Oct 27 18:00:30 2016 -0400 Committer: Suresh Marru Committed: Fri Oct 28 10:50:48 2016 -0400 ---------------------------------------------------------------------- gsoc2016/Design Changes in Airavata/README.md | 36 ++++++++++++++++++++++ 1 file changed, 36 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/airavata-sandbox/blob/cc4fcf05/gsoc2016/Design Changes in Airavata/README.md ---------------------------------------------------------------------- diff --git a/gsoc2016/Design Changes in Airavata/README.md b/gsoc2016/Design Changes in Airavata/README.md new file mode 100644 index 0000000..d6e5857 --- /dev/null +++ b/gsoc2016/Design Changes in Airavata/README.md @@ -0,0 +1,36 @@ +# Re-Factoring Aurora Marathon Integration Module and gfac-orchestrator core files to incorporate design changes. + +##AuroraMarathonIntegration + +* Apache style packaging : Organized the AuroraMarathonIntegration code to follow the Apache guidelines. +* Maven integration : Integrated Maven with the module as Airavata is build using Maven. +* Dependency injection pattern + * Dependency Injection makes it simple for to manage dependencies between objects. In turn, that makes it easier to break coherent functionality off into it's own contract (interface). As a result, the code has been far more modularized. + * Another result of this is that I can much more easily see my way through to a design that supports the Open-Closed Principle.[software entities (classes, modules, functions, etc.) should be open for extension, but closed for modification]. This is one of the most confidence inspiring techniques (second only to automated testing). + * Major advantage : Two important ones are the ability to control functionality from a central place (the Main() function) instead of spreading it throughout your program, and the ability to more easily test each class in isolation (because you can pass mocks or other faked objects into its constructor instead of a real value). +* Extract out the redundant code and create utilities. +* Kept updating code and made the above design changes to be in sync with his changes. + + +##Orchestrator +* Path to file : orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorConstants.java + * Change the class containing constants to enums. + * Type safety + * You get free compile time checking of valid values. + * Catches typos + +* Path to file : orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorUtils.java + * Use enums instead of directly accessing the static final constants. [Changed the usage] + +* Path to file : /orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java + * Captured in a multiple catch block, instead of 3 different catch clauses. + * In some functions, the function argument and the instance variable have the same name. This may create ambiguity. Hence the function arguments names were changed to remove the ambiguity. The following are the functions in SimpleOrchestratorImpl.java which had this issue : + +* Path to file : airavata/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/OrchestratorConfiguration.jav + + +##GFAC +* Path to files : + * gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/authentication/GSIAuthenticationInfo.java + * gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/authentication/SSHKeyAuthentication.java + * gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/authentication/SSHPasswordAuthentication.java