[jira] [Commented] (AIRAVATA-2657) Refactoring App Catalog implementation - ApplicationDeployment and ApplicationInterface

2018-03-07 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/AIRAVATA-2657?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16390771#comment-16390771
 ] 

ASF GitHub Bot commented on AIRAVATA-2657:
--

tilaks26 commented on a change in pull request #167: [AIRAVATA-2657] 
Refactoring App Catalog Implementation - ApplicationDeployment and 
ApplicationInterface Modules
URL: https://github.com/apache/airavata/pull/167#discussion_r173065990
 
 

 ##
 File path: 
modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ApplicationInterfaceEntity.java
 ##
 @@ -60,6 +60,10 @@
@Column(name="HAS_OPTIONAL_FILE_INPUTS")
private boolean hasOptionalFileInputs;
 
+   @ElementCollection
+   @CollectionTable(name="APPLICATION_MODULE", joinColumns = 
@JoinColumn(name="MODULE_ID"))
+   private List applicationModules;
 
 Review comment:
   @machristie There is no corresponding column for this attribute in the 
APPLICATION_INTERFACE table. Also, it is of `List` type. Can you please 
verify if the `@ElementCollection` annotation required here?


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Refactoring App Catalog implementation - ApplicationDeployment and 
> ApplicationInterface
> ---
>
> Key: AIRAVATA-2657
> URL: https://issues.apache.org/jira/browse/AIRAVATA-2657
> Project: Airavata
>  Issue Type: Task
>  Components: Application Catalog
>Reporter: Sneha Tilak
>Assignee: Sneha Tilak
>Priority: Major
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (AIRAVATA-2657) Refactoring App Catalog implementation - ApplicationDeployment and ApplicationInterface

2018-03-07 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/AIRAVATA-2657?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16390770#comment-16390770
 ] 

ASF GitHub Bot commented on AIRAVATA-2657:
--

tilaks26 commented on a change in pull request #167: [AIRAVATA-2657] 
Refactoring App Catalog Implementation - ApplicationDeployment and 
ApplicationInterface Modules
URL: https://github.com/apache/airavata/pull/167#discussion_r173065990
 
 

 ##
 File path: 
modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ApplicationInterfaceEntity.java
 ##
 @@ -60,6 +60,10 @@
@Column(name="HAS_OPTIONAL_FILE_INPUTS")
private boolean hasOptionalFileInputs;
 
+   @ElementCollection
+   @CollectionTable(name="APPLICATION_MODULE", joinColumns = 
@JoinColumn(name="MODULE_ID"))
+   private List applicationModules;
 
 Review comment:
   @machristie There is no corresponding column for this attribute in the 
APPLICATION_INTERFACE table. Also, it is of List type. Can you please 
verify if the `@ElementCollection` annotation required here?


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Refactoring App Catalog implementation - ApplicationDeployment and 
> ApplicationInterface
> ---
>
> Key: AIRAVATA-2657
> URL: https://issues.apache.org/jira/browse/AIRAVATA-2657
> Project: Airavata
>  Issue Type: Task
>  Components: Application Catalog
>Reporter: Sneha Tilak
>Assignee: Sneha Tilak
>Priority: Major
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (AIRAVATA-2657) Refactoring App Catalog implementation - ApplicationDeployment and ApplicationInterface

2018-03-07 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/AIRAVATA-2657?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16390755#comment-16390755
 ] 

ASF GitHub Bot commented on AIRAVATA-2657:
--

tilaks26 commented on issue #167: [AIRAVATA-2657] Refactoring App Catalog 
Implementation - ApplicationDeployment and ApplicationInterface Modules
URL: https://github.com/apache/airavata/pull/167#issuecomment-371378771
 
 
   @machristie Thank you for the review. I have modified the getAccessible 
methods as requested and updated the PR.


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Refactoring App Catalog implementation - ApplicationDeployment and 
> ApplicationInterface
> ---
>
> Key: AIRAVATA-2657
> URL: https://issues.apache.org/jira/browse/AIRAVATA-2657
> Project: Airavata
>  Issue Type: Task
>  Components: Application Catalog
>Reporter: Sneha Tilak
>Assignee: Sneha Tilak
>Priority: Major
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (AIRAVATA-2657) Refactoring App Catalog implementation - ApplicationDeployment and ApplicationInterface

2018-03-07 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/AIRAVATA-2657?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16390749#comment-16390749
 ] 

ASF GitHub Bot commented on AIRAVATA-2657:
--

tilaks26 commented on a change in pull request #167: [AIRAVATA-2657] 
Refactoring App Catalog Implementation - ApplicationDeployment and 
ApplicationInterface Modules
URL: https://github.com/apache/airavata/pull/167#discussion_r173063477
 
 

 ##
 File path: 
modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/appcatalog/ApplicationDeploymentRepositoryTest.java
 ##
 @@ -0,0 +1,168 @@
