[ERROR] Errors in
'biojava3/core/sequence/location/template/AbstractLocation.java'
[ERROR] Line
308: The method
isAssignableFrom(Class<capture#1-of ? extends Compound>)
is undefined for
the type Class<ComplementCompound>
Hi guys,
today we fixed nearly all of the compiling errors. But it seems, theres one thing we can't get rid of so easily.
This is the error message from the gwt-compiler:
[ERROR] Errors in 'biojava3/core/sequence/location/template/AbstractLocation.java'[ERROR] Line 308: The method isAssignableFrom(Class<capture#1-of ? extends Compound>) is undefined for the type Class<ComplementCompound>
Here is the corresponding method:
(AbstractionLocation.java @ line 308)
protected <C extends Compound> boolean canComplement(Sequence<C> sequence) {
CompoundSet<C> compoundSet = sequence.getCompoundSet();
Compound c = compoundSet.getAllCompounds().iterator().next();
return ComplementCompound.class.isAssignableFrom(c.getClass());
}
We are talking about "AbstractLocation" in "package org.jscc.app.client.biojava3.core.sequence.location.template".
It occurs, because "isAssignableFrom()" is not included in the GWT JRE emulation. It's pretty simple: Only classes included in the GWT Emulation package can be used. Unfortunately "isAssignableFrom()" from "Class" is not part of that. On other occurrences of this function we were able to just comment it out (because no other function seemed to be dependent on the edited method).
For now, we implemented a little workaround: Simple return "true" by another method. BUT, this method is used by "reverseSequence". So, we really need the "canComplement" check. Since we are not able to use "isAssignable", we need to write our own method doing the job for us.
Question for Andreas: What checks do we need to implement to replace the "isAssignable" function? Hopefully we only need to check for some specific attributes, so that the replacement is possible.
In the meantime we start with some testing of Needleman-Wunsch on client computers. Therefore we include NW into our own GWT frontend. Compare a couple of sequences and try to distribute the whole thing locally, among our home computers.
Those are our first steps. We hope it's okay with everyone else. If there are comments on how to proceed differently or any questions, let us know...
Thank you.
Marcus, Nico