You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@airavata.apache.org by Lahiru Gunathilake <gl...@gmail.com> on 2012/12/07 17:59:29 UTC

So many methods in ProvenanceManager which confuses the user

I was looking in to AiravataAPI.provenacneManager and I think its too much
of methods and objects which will simply confuse the users.

To get a simple input output of a workflow run we have following methods.


ExperimentData getExperimentData(String experimentId)
List<ExperimentData> getExperimentData(String user, int pageSize,
int pageNo)
List<ExperimentData> getExperimentDataList(String user)
List<ExperimentData> getExperimentDataList()

List<ExperimentData> getAllExperimentMetaInformation(String user)

ExperimentData getExperimentMetaInformation(String experimentId)

All the above methods returns the same object ExperimentData, Then we have
whole bunch of get methods to get the same objects like this,

ExperimentData getWorkflowExperimentData(String experimentId)
List<ExperimentData> getWorkflowExperimentData(String user,
int pageSize, int pageNo)
List<ExperimentData> getWorkflowExperimentDataList(String user)
List<ExperimentData> getWorkflowExperimentDataList()

And we have another set of getters to get WorkflowInstance objects like
this.

WorkflowInstanceData getWorkflowInstanceData(String experimentId,
String workflowInstanceId)
WorkflowInstanceData getWorkflowInstanceData(WorkflowInstance
workflowInstance)


I think this is too confusing for user, we should remove one of these two
sets of methods and keep one...

Lahiru



-- 
System Analyst Programmer
PTI Lab
Indiana University

Re: So many methods in ProvenanceManager which confuses the user

Posted by Saminda Wijeratne <sa...@gmail.com>.
Indeed this is very confusing... we had these many methods in order to
cater different needs of a user & for performance. There is mainly 2
categories of provenance data functions here.

   1. List experiment structure data (to retrieve experiment Id's, meta
   information, workflow instances they ran etc)
   2. List experiment data (to retrieve input/output results of experiments)

Then we have functions to retreive fine-tuned data. i.e. retrieve only the
data we want in order avoid querying the db too much.

We should REALLY REALLY have a review on the API :)

Saminda

On Fri, Dec 7, 2012 at 11:59 AM, Lahiru Gunathilake <gl...@gmail.com>wrote:

> I was looking in to AiravataAPI.provenacneManager and I think its too much
> of methods and objects which will simply confuse the users.
>
> To get a simple input output of a workflow run we have following methods.
>
>
> ExperimentData getExperimentData(String experimentId)
> List<ExperimentData> getExperimentData(String user, int pageSize,
> int pageNo)
> List<ExperimentData> getExperimentDataList(String user)
> List<ExperimentData> getExperimentDataList()
>
> List<ExperimentData> getAllExperimentMetaInformation(String user)
>
> ExperimentData getExperimentMetaInformation(String experimentId)
>
> All the above methods returns the same object ExperimentData, Then we have
> whole bunch of get methods to get the same objects like this,
>
> ExperimentData getWorkflowExperimentData(String experimentId)
> List<ExperimentData> getWorkflowExperimentData(String user,
> int pageSize, int pageNo)
> List<ExperimentData> getWorkflowExperimentDataList(String user)
> List<ExperimentData> getWorkflowExperimentDataList()
>
> And we have another set of getters to get WorkflowInstance objects like
> this.
>
> WorkflowInstanceData getWorkflowInstanceData(String experimentId,
> String workflowInstanceId)
> WorkflowInstanceData getWorkflowInstanceData(WorkflowInstance
> workflowInstance)
>
>
> I think this is too confusing for user, we should remove one of these two
> sets of methods and keep one...
>
> Lahiru
>
>
>
> --
> System Analyst Programmer
> PTI Lab
> Indiana University
>