+package org.apache.airavata.registry.core.repositories.appcatalog;
 
 Review comment:
   @DImuthuUpe thank you for the review. I have added the license header for 
all the files.


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Refactoring App Catalog implementation - ApplicationDeployment and 
> ApplicationInterface
> ---
>
> Key: AIRAVATA-2657
> URL: https://issues.apache.org/jira/browse/AIRAVATA-2657
> Project: Airavata
>  Issue Type: Task
>  Components: Application Catalog
>Reporter: Sneha Tilak
>Assignee: Sneha Tilak
>Priority: Major
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (AIRAVATA-2657) Refactoring App Catalog implementation - ApplicationDeployment and ApplicationInterface

2018-03-07 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/AIRAVATA-2657?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16390750#comment-16390750
 ] 

ASF GitHub Bot commented on AIRAVATA-2657:
--

tilaks26 commented on a change in pull request #167: [AIRAVATA-2657] 
Refactoring App Catalog Implementation - ApplicationDeployment and 
ApplicationInterface Modules
URL: https://github.com/apache/airavata/pull/167#discussion_r173063493
 
 

 ##
 File path: 
modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/appcatalog/ApplicationInterfaceRepositoryTest.java
 ##
 @@ -0,0 +1,107 @@
+package org.apache.airavata.registry.core.repositories.appcatalog;
 
 Review comment:
   @DImuthuUpe thank you for the review. I have added the license header.


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Refactoring App Catalog implementation - ApplicationDeployment and 
> ApplicationInterface
> ---
>
> Key: AIRAVATA-2657
> URL: https://issues.apache.org/jira/browse/AIRAVATA-2657
> Project: Airavata
>  Issue Type: Task
>  Components: Application Catalog
>Reporter: Sneha Tilak
>Assignee: Sneha Tilak
>Priority: Major
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (AIRAVATA-2657) Refactoring App Catalog implementation - ApplicationDeployment and ApplicationInterface

2018-03-07 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/AIRAVATA-2657?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16390701#comment-16390701
 ] 

ASF GitHub Bot commented on AIRAVATA-2657:
--

DImuthuUpe commented on a change in pull request #167: [AIRAVATA-2657] 
Refactoring App Catalog Implementation - ApplicationDeployment and 
ApplicationInterface Modules
URL: https://github.com/apache/airavata/pull/167#discussion_r173058307
 
 

 ##
 File path: 
modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/appcatalog/ApplicationInterfaceRepositoryTest.java
 ##
 @@ -0,0 +1,107 @@
+package org.apache.airavata.registry.core.repositories.appcatalog;
 
 Review comment:
   License header


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Refactoring App Catalog implementation - ApplicationDeployment and 
> ApplicationInterface
> ---
>
> Key: AIRAVATA-2657
> URL: https://issues.apache.org/jira/browse/AIRAVATA-2657
> Project: Airavata
>  Issue Type: Task
>  Components: Application Catalog
>Reporter: Sneha Tilak
>Assignee: Sneha Tilak
>Priority: Major
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (AIRAVATA-2657) Refactoring App Catalog implementation - ApplicationDeployment and ApplicationInterface

2018-03-07 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/AIRAVATA-2657?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16390700#comment-16390700
 ] 

ASF GitHub Bot commented on AIRAVATA-2657:
--

DImuthuUpe commented on a change in pull request #167: [AIRAVATA-2657] 
Refactoring App Catalog Implementation - ApplicationDeployment and 
ApplicationInterface Modules
URL: https://github.com/apache/airavata/pull/167#discussion_r173058250
 
 

 ##
 File path: 
modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/appcatalog/ApplicationDeploymentRepositoryTest.java
 ##
 @@ -0,0 +1,168 @@
+package org.apache.airavata.registry.core.repositories.appcatalog;
 
 Review comment:
   License header


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Refactoring App Catalog implementation - ApplicationDeployment and 
> ApplicationInterface
> ---
>
> Key: AIRAVATA-2657
> URL: https://issues.apache.org/jira/browse/AIRAVATA-2657
> Project: Airavata
>  Issue Type: Task
>  Components: Application Catalog
>Reporter: Sneha Tilak
>Assignee: Sneha Tilak
>Priority: Major
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (AIRAVATA-2657) Refactoring App Catalog implementation - ApplicationDeployment and ApplicationInterface

2018-03-07 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/AIRAVATA-2657?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16390693#comment-16390693
 ] 

ASF GitHub Bot commented on AIRAVATA-2657:
--

tilaks26 commented on a change in pull request #167: [AIRAVATA-2657] 
Refactoring App Catalog Implementation - ApplicationDeployment and 
ApplicationInterface Modules
URL: https://github.com/apache/airavata/pull/167#discussion_r173057150
 
 

 ##
 File path: 
modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ApplicationOutputEntity.java
 ##
 @@ -20,123 +20,140 @@
 */
 package org.apache.airavata.registry.core.entities.appcatalog;
 
-import javax.persistence.Column;
-import javax.persistence.EmbeddedId;
-import javax.persistence.Entity;
-import javax.persistence.Table;
+import javax.persistence.*;
 import java.io.Serializable;
 
 /**
  * The persistent class for the application_output database table.
  */
 @Entity
-@Table(name = "application_output")
+@Table(name = "APPLICATION_OUTPUT")
+@IdClass(ApplicationOutputPK.class)
 public class ApplicationOutputEntity implements Serializable {
 private static final long serialVersionUID = 1L;
 
-@EmbeddedId
-private ApplicationOutputPK id;
+@Id
+@Column(name="INTERFACE_ID")
+private String interfaceId;
+
+@Id
+@Column(name="OUTPUT_KEY")
+private String name;
 
 @Column(name = "APP_ARGUMENT")
-private String appArgument;
+private String applicationArgument;
 
 @Column(name = "DATA_MOVEMENT")
-private short dataMovement;
+private boolean dataMovement;
 
 @Column(name = "DATA_NAME_LOCATION")
-private String dataNameLocation;
+private String location;
 
 @Column(name = "DATA_TYPE")
-private String dataType;
+private String type;
 
 @Column(name = "IS_REQUIRED")
-private short isRequired;
+private boolean isRequired;
 
 @Column(name = "OUTPUT_STREAMING")
-private short outputStreaming;
+private boolean outputStreaming;
 
 @Column(name = "OUTPUT_VALUE")
-private String outputValue;
+private String value;
 
 @Column(name = "REQUIRED_TO_COMMANDLINE")
-private short requiredToCommandline;
+private boolean requiredToAddedToCommandLine;
 
 @Column(name = "SEARCH_QUERY")
 private String searchQuery;
 
+private String storageResourceId;
 
 Review comment:
   I didn't include a @Column annotation for this because there is no 
corresponding column in the APPLICATION_OUTPUT table for this attribute.


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Refactoring App Catalog implementation - ApplicationDeployment and 
> ApplicationInterface
> ---
>
> Key: AIRAVATA-2657
> URL: https://issues.apache.org/jira/browse/AIRAVATA-2657
> Project: Airavata
>  Issue Type: Task
>  Components: Application Catalog
>Reporter: Sneha Tilak
>Assignee: Sneha Tilak
>Priority: Major
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (AIRAVATA-2657) Refactoring App Catalog implementation - ApplicationDeployment and ApplicationInterface

2018-03-07 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/AIRAVATA-2657?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16390696#comment-16390696
 ] 

ASF GitHub Bot commented on AIRAVATA-2657:
--

tilaks26 commented on a change in pull request #167: [AIRAVATA-2657] 
Refactoring App Catalog Implementation - ApplicationDeployment and 
ApplicationInterface Modules
URL: https://github.com/apache/airavata/pull/167#discussion_r173057150
 
 

 ##
 File path: 
modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ApplicationOutputEntity.java
 ##
 @@ -20,123 +20,140 @@
 */
 package org.apache.airavata.registry.core.entities.appcatalog;
 
-import javax.persistence.Column;
-import javax.persistence.EmbeddedId;
-import javax.persistence.Entity;
-import javax.persistence.Table;
+import javax.persistence.*;
 import java.io.Serializable;
 
 /**
  * The persistent class for the application_output database table.
  */
 @Entity
-@Table(name = "application_output")
+@Table(name = "APPLICATION_OUTPUT")
+@IdClass(ApplicationOutputPK.class)
 public class ApplicationOutputEntity implements Serializable {
 private static final long serialVersionUID = 1L;
 
-@EmbeddedId
-private ApplicationOutputPK id;
+@Id
+@Column(name="INTERFACE_ID")
+private String interfaceId;
+
+@Id
+@Column(name="OUTPUT_KEY")
+private String name;
 
 @Column(name = "APP_ARGUMENT")
-private String appArgument;
+private String applicationArgument;
 
 @Column(name = "DATA_MOVEMENT")
-private short dataMovement;
+private boolean dataMovement;
 
 @Column(name = "DATA_NAME_LOCATION")
-private String dataNameLocation;
+private String location;
 
 @Column(name = "DATA_TYPE")
-private String dataType;
+private String type;
 
 @Column(name = "IS_REQUIRED")
-private short isRequired;
+private boolean isRequired;
 
 @Column(name = "OUTPUT_STREAMING")
-private short outputStreaming;
+private boolean outputStreaming;
 
 @Column(name = "OUTPUT_VALUE")
-private String outputValue;
+private String value;
 
 @Column(name = "REQUIRED_TO_COMMANDLINE")
-private short requiredToCommandline;
+private boolean requiredToAddedToCommandLine;
 
 @Column(name = "SEARCH_QUERY")
 private String searchQuery;
 
+private String storageResourceId;
 
 Review comment:
   I didn't include a `@Column` annotation for this because there is no 
corresponding column in the APPLICATION_OUTPUT table for this attribute.


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Refactoring App Catalog implementation - ApplicationDeployment and 
> ApplicationInterface
> ---
>
> Key: AIRAVATA-2657
> URL: https://issues.apache.org/jira/browse/AIRAVATA-2657
> Project: Airavata
>  Issue Type: Task
>  Components: Application Catalog
>Reporter: Sneha Tilak
>Assignee: Sneha Tilak
>Priority: Major
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (AIRAVATA-2657) Refactoring App Catalog implementation - ApplicationDeployment and ApplicationInterface

2018-03-07 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/AIRAVATA-2657?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16390692#comment-16390692
 ] 

