jalview

Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
make AlignFrame the parent of FeatureEditor dialog, and have parent Component request focus after...
make AlignFrame the parent of FeatureEditor dialog, and have parent Component request focus after...
JAL-3975 forced re-focus to alignframe after Create Sequence Feature dialog.
JAL-3975 forced re-focus to alignframe after Create Sequence Feature dialog.
Looks good. I've bumped the version to 1.8.3-1.2.12 and recompiled jars.

Looks good. I've bumped the version to 1.8.3-1.2.12 and recompiled jars.

JAL-3691 patch toUpper/toLower to use Locale.ROOT for 2.11.2 src
JAL-3691 patch toUpper/toLower to use Locale.ROOT for 2.11.2 src
That looks good. I was almost going to do something similar (I was thinking jalview.log.Log, but jalview.bin.Console is just as good) so happy with this!

That looks good. I was almost going to do something similar (I was thinking jalview.log.Log, but jalview.bin.Console is just as good) so happy with this!

Added those in. I'm still converting to String with getCanonicalName in the getLogger(Class ...) method because, e.g. JLogger jlogger1 = JLogger.getLogger(Jalview.class); JLogger jlogger2 = JLogger...

Added those in. I'm still converting to String with getCanonicalName in the getLogger(Class ...) method because, e.g.
JLogger jlogger1 = JLogger.getLogger(Jalview.class);
JLogger jlogger2 = JLogger.getLogger("jalview.bin.Jalview");
should really return an existing logger in the registry if it exists, and the String name is the registry key.

I was thinking that JLogger did this comparison anyway, but I've followed it through and it didn't. So I've added if (loglevel.compareTo(this.level) < 0) { return false; } to JLogger.println so t...

I was thinking that JLogger did this comparison anyway, but I've followed it through and it didn't. So I've added

if (loglevel.compareTo(this.level) < 0) { return false; }

to JLogger.println so that a comparison is made between the (enums) of JLogger.level and the message LogLevel, and if it's not going to be logged then it doesn't call the actual logger at all (in this case Log4j, so the log4j object is never even touched [even with logger.isDebugEnabled() because the answer should be no]).
This now applies to all log calls.
The check whether Cache.log != null is equivalent to Cache.log.loggerExists() which already happens within JLoggerLog4j.
There is admittedly the wrapper of the JLogger getting brought to forefront of memory, but that's presumably smaller than the old Cache.log which was a Log4j.Logger object.

AWESOME JOB !!!! one tiny niggle I had was that Cache.debug/Cache.error doesn't read nicely, so I've abstracted the logging stuff even farther to a new jalview.bin.Console class: see https://source...

AWESOME JOB !!!! one tiny niggle I had was that Cache.debug/Cache.error doesn't read nicely, so I've abstracted the logging stuff even farther to a new jalview.bin.Console class: see https://source.jalview.org/crucible/changelog/~br=update%402fJAL-3949_jalview_bin_Console_to_cure_sanity_even_more/jalview/

the reason for conditionals is that Java won't perform the string append operation if logLevel>debug. It saves a minor amount of processing time which is important for code that is executed lots.

the reason for conditionals is that Java won't perform the string append operation if logLevel>debug. It saves a minor amount of processing time which is important for code that is executed lots.

You could have .getLogger(Class ..) rather than having to call getCanonicalName ?

You could have .getLogger(Class ..) rather than having to call getCanonicalName ?

JAL-3949 An attempt at converting to Log4j 2 -- no output achieved!
JAL-3949 An attempt at converting to Log4j 2 -- no output achieved!
JAL-3553: Create working getdown appbase and jvl file(s) for each old version of Jalview
JAL-3553: Create working getdown appbase and jvl file(s) for each old version of Jalview
I'm abandoning this review for now (see my comments on the issue). For what its worth since this is a string literal you should at least follow convention JALVIEW_LOGGER rather than a generic 'LOGG...

