jalview

Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Update annotation operation WIP

JAL-3878 Add dataset and viewport arguments to ResultSupplier.

    • -4
    • +22
    /src/jalview/ws2/slivka/SlivkaWebService.java
SequencesInfo which is an individual object is doable, but I feel like it would be just a wrapper around a Map. What additional functionality would SequencesInfo have over a traditional Map? I'm n...

SequencesInfo which is an individual object is doable, but I feel like it would be just a wrapper around a Map. What additional functionality would SequencesInfo have over a traditional Map?

I'm not very familiar with serialization in java, I know there are libraries that can serialize beans to json or xml, but what are your expectations in this case?

one class with a static factory method seems to be better than two classes and an external mutable object.

one class with a static factory method seems to be better than two classes and an external mutable object.

What's wrong with static classes? They are just like regular classes but within other class' namespace. That's non-static inner classes that are special. About factory pattern, I think it would be ...

What's wrong with static classes? They are just like regular classes but within other class' namespace. That's non-static inner classes that are special.
About factory pattern, I think it would be an overkill for a class that is only used by SeqsetUtils' methods.

yes, I see that, but do you really need a nested static class ? in line with my general comments re encapsulating the Map<String,SequenceInfo> further: perhaps it might make sense to simply apply a...

yes, I see that, but do you really need a nested static class ? in line with my general comments re encapsulating the Map<String,SequenceInfo> further: perhaps it might make sense to simply apply a factory pattern rather than have an internal bean that a generic map holds references to ?

(lets not get stuck on this though, the main thing is that the implementation works fine for now, though needs more work in order to save/restore sequenceInfo objects from Jalview project files)

Because it's instantiated in a static context e.g. uniquify and it does not need an instance of SeqsetUtils object to work.

Because it's instantiated in a static context e.g. uniquify and it does not need an instance of SeqsetUtils object to work.

we won't see this messages unless asserts are enabled. Cache.log.warn is perhaps better ?

we won't see this messages unless asserts are enabled. Cache.log.warn is perhaps better ?

it's a reasonable first pass, though stylistically all you've done is transformed a single concrete instance (Hashtable) to a more strongly typed verbose instance (Map<String,SequenceInfo>). Why no...

it's a reasonable first pass, though stylistically all you've done is transformed a single concrete instance (Hashtable) to a more strongly typed verbose instance (Map<String,SequenceInfo>). Why not go further and have a SequencesInfo object that records metadata for one or more sequences ?

There are also other requirements: SequenceInfo sets will need to be persisted for a web services job. You could expand JAL-3899 to incorporate this perhaps - JAL-1786 is the relevant epic for that.

why does this class need to be static ?

why does this class need to be static ?

this should probably be Cache.log.warn(..)

this should probably be Cache.log.warn(..)

JAL-3899 Refactor sequence de/uniquification.
JAL-3899 Refactor sequence de/uniquification.
JAL-3878 Annotation operation skeleton.

    • -0
    • +261
    /src/jalview/ws2/operations/AnnotationOperation.java
    • -0
    • +30
    /src/jalview/ws2/slivka/SlivkaWebService.java
JAL-3878 Fix workers done condition to account for broken jobs.

    • -2
    • +3
    /src/jalview/ws2/WebServiceExecutor.java
    • -1
    • +1
    /src/jalview/ws2/WebServiceWorkerI.java
JAL-3878 Skip getting results of failed jobs.

JAL-3878 Add job log messages reporting.

    • -0
    • +17
    /src/jalview/ws2/slivka/SlivkaWebService.java
JAL-3878 Fix null pointer exception when preparing empty sequences for job.

JAL-3878 Fetch sequences for alignment on menu action, not creation.

JAL-3878 Split web services menu entries by programs and hosts.

    • -0
    • +2
    /src/jalview/ws2/operations/Operation.java
This is waiting for us to define the "language" of edam classifiers that we are going to support. Currently we only define services by what operation they perform but there is plenty of room for fi...

This is waiting for us to define the "language" of edam classifiers that we are going to support. Currently we only define services by what operation they perform but there is plenty of room for fine grained tuning of operations based on other classifiers.

Yes, there are pieces of code that can be reused across multiple if not all other workers. I suppose we can either add component classes that can be used by the workers that need them or we can cre...

Yes, there are pieces of code that can be reused across multiple if not all other workers. I suppose we can either add component classes that can be used by the workers that need them or we can create an abstract base class for all workers with implementations of common methods. The purpose of operation class is to provide metadata and create a worker, so the operation should stay as it is, but the worker needs to be tidied up. I absolutely agree that currently it is too bloated and should be split into smaller pieces but for now I wanted something that just works.
Regarding tuning, the whole point is that now the service is made of operations instead of extending one, so we can create new operations or add extra parameters to the existing operation classes that would alter worker behaviour without touching other parts of the code.

JAL-3878 Add isInteractive() method to Operation interface.

    • -0
    • +2
    /src/jalview/ws2/operations/Operation.java
JAL-3878 Add getName() to Operation interface.

    • -0
    • +2
    /src/jalview/ws2/operations/Operation.java
after taking a look at the rest I can see that the next step is to split this class up further. There's plenty of code that will be used by many different operations - e.g. job state management - i...

after taking a look at the rest I can see that the next step is to split this class up further. There's plenty of code that will be used by many different operations - e.g. job state management - is that the plan ?

not really the recommended way - see e.g. https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/java/beans/PropertyChangeSupport.html *do you need to expose the generic binders ? what k...

not really the recommended way - see e.g. https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/java/beans/PropertyChangeSupport.html

  • do you need to expose the generic binders ? what kind of events need to be monitored ?
is utils really the right name ? suggest the classes are used in several different places

is utils really the right name ? suggest the classes are used in several different places

this is going to get much more complex. there are plenty of additional attributes - e.g. input type (dna, protein, rna) - none of them are currently being configured on the operation.

this is going to get much more complex. there are plenty of additional attributes - e.g. input type (dna, protein, rna) - none of them are currently being configured on the operation.

this class seems to contain a bunch of hard coded stuff taken from the original web services configuration code rather than provide a way for a web services provider to configure an instance of Ali...

this class seems to contain a bunch of hard coded stuff taken from the original web services configuration code rather than provide a way for a web services provider to configure an instance of AlignmentOperation tuned to the alignment service that the provider is offering.