ASF GitHub Bot commented on AIRAVATA-2657:
--

tilaks26 commented on a change in pull request #167: [AIRAVATA-2657] 
Refactoring App Catalog Implementation - ApplicationDeployment and 
ApplicationInterface Modules
URL: https://github.com/apache/airavata/pull/167#discussion_r173056737
 
 

 ##
 File path: 
modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/ReplicaCatalogRepositoryTest.java
 ##
 @@ -61,70 +61,70 @@ public void setupRepository()   {
 @Test
 public void dataProductRepositoryTest() {
 
-DataProductRepository dataProductRepository = new 
DataProductRepository(DataProductModel.class, DataProductEntity.class);
+//DataProductRepository dataProductRepository = new 
DataProductRepository(DataProductModel.class, DataProductEntity.class);
 
 /*
  * Creating Gateway required for UserProfile & Project creation
 */
-Gateway gateway = new Gateway();
-gateway.setGatewayApprovalStatus(GatewayApprovalStatus.ACTIVE);
-gateway.setGatewayId(gatewayId);
-gateway.setDomain(GATEWAY_DOMAIN);
-gateway = gatewayRepository.create(gateway);
-Assert.assertTrue(!gateway.getGatewayId().isEmpty());
+//Gateway gateway = new Gateway();
 
 Review comment:
   Right now, we've only been working on the application catalog. We haven't 
verified or modified the experiment catalog entities and repositories. So, the 
test cases were failing.


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Refactoring App Catalog implementation - ApplicationDeployment and 
> ApplicationInterface
> ---
>
> Key: AIRAVATA-2657
> URL: https://issues.apache.org/jira/browse/AIRAVATA-2657
> Project: Airavata
>  Issue Type: Task
>  Components: Application Catalog
>Reporter: Sneha Tilak
>Assignee: Sneha Tilak
>Priority: Major
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (AIRAVATA-2657) Refactoring App Catalog implementation - ApplicationDeployment and ApplicationInterface

2018-03-07 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/AIRAVATA-2657?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16390691#comment-16390691
 ] 

ASF GitHub Bot commented on AIRAVATA-2657:
--

tilaks26 commented on a change in pull request #167: [AIRAVATA-2657] 
Refactoring App Catalog Implementation - ApplicationDeployment and 
ApplicationInterface Modules
URL: https://github.com/apache/airavata/pull/167#discussion_r173056716
 
 

 ##
 File path: 
modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/ExperimentRepositoryTest.java
 ##
 @@ -76,80 +76,80 @@ public void experimentRepositoryTest() {
/*
  * Creating Gateway required for UserProfile & Project creation
 */
-Gateway gateway = new Gateway();
-gateway.setGatewayApprovalStatus(GatewayApprovalStatus.ACTIVE);
-gateway.setGatewayId(gatewayId);
-gateway.setDomain(GATEWAY_DOMAIN);
-gateway = gatewayRepository.create(gateway);
-Assert.assertTrue(!gateway.getGatewayId().isEmpty());
+//Gateway gateway = new Gateway();
 
 Review comment:
   Right now, we've only been working on the application catalog. We haven't 
verified or modified the experiment catalog entities and repositories. So, the 
test cases were failing.


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Refactoring App Catalog implementation - ApplicationDeployment and 
> ApplicationInterface
> ---
>
> Key: AIRAVATA-2657
> URL: https://issues.apache.org/jira/browse/AIRAVATA-2657
> Project: Airavata
>  Issue Type: Task
>  Components: Application Catalog
>Reporter: Sneha Tilak
>Assignee: Sneha Tilak
>Priority: Major
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (AIRAVATA-2657) Refactoring App Catalog implementation - ApplicationDeployment and ApplicationInterface

2018-03-07 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/AIRAVATA-2657?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16390635#comment-16390635
 ] 

ASF GitHub Bot commented on AIRAVATA-2657:
--

machristie commented on a change in pull request #167: [AIRAVATA-2657] 
Refactoring App Catalog Implementation - ApplicationDeployment and 
ApplicationInterface Modules
URL: https://github.com/apache/airavata/pull/167#discussion_r173050297
 
 

 ##
 File path: 
modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/ReplicaCatalogRepositoryTest.java
 ##
 @@ -61,70 +61,70 @@ public void setupRepository()   {
 @Test
 public void dataProductRepositoryTest() {
 
-DataProductRepository dataProductRepository = new 
DataProductRepository(DataProductModel.class, DataProductEntity.class);
+//DataProductRepository dataProductRepository = new 
DataProductRepository(DataProductModel.class, DataProductEntity.class);
 
 /*
  * Creating Gateway required for UserProfile & Project creation
 */
-Gateway gateway = new Gateway();
-gateway.setGatewayApprovalStatus(GatewayApprovalStatus.ACTIVE);
-gateway.setGatewayId(gatewayId);
-gateway.setDomain(GATEWAY_DOMAIN);
-gateway = gatewayRepository.create(gateway);
-Assert.assertTrue(!gateway.getGatewayId().isEmpty());
+//Gateway gateway = new Gateway();
 
 Review comment:
   Why are these all commented out?


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Refactoring App Catalog implementation - ApplicationDeployment and 
> ApplicationInterface
> ---
>
> Key: AIRAVATA-2657
> URL: https://issues.apache.org/jira/browse/AIRAVATA-2657
> Project: Airavata
>  Issue Type: Task
>  Components: Application Catalog
>Reporter: Sneha Tilak
>Assignee: Sneha Tilak
>Priority: Major
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (AIRAVATA-2657) Refactoring App Catalog implementation - ApplicationDeployment and ApplicationInterface

2018-03-07 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/AIRAVATA-2657?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16390638#comment-16390638
 ] 

ASF GitHub Bot commented on AIRAVATA-2657:
--

machristie commented on a change in pull request #167: [AIRAVATA-2657] 
Refactoring App Catalog Implementation - ApplicationDeployment and 
ApplicationInterface Modules
URL: https://github.com/apache/airavata/pull/167#discussion_r173050021
 
 

 ##
 File path: 
modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/repositories/appcatalog/ApplicationInterfaceRepository.java
 ##
 @@ -0,0 +1,256 @@
+/**
+ *
+ * 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.registry.core.repositories.appcatalog;
+
+import org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule;
+import 
org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription;
+import 
org.apache.airavata.model.appcatalog.appinterface.application_interface_modelConstants;
+import org.apache.airavata.model.application.io.InputDataObjectType;
+import org.apache.airavata.model.application.io.OutputDataObjectType;
+import org.apache.airavata.registry.core.utils.*;
+import org.apache.airavata.registry.cpi.AppCatalogException;
+import org.apache.airavata.registry.cpi.ApplicationInterface;
+import org.apache.airavata.registry.core.entities.appcatalog.*;
+import org.dozer.Mapper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.sql.Timestamp;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class ApplicationInterfaceRepository extends 
AppCatAbstractRepository implements ApplicationInterface {
+private final static Logger logger = 
LoggerFactory.getLogger(ApplicationInterfaceRepository.class);
+
+public ApplicationInterfaceRepository () {
+super(ApplicationInterfaceDescription.class, 
ApplicationInterfaceEntity.class);
+}
+
+protected String saveApplicationInterfaceDescriptorData(
+ApplicationInterfaceDescription applicationInterfaceDescription, 
String gatewayId) throws AppCatalogException {
+ApplicationInterfaceEntity applicationInterfaceEntity = 
saveApplicationInterface(applicationInterfaceDescription, gatewayId);
+return applicationInterfaceEntity.getApplicationInterfaceId();
+}
+
+protected ApplicationInterfaceEntity saveApplicationInterface(
+ApplicationInterfaceDescription applicationInterfaceDescription, 
String gatewayId) throws AppCatalogException {
+String applicationInterfaceId = 
applicationInterfaceDescription.getApplicationInterfaceId();
+Mapper mapper = ObjectMapperSingleton.getInstance();
+ApplicationInterfaceEntity applicationInterfaceEntity = 
mapper.map(applicationInterfaceDescription, ApplicationInterfaceEntity.class);
+if (gatewayId != null)
+applicationInterfaceEntity.setGatewayId(gatewayId);
+if (applicationInterfaceEntity.getApplicationInputs() != null) {
+
applicationInterfaceEntity.getApplicationInputs().forEach(applicationInputEntity
 -> applicationInputEntity.setInterfaceId(applicationInterfaceId));
+}
+if (applicationInterfaceEntity.getApplicationOutputs() != null) {
+
applicationInterfaceEntity.getApplicationOutputs().forEach(applicationOutputEntity
 -> applicationOutputEntity.setInterfaceId(applicationInterfaceId));
+}
+if (!isApplicationInterfaceExists(applicationInterfaceId))
+applicationInterfaceEntity.setCreationTime(new 
Timestamp(System.currentTimeMillis()));
+applicationInterfaceEntity.setUpdateTime(new 
Timestamp(System.currentTimeMillis()));
+return execute(entityManager -> 
entityManager.merge(applicationInterfaceEntity));
+}
+
+protected String saveApplicationModuleData(
+ApplicationModule applicationModule, String gatewayId) throws 
AppCatalogException {
+ApplicationModuleEntity applicationModuleEntity = 
saveApplicationModule(applicationModule, gatewayId);
+return application

[jira] [Commented] (AIRAVATA-2657) Refactoring App Catalog implementation - ApplicationDeployment and ApplicationInterface

2018-03-07 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/AIRAVATA-2657?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16390639#comment-16390639
 ] 

ASF GitHub Bot commented on AIRAVATA-2657:
--

machristie commented on a change in pull request #167: [AIRAVATA-2657] 
Refactoring App Catalog Implementation - ApplicationDeployment and 
ApplicationInterface Modules
URL: https://github.com/apache/airavata/pull/167#discussion_r173049764
 
 

 ##
 File path: 
modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/repositories/appcatalog/ApplicationDeploymentRepository.java
 ##
 @@ -0,0 +1,160 @@
+/**
+ *
+ * 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.registry.core.repositories.appcatalog;
+
+import org.apache.airavata.model.appcatalog.appdeployment.*;
+import org.apache.airavata.registry.core.entities.appcatalog.*;
+import org.apache.airavata.registry.core.utils.DBConstants;
+import org.apache.airavata.registry.core.utils.ObjectMapperSingleton;
+import org.apache.airavata.registry.core.utils.QueryConstants;
+import org.apache.airavata.registry.cpi.AppCatalogException;
+import org.apache.airavata.registry.cpi.ApplicationDeployment;
+import org.dozer.Mapper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.sql.Timestamp;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class ApplicationDeploymentRepository extends 
AppCatAbstractRepository implements ApplicationDeployment {
+private final static Logger logger = 
LoggerFactory.getLogger(ApplicationDeploymentRepository.class);
+
+public ApplicationDeploymentRepository() {
+super(ApplicationDeploymentDescription.class, 
ApplicationDeploymentEntity.class);
+}
+
+protected String saveApplicationDeploymentDescriptorData(
+ApplicationDeploymentDescription applicationDeploymentDescription, 
String gatewayId) throws AppCatalogException {
+ApplicationDeploymentEntity applicationDeploymentEntity = 
saveApplicationDeployment(applicationDeploymentDescription, gatewayId);
+return applicationDeploymentEntity.getAppDeploymentId();
+}
+
+protected ApplicationDeploymentEntity saveApplicationDeployment(
+ApplicationDeploymentDescription applicationDeploymentDescription, 
String gatewayId) throws AppCatalogException {
+String applicationDeploymentId = 
applicationDeploymentDescription.getAppDeploymentId();
+Mapper mapper = ObjectMapperSingleton.getInstance();
+ApplicationDeploymentEntity applicationDeploymentEntity = 
mapper.map(applicationDeploymentDescription, ApplicationDeploymentEntity.class);
+if (gatewayId != null)
+applicationDeploymentEntity.setGatewayId(gatewayId);
+if (applicationDeploymentEntity.getModuleLoadCmds() != null) {
+
applicationDeploymentEntity.getModuleLoadCmds().forEach(moduleLoadCmdEntity -> 
moduleLoadCmdEntity.setAppdeploymentId(applicationDeploymentId));
+}
+if (applicationDeploymentEntity.getPreJobCommands() != null) {
+
applicationDeploymentEntity.getPreJobCommands().forEach(prejobCommandEntity -> 
prejobCommandEntity.setAppdeploymentId(applicationDeploymentId));
+}
+if (applicationDeploymentEntity.getPostJobCommands() != null) {
+
applicationDeploymentEntity.getPostJobCommands().forEach(postjobCommandEntity 
-> postjobCommandEntity.setAppdeploymentId(applicationDeploymentId));
+}
+if (applicationDeploymentEntity.getLibPrependPaths() != null) {
+
applicationDeploymentEntity.getLibPrependPaths().forEach(libraryPrependPathEntity
 -> libraryPrependPathEntity.setDeploymentId(applicationDeploymentId));
+}
+if (applicationDeploymentEntity.getLibAppendPaths() != null) {
+
applicationDeploymentEntity.getLibAppendPaths().forEach(libraryApendPathEntity 
-> libraryApendPathEntity.setDeploymentId(applicationDeploymentId));
+}
+if (applicationDeploymentEntity.getSetEnvironment() != null) {
+
applicationDeploymentEnt

[jira] [Commented] (AIRAVATA-2657) Refactoring App Catalog implementation - ApplicationDeployment and ApplicationInterface

2018-03-07 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/AIRAVATA-2657?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16390637#comment-16390637
 ] 

ASF GitHub Bot commented on AIRAVATA-2657:
--

machristie commented on a change in pull request #167: [AIRAVATA-2657] 
Refactoring App Catalog Implementation - ApplicationDeployment and 
ApplicationInterface Modules
URL: https://github.com/apache/airavata/pull/167#discussion_r173048843
 
 

 ##
 File path: 
modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ApplicationOutputEntity.java
 ##
 @@ -20,123 +20,140 @@
 */
 package org.apache.airavata.registry.core.entities.appcatalog;
 
-import javax.persistence.Column;
-import javax.persistence.EmbeddedId;
-import javax.persistence.Entity;
-import javax.persistence.Table;
+import javax.persistence.*;
 import java.io.Serializable;
 
 /**
  * The persistent class for the application_output database table.
  */
 @Entity
-@Table(name = "application_output")
+@Table(name = "APPLICATION_OUTPUT")
+@IdClass(ApplicationOutputPK.class)
 public class ApplicationOutputEntity implements Serializable {
 private static final long serialVersionUID = 1L;
 
-@EmbeddedId
-private ApplicationOutputPK id;
+@Id
+@Column(name="INTERFACE_ID")
+private String interfaceId;
+
+@Id
+@Column(name="OUTPUT_KEY")
+private String name;
 
 @Column(name = "APP_ARGUMENT")
-private String appArgument;
+private String applicationArgument;
 
 @Column(name = "DATA_MOVEMENT")
-private short dataMovement;
+private boolean dataMovement;
 
 @Column(name = "DATA_NAME_LOCATION")
-private String dataNameLocation;
+private String location;
 
 @Column(name = "DATA_TYPE")
-private String dataType;
+private String type;
 
 @Column(name = "IS_REQUIRED")
-private short isRequired;
+private boolean isRequired;
 
 @Column(name = "OUTPUT_STREAMING")
-private short outputStreaming;
+private boolean outputStreaming;
 
 @Column(name = "OUTPUT_VALUE")
-private String outputValue;
+private String value;
 
 @Column(name = "REQUIRED_TO_COMMANDLINE")
-private short requiredToCommandline;
+private boolean requiredToAddedToCommandLine;
 
 @Column(name = "SEARCH_QUERY")
 private String searchQuery;
 
+private String storageResourceId;
 
 Review comment:
   Is there a reason this field doesn't have a `@Column` annotation?


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Refactoring App Catalog implementation - ApplicationDeployment and 
> ApplicationInterface
> ---
>
> Key: AIRAVATA-2657
> URL: https://issues.apache.org/jira/browse/AIRAVATA-2657
> Project: Airavata
>  Issue Type: Task
>  Components: Application Catalog
>Reporter: Sneha Tilak
>Assignee: Sneha Tilak
>Priority: Major
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (AIRAVATA-2662) One-Time Migration to Create the "everyone" Group for all Domains

2018-03-07 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/AIRAVATA-2662?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16390641#comment-16390641
 ] 

ASF GitHub Bot commented on AIRAVATA-2662:
--

smarru commented on a change in pull request #168: [AIRAVATA-2662] Adding 
Migrator class to create everyone group in all domains
URL: https://github.com/apache/airavata/pull/168#discussion_r173050542
 
 

 ##
 File path: modules/sharing-registry/sharing-data-migrator/pom.xml
 ##
 @@ -94,5 +94,10 @@
 slf4j-api
 1.7.12
 
+
 
 Review comment:
   from the licensing point of view, we can have a dependency in the pom but we 
need to make it a point to exclude it in distribution. So in short, we can 
re-ship any GPL products but can depend upon them -- so have instructions for 
users to fetch them outside our distribution. 


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> One-Time Migration to Create the "everyone" Group for all Domains
> -
>
> Key: AIRAVATA-2662
> URL: https://issues.apache.org/jira/browse/AIRAVATA-2662
> Project: Airavata
>  Issue Type: Improvement
>Reporter: Sneha Tilak
>Assignee: Sneha Tilak
>Priority: Major
>
> One-time migration to create and populate the “everyone” group for all 
> existing domains and share all the existing application deployments with the 
> group.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (AIRAVATA-2657) Refactoring App Catalog implementation - ApplicationDeployment and ApplicationInterface

2018-03-07 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/AIRAVATA-2657?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16390636#comment-16390636
 ] 

ASF GitHub Bot commented on AIRAVATA-2657:
--

machristie commented on a change in pull request #167: [AIRAVATA-2657] 
Refactoring App Catalog Implementation - ApplicationDeployment and 
ApplicationInterface Modules
URL: https://github.com/apache/airavata/pull/167#discussion_r173050259
 
 

 ##
 File path: 
modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/ExperimentRepositoryTest.java
 ##
 @@ -76,80 +76,80 @@ public void experimentRepositoryTest() {
/*
  * Creating Gateway required for UserProfile & Project creation
 */
-Gateway gateway = new Gateway();
-gateway.setGatewayApprovalStatus(GatewayApprovalStatus.ACTIVE);
-gateway.setGatewayId(gatewayId);
-gateway.setDomain(GATEWAY_DOMAIN);
-gateway = gatewayRepository.create(gateway);
-Assert.assertTrue(!gateway.getGatewayId().isEmpty());
+//Gateway gateway = new Gateway();
 
 Review comment:
   Why are these commented out?


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Refactoring App Catalog implementation - ApplicationDeployment and 
> ApplicationInterface
> ---
>
> Key: AIRAVATA-2657
> URL: https://issues.apache.org/jira/browse/AIRAVATA-2657
> Project: Airavata
>  Issue Type: Task
>  Components: Application Catalog
>Reporter: Sneha Tilak
>Assignee: Sneha Tilak
>Priority: Major
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (AIRAVATA-2662) One-Time Migration to Create the "everyone" Group for all Domains

2018-03-07 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/AIRAVATA-2662?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16390629#comment-16390629
 ] 

ASF GitHub Bot commented on AIRAVATA-2662:
--

tilaks26 commented on a change in pull request #168: [AIRAVATA-2662] Adding 
Migrator class to create everyone group in all domains
URL: https://github.com/apache/airavata/pull/168#discussion_r173049366
 
 

 ##
 File path: modules/sharing-registry/sharing-data-migrator/pom.xml
 ##
 @@ -94,5 +94,10 @@
 slf4j-api
 1.7.12
 
+
 
 Review comment:
   @machristie I think this dependency is needed only when we run the migrator 
class on the Maria DB as mentioned in 
[AIRAVATA-2704](https://issues.apache.org/jira/browse/AIRAVATA-2704).


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> One-Time Migration to Create the "everyone" Group for all Domains
> -
>
> Key: AIRAVATA-2662
> URL: https://issues.apache.org/jira/browse/AIRAVATA-2662
> Project: Airavata
>  Issue Type: Improvement
>Reporter: Sneha Tilak
>Assignee: Sneha Tilak
>Priority: Major
>
> One-time migration to create and populate the “everyone” group for all 
> existing domains and share all the existing application deployments with the 
> group.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (AIRAVATA-2662) One-Time Migration to Create the "everyone" Group for all Domains

2018-03-07 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/AIRAVATA-2662?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16390605#comment-16390605
 ] 

ASF GitHub Bot commented on AIRAVATA-2662:
--

machristie commented on a change in pull request #168: [AIRAVATA-2662] Adding 
Migrator class to create everyone group in all domains
URL: https://github.com/apache/airavata/pull/168#discussion_r173046448
 
 

 ##
 File path: modules/sharing-registry/sharing-data-migrator/pom.xml
 ##
 @@ -94,5 +94,10 @@
 slf4j-api
 1.7.12
 
+
 
 Review comment:
   From a licensing point of view, I don't think we can include the mariadb 
jdbc client since it is GPL. @smarru is that correct?


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> One-Time Migration to Create the "everyone" Group for all Domains
> -
>
> Key: AIRAVATA-2662
> URL: https://issues.apache.org/jira/browse/AIRAVATA-2662
> Project: Airavata
>  Issue Type: Improvement
>Reporter: Sneha Tilak
>Assignee: Sneha Tilak
>Priority: Major
>
> One-time migration to create and populate the “everyone” group for all 
> existing domains and share all the existing application deployments with the 
> group.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (AIRAVATA-2712) Refactoring App Catalog Implementation - User Resource Profile

2018-03-07 Thread Sneha Tilak (JIRA)
Sneha Tilak created AIRAVATA-2712:
-

 Summary: Refactoring App Catalog Implementation - User Resource 
Profile
 Key: AIRAVATA-2712
 URL: https://issues.apache.org/jira/browse/AIRAVATA-2712
 Project: Airavata
  Issue Type: Improvement
  Components: Registry API
Reporter: Sneha Tilak
Assignee: Sneha Tilak






--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (AIRAVATA-2711) Groups UI: edit list of admins if owner

2018-03-07 Thread Stephen Paul Adithela (JIRA)

[ 
https://issues.apache.org/jira/browse/AIRAVATA-2711?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16390052#comment-16390052
 ] 

Stephen Paul Adithela commented on AIRAVATA-2711:
-

[~marcuschristie] Sure thing.

> Groups UI: edit list of admins if owner
> ---
>
> Key: AIRAVATA-2711
> URL: https://issues.apache.org/jira/browse/AIRAVATA-2711
> Project: Airavata
>  Issue Type: Bug
>Reporter: Marcus Christie
>Priority: Major
>
> Allow owners to add and remove other users as "admins" of a group. Group 
> admins are allowed to edit the group (edit the name, description and list of 
> members).
> We can reuse some of the UI used for members but we'll want to also make it 
> distinctive enough.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)