I'm abandoning this review for now (see my comments on the issue). For what its worth since this is a string literal you should at least follow convention JALVIEW_LOGGER rather than a generic 'LOGGER_NAME'. The code for routing logged content from other loggers should probably be a method on Cache... or even better, separate all this out into the jalview.util.Log4j class so Cache doesn't get polluted with log configuration cruft.

At the moment it is only used in jalview.bin.Cache, but it is used in separate places where appenders are added. Previous to this it was relying on the String name of the appender being correctly u...

At the moment it is only used in jalview.bin.Cache, but it is used in separate places where appenders are added. Previous to this it was relying on the String name of the appender being correctly used. However the Strings that were being used were not the same so it was broken (I don't know how that manifested itself, but it definitely would not have worked the way it used to!).
Feasibly a separate logger made in the future (e.g. API logger?) will want to add this Appender and will likely not be made in jalview.bin.Cache, so putting a constant String somewhere generically connected with Log4j seemed sensible. Correct it needs documenting!

Does this really need to be a string constant ? (I'm not convinced) needs documenting as the log4j internal name for the log if it really needs to be external.

Does this really need to be a string constant ? (I'm not convinced) needs documenting as the log4j internal name for the log if it really needs to be external.

JAL-3949 An attempt at converting to Log4j 2 -- no output achieved!
JAL-3949 An attempt at converting to Log4j 2 -- no output achieved!
JAL-3763 (for whatever reason) need to increase timeout for command line ops to 10.5s (OSX Monterey, MBP late 2018)

    • -1
    • +1
    /test/jalview/bin/CommandLineOperations.java
Merge branch 'task/JAL-3763_newDatasetForCds' into merge/develop_task/JAL-3763_newDatasetForCds

Conflicts:

src/jalview/analysis/AlignmentUtils.java

src/jalview/util/MapList.java

test/jalview/util/MapListTest.java

test/jalview/util/MappingUtilsTest.java

    • -55
    • +41
    /src/jalview/analysis/AlignmentUtils.java
    • -2
    • +4
    /src/jalview/datamodel/SearchResults.java
    • -53
    • +53
    /src/jalview/util/MappingUtils.java
    • -2
    • +114
    /test/jalview/util/MappingUtilsTest.java
JAL-3940 update 2.11.2 release notes for 2.11.1.7 patch release (again)

I know the problems you had with close() - you mentioned in the comments on the issue. However, you might have noticed that FileParse.close() is not called from many places, so changing its behavio...

I know the problems you had with close() - you mentioned in the comments on the issue. However, you might have noticed that FileParse.close() is not called from many places, so changing its behaviour wouldn't have too many side effects.

The intended pattern for FileParse.close() was:

ParserThing pt;
try {
pt = new <? assignable to FileParse>(data spec..)
.. do whatever needed to trigger parsing
.. then check pt's error/warning status and report any problems.
} catch (IOException ..) {
.. handle read or parse errors 
}
finally {
if (pt!=null) {
pt.close();
} // catch and report any IOErrors if desired
}
I tried this first, but FileParse.close() deliberately leaves the FileParse in an error state, which caused problems later (I don't remember the specifics). I could not work out why the FileParse.c...

I tried this first, but FileParse.close() deliberately leaves the FileParse in an error state, which caused problems later (I don't remember the specifics). I could not work out why the FileParse.close() was designed to do this but suspect changing this methos so it's (in general) not left in an error state will cause bigger problems. Also, since Jalview is used to having dataIn for the lifetime of the alignment, I wasn't sure if nulling the object would cause unforeseen errors (in e.g. filename etc).

Maybe it would be best to overload FileParse.close() to pass in an error value/message, then it would essentially be calling FileParse.closeDataIn() instead of FileParse.dataIn.close()

Agree with the finally {} – forgot that (not been a java programmer for quite long enough!). Presumably that should go in FileParse and not AlignFile too.

JAL-3940 update 2.11.2 release notes for 2.11.1.7 patch release

JAL-3746 possible release date 1st Feb